Ollo (Diskussion | Beiträge) (Auf den neuen Flasher umgebaut.) |
Ollo (Diskussion | Beiträge) (→Software: Updated) |
||
Zeile 8: | Zeile 8: | ||
Mit folgendem [[ESP8266/Programmer]] kann die folgende Initialisierungsdatei '''beamer_init.lua''' geschrieben werden: | Mit folgendem [[ESP8266/Programmer]] kann die folgende Initialisierungsdatei '''beamer_init.lua''' geschrieben werden: | ||
<pre> | <pre> | ||
print("Booting... Beamer v0. | print("Booting... Beamer v0.81") | ||
wifi.setmode(wifi.STATION) | wifi.setmode(wifi.STATION) | ||
wifi.sta.config("WIFI","PASSWORD") | wifi.sta.config("WIFI","PASSWORD") | ||
Zeile 16: | Zeile 16: | ||
if global_c~=nil then | if global_c~=nil then | ||
global_c:send(str) | global_c:send(str) | ||
global_c:send("\n") | global_c:send("\\\n") | ||
end | end | ||
end | end | ||
Zeile 43: | Zeile 43: | ||
m = mqtt.Client("beamer", 120, "", "") | m = mqtt.Client("beamer", 120, "", "") | ||
function | function startMqttService(c) | ||
m:on("connect", function(con) | m:connect("10.23.XXX.XXX", 1883, 0, nil) | ||
m:on("offline", function(con) | |||
tmr.alarm(2, 2000, 0, function() | |||
m:subscribe("/room/beamer/#",0) | |||
end) | |||
end | |||
function configureMqttService(c) | |||
m:on("connect", function(con) | |||
netPrint ("MQTT connected") | |||
m:publish("/room/beamer/ip",wifi.sta.getip(),0,0, function(conn) netPrint("Sent IP") end) | |||
end) | |||
m:on("offline", function(con) | |||
netPrint ("MQTT offline") | |||
startMqttService() | |||
end) | |||
m:on("message", function(conn, topic, data) | m:on("message", function(conn, topic, data) | ||
Zeile 61: | Zeile 74: | ||
end | end | ||
end) | end) | ||
startMqttService() | |||
end | end | ||
Zeile 71: | Zeile 80: | ||
tmr.alarm(1, 1000, 1, function() | tmr.alarm(1, 1000, 1, function() | ||
if wifi.sta.getip()=="0.0.0.0" or wifi.sta.getip() == nil then | if wifi.sta.getip()=="0.0.0.0" or wifi.sta.getip() == nil then | ||
print("Connect AP, Waiting...") | --print("Connect AP, Waiting...") | ||
else | else | ||
print("Connected") | --print("Connected") | ||
print( wifi.sta.getip() ) | --print( wifi.sta.getip() ) | ||
startTelnetServer() | startTelnetServer() | ||
configureMqttService() | |||
tmr.stop(1) | tmr.stop(1) | ||
end | end | ||
end) | end) | ||
uart.setup(0,9600,8,0,1,0) | uart.setup(0,9600,8,0,1,0) | ||
-- Send all UART stuff to the debug client | -- Send all UART stuff to the debug client | ||
uart.on("data",4, function(data) | --uart.on("data",4, function(data) | ||
-- if global_c~=nil then | |||
-- global_c:send(data) | |||
-- end | |||
end, 0) | --end, 0) | ||
</pre> | </pre> | ||
Version vom 18. April 2015, 18:48 Uhr
BeamerControl
Hardware
- ESP8266
- MAX3232
Software
Es wird die LUA Firmware vorausgesetzt.
Mit folgendem ESP8266/Programmer kann die folgende Initialisierungsdatei beamer_init.lua geschrieben werden:
print("Booting... Beamer v0.81") wifi.setmode(wifi.STATION) wifi.sta.config("WIFI","PASSWORD") global_c=nil function netPrint(str) if global_c~=nil then global_c:send(str) global_c:send("\\\n") end end function startTelnetServer(dummy) s=net.createServer(net.TCP, 180) s:listen(2323,function(c) global_c=c function s_output(str) if(global_c~=nil) then global_c:send(str) end end node.output(s_output, 0) c:on("receive",function(c,l) node.input(l) end) c:on("disconnection",function(c) node.output(nil) global_c=nil end) print("Welcome to NodeMcu world.") end) print("WiFi up and running") end m = mqtt.Client("beamer", 120, "", "") function startMqttService(c) m:connect("10.23.XXX.XXX", 1883, 0, nil) tmr.alarm(2, 2000, 0, function() m:subscribe("/room/beamer/#",0) end) end function configureMqttService(c) m:on("connect", function(con) netPrint ("MQTT connected") m:publish("/room/beamer/ip",wifi.sta.getip(),0,0, function(conn) netPrint("Sent IP") end) end) m:on("offline", function(con) netPrint ("MQTT offline") startMqttService() end) m:on("message", function(conn, topic, data) netPrint(topic .. ":" ) if data ~= nil then netPrint(topic .. ":" .. data) if data == "OFF" and topic == "/room/beamer/command" then netPrint ("Shutdown beamer") uart.write(0, "* 0 IR 002\\\r") end if data == "ON" and topic == "/room/beamer/command" then netPrint ("Start Beamer") uart.write(0, "OKOKOKOKOK\\\r") end end end) startMqttService() end tmr.alarm(1, 1000, 1, function() if wifi.sta.getip()=="0.0.0.0" or wifi.sta.getip() == nil then --print("Connect AP, Waiting...") else --print("Connected") --print( wifi.sta.getip() ) startTelnetServer() configureMqttService() tmr.stop(1) end end) uart.setup(0,9600,8,0,1,0) -- Send all UART stuff to the debug client --uart.on("data",4, function(data) -- if global_c~=nil then -- global_c:send(data) -- end --end, 0)
Schnittstelle
Der Beamer kann An:
mosquitto_pub -h IP1.IP2.IP3.IP4 -t "/room/beamer/command" -m "OFF"
und aus-geschalten werden:
mosquitto_pub -h IP1.IP2.IP3.IP4 -t "/room/beamer/command" -m "ON"
Hardware-Doku
-
Schaltung - Seitenansicht
-
Schaltung - Seitenansicht2
-
Schaltung - Oben
-
Schaltung - Unten
-
Alle Bauteile
-
Eingebaut