Hallo ich spiele mit dem ESP8266 1 herum kann jetzt mit dem Lua Loader das System programmieren. Aber was macht er dann. Das Englisch ist so nicht mein Ding,deshalb frage ich hier noch mal freundlich. Ist es richtig das ich jetzt ein Grund programm auf dem ESP habe und ich die srips von Lua über den LuaLoader aufspielen kann ?. Wie könnte ich dann eine einfache Ausgabe auf dem Webserver machen? Wo steht welche Befehle er verarbeiten kann? Wär nett wenn ic paar kurze Hinweise bekommen könnte. Gruss
Franz Suahnein schrieb: > Wie könnte ich dann eine einfache Ausgabe auf dem Webserver machen? * Der ESP als Webserver? Webserver in Lua programmieren. Beispielcode haufenweise vorhanden. * Der ESP als Web-Client, der eine "Ausgabe" an einen anderen Webserver schicken soll? HTTP-Client in Lua programmieren. Beispielcode ist vorhanden. > Wo steht welche Befehle er verarbeiten kann? * Sprachkern: In der Lua-Dokumentation. Minus komplizierte MATH-Sachen. * NodeMCU erweiterungen/interfaces: In deren Dokumentation.
Lua ist dann aber eine sript sprache ,muss nicht compiliert werden ? ähnlich java und javascript
Franz Suahnein schrieb: > Lua ist dann aber eine sript sprache ,muss nicht compiliert werden ? > ähnlich java und javascript Du kannst das LUA kompilieren, musst aber nicht. Der Compiler ist bei neuen Versionen mit auf dem ESP drauf, wird einfach per node.compile("sourcefile.lua") gestartet.
AAAAAAAAAAAAh Im LuaLoader steht ja fast alles drinn. Kommen der sache schon mal näher. Uhrzeit von Google kommt schon. Da gibt es doch bestommt was das die GPIO ' anzeigt ,also muss der esp dann als server laufen und hat seine IP. Wo wird dann der Port angegeben ?
da im Quick Start Guide ist ein 'How do I read a gpio input' http://benlo.com/esp8266/esp8266QuickStart.html
Nochmal der mit dem ersten Schritten ESP Wenn ich diesen script in ein file first.lua mit richtigen ssid und pwd speicher und dann diese file per lualoader auf dem chip sende müsste ich an seiner ip seite doch was sehen Oder ? wifi.setmode(wifi.SOFTAP); wifi.ap.config({ssid="test",pwd="12345678"}); 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> Hello, NodeMcu.</h1><form src=\"/\">Turn 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)
Hier klappt es nicht mit dem autoconnect. Zuerst muss ich mit dem lualoader eine verbindung herstellen. ? Woran liegt das ?
@franz0815 Hi, ich steige durch dein Script nicht durch, packe das beim nächsten mal bitte in code Blöcke (Über dem Eingabefeld erklärt). Wenn der ESP8266 nach einem Neustart automatisch etwas machen soll, muss das Script init.lua heißen. Das wird dann direkt nach dem Neustart ausgeführt. Auf der github Seite von nodeMCU (https://github.com/nodemcu/nodemcu-firmware) gibt es ganz unten ein paar Beispiele. Der Webserver ist einfacher, teste den doch mal.
1 | |
2 | -- A simple http server |
3 | srv=net.createServer(net.TCP) |
4 | srv:listen(80,function(conn) |
5 | conn:on("receive",function(conn,payload) |
6 | print(payload) |
7 | conn:send("<h1> Hello, NodeMcu.</h1>") |
8 | end) |
9 | conn:on("sent",function(conn) conn:close() end) |
10 | end) |
Mit der init.lua musst Du ein wenig aufpassen, wenn die Fehler enthält, die den ESP8266 un-ansprechbar machen, kommst Du nur durch ein neuflashen an ihn ran. Grüße Alex
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.