Lampe on/off via Nodemcu
Publié : 30 mai 2016, 14:11
Bonjour,
J'ai mis en place chez moi une ampoule connecté à un relais 3,3 volts 220 volts avec un nodeMCU qui me permet simple d'allumer ou éteindre la lampe via mon téléphone, ma tablette ou mon pc connecté sur mon réseau wifi.
C'est simple et le code en dessous est en lua. Je verrais pour ajouter d'autres choses et imprimer en 3D une boîte plastique pour isoler tous les composants et surtout avoir une finition plus propre !
function conn ()
wifi.setmode(wifi.STATION)
wifi.sta.config("votre nom de votre réseau wifi","votre mot de passe wifi",1)
end
function wait_wifi ()
-- delay 100us
tmr.delay(2000)
print(wifi.sta.getip())
end
gpio.mode(1, gpio.OUTPUT)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
local buf = "";
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
if(method == nil)then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
end
local _GET = {}
if (vars ~= nil)then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
buf = buf.."<h1>Allumer ou éteindre <br>la lampe en pin D1.</h1><form src=\"/\">Gérer PIN1 <select name=\"pin\" onchange=\"form.submit()\">";
local _on,_off = "",""
if(_GET.pin == "ON")then
_on = " selected=true";
gpio.write(1, gpio.HIGH);
elseif(_GET.pin == "OFF")then
_off = " selected=\"true\"";
gpio.write(1, gpio.LOW);
end
buf = buf.."<option".._on..">ON</opton><option".._off..">OFF</option></select></form>";
client:send(buf);
client:close();
collectgarbage();
end)
end)
J'ai mis en place chez moi une ampoule connecté à un relais 3,3 volts 220 volts avec un nodeMCU qui me permet simple d'allumer ou éteindre la lampe via mon téléphone, ma tablette ou mon pc connecté sur mon réseau wifi.
C'est simple et le code en dessous est en lua. Je verrais pour ajouter d'autres choses et imprimer en 3D une boîte plastique pour isoler tous les composants et surtout avoir une finition plus propre !
function conn ()
wifi.setmode(wifi.STATION)
wifi.sta.config("votre nom de votre réseau wifi","votre mot de passe wifi",1)
end
function wait_wifi ()
-- delay 100us
tmr.delay(2000)
print(wifi.sta.getip())
end
gpio.mode(1, gpio.OUTPUT)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
local buf = "";
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
if(method == nil)then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
end
local _GET = {}
if (vars ~= nil)then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
buf = buf.."<h1>Allumer ou éteindre <br>la lampe en pin D1.</h1><form src=\"/\">Gérer PIN1 <select name=\"pin\" onchange=\"form.submit()\">";
local _on,_off = "",""
if(_GET.pin == "ON")then
_on = " selected=true";
gpio.write(1, gpio.HIGH);
elseif(_GET.pin == "OFF")then
_off = " selected=\"true\"";
gpio.write(1, gpio.LOW);
end
buf = buf.."<option".._on..">ON</opton><option".._off..">OFF</option></select></form>";
client:send(buf);
client:close();
collectgarbage();
end)
end)