Forum: Mikrocontroller und Digitale Elektronik ESP8266 LUA komme nicht weiter


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Franz S. (franz_0815)


Bewertung
-3 lesenswert
nicht lesenswert
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

von Martin P. (billx)


Bewertung
1 lesenswert
nicht lesenswert
RTFM

von Franz S. (franz_0815)


Bewertung
0 lesenswert
nicht lesenswert
top
ss

von Linksammler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Franz S. (franz_0815)


Bewertung
0 lesenswert
nicht lesenswert
danke

von Franz S. (franz_0815)


Bewertung
0 lesenswert
nicht lesenswert
Lua ist dann aber eine sript sprache ,muss nicht compiliert werden ?
ähnlich java und javascript

von FUNKtioniert nicht (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Franz S. (franz_0815)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier noch esp8266 esp 03
sollte es damit laufen ?

von Franz S. (franz_0815)


Bewertung
0 lesenswert
nicht lesenswert
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 ?

von Jojo S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
da im Quick Start Guide ist ein 'How do I read a gpio input'
http://benlo.com/esp8266/esp8266QuickStart.html

von Franz S. (franz_0815)


Bewertung
0 lesenswert
nicht lesenswert
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)

von Franz S. (franz_0815)


Bewertung
0 lesenswert
nicht lesenswert
Hier klappt es nicht mit dem autoconnect.
Zuerst muss ich mit dem lualoader eine verbindung herstellen.

?
Woran liegt das ?

von Alexander F. (trilex)


Bewertung
0 lesenswert
nicht lesenswert
@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.
   
-- A simple http server
    srv=net.createServer(net.TCP)
    srv:listen(80,function(conn)
      conn:on("receive",function(conn,payload)
        print(payload)
        conn:send("<h1> Hello, NodeMcu.</h1>")
      end)
      conn:on("sent",function(conn) conn:close() end)
    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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.