hi
also ich habe auch einige ESP8266-01 im betrieb
die meisten laufen ebenfalls mit 5V einer davon sorgar mit 5,6V ( an ihm ist ein DHT22 angeschlossen )
allerdings habe ich einen der jede sek einen reed-kontakt abfragt diese hängt sich bei 5V regelmäsig auf auf 3,3v läuft er nun schon einige tage druch
ich habe bereits einen schalter mit ESP8266-01 auf "wlan" umgebaut und schalte damit ein Relay für die lampe kann das relay über einen kleinen TCP server schalten ober halt direkt mit dem schalter ( das ganze funktioniert als Wechselschaltung )
ich habe das glück das ich erst vor kurzem gebaut habe und habe in jeder schalter dose ein buskabel gelegt und auserdem alles Sternförmig verkabelt d.h. kabel von schalter in verteiler kabel von lampe auch in verteiler
so kann ich alles im verteiler einbauen
mit dem ESP8266 Frage ich alle 250ms den zustand vom schalter ab wenn dieser geschaltet wird schaltet ich über einen gpio das relay
im anhang mein lua skript
[code=php]---------------------------------------
function send_to_visu(api)
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end)
-- senden an shc
conn:connect(80,"192.168.0.15")
conn:send("GET ".. api.. " HTTP/1.1\r\n")
conn:send("Host: 192.168.0.15\r\n")
conn:send("Accept: */*\r\n")
conn:send("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n")
conn:send("\r\n")
conn:on("sent",function(conn)
conn:close()
end)
conn:on("disconnection", function(conn)
print("Got disconnection...")
end)
end
-----------------------------------------------
-- wlan verbinden
-----------------------------------------------
-- STA Modus
wifi.setmode(wifi.STATION)
-- SSID, Passwort
wifi.sta.config("ssid", "wlanpassword")
---------------------------------
gpio.mode(4,gpio.HIGH)
zustand = 10
gpio.write(4, gpio.HIGH)
gpio.write(3, gpio.LOW)
stop = 0
runterx = 0
hochx = 0
print("wait")
puls = 0
an = 0
ipshow = 0
tmr.alarm(0, 250, 1, function()
if wifi.sta.getip() == nil then
--print("wait\n")
elseif(ipshow == 0) then
print("SS Running v0.3")
print(wifi.sta.getip())
ipshow = 1
ss_port = 1337
sv=net.createServer(net.TCP, 30)
sv:listen(ss_port,function(c)
c:on("receive", function(c, pl)
print(pl)
if(pl == "GPIO3:AN") then
gpio.write(3,gpio.LOW)
elseif(pl == "GPIO3:AUS") then
gpio.write(3, gpio.HIGH)
elseif(pl == "GPIO3:STATUS") then
c:send(gpio.read(3))
end
-- end
end)
c:send("LichtServer\n")
end)
end
schalter = gpio.read(4)
licht = gpio.read(3)
print("schalter:" ..schalter.. " | gpio3:" ..licht.. " and an:" ..an.. "\n") -- " ..runter.. "
if(an == 0 and zustand1 ~= schalter) then
print("licht über schalter aus")
send_to_visu("/light.php?light=lisa1&zustand=0")
gpio.write(3,gpio.HIGH)
end
if(an == 1 and zustand2 ~= schalter) then
print("licht über schalter an")
send_to_visu("/light.php?light=lisa1&zustand=1")
gpio.write(3,gpio.LOW)
end
if(licht == 0) then
print("licht AN")
an = 0
zustand1 = schalter
end
if(licht == 1) then
print("licht AUS")
an = 1
zustand2 = schalter
end
end)
[/php]
mit einen kleinen php skript werte ich den zustand aus und sende ihn an SHC