Hi, nun hab ich schon eine Weile nach ESP8266 FWs für remote sensor Anwendungen gesucht, welche die WiFi Konfiguration über ein Webinterface abwickeln (d.h. initial open AP Modus mit Konfiguratinsinterface, danach Station Modus wie üblich). Praktisch alle ESP8266 Beispiele hardcoden AP/Kennwort oder setzen es via serieller Konsole - an sich doch enorm unpraktisch. Gefunden hab ich lediglich das hier: http://www.instructables.com/id/ESP8266-based-web-configurable-wifi-general-purpos-1/2/ Damit werde ich mal spielen. Aber wie löst ihr das Problem auf euren IoT Geräten ? Gruß, Marco
Über dieses Thema habe ich auch schonmal nachgedacht. Wie stelle ich ein Web-Formular zur initalen Konfiguration bereit? Ich würde es auch so lösen. In unkonfiguriertem Zustand ist das Gerät ein AP und stellt die initiale Konfigurations-Seite bereit. Danach ist es kein AP mehr, sondern verbindet sich mit dem vorhandenen WLAN/DSL Router. Über einen Rückstell-Schalter kann man die Konfiguration notfalls wieder zurück setzen. Ich stelle mir vor, dass dies praktikabel ist. Aber ich hab's noch nicht ausprobiert.
Genau so. Schön stelle ich mir das noch in Kombination mit einem generischen Datentransfer Framework für per UART angebundene MCUs vor. Dann müßte man sich praktisch nicht um den ESP8266 oder dessen WiFi Konfiguration kümmern, sondern lediglich in der MCU den UART Transfer implementieren. Nur das nötigste. Um die Umsetzung auf http/tcp/udp etc. kümmert sich die FW des ESP8266 in irgendeiner generischen Art und Weise. Hmm dabei Frage ich mich jetzt, ob es da nicht sogar schon definierte Protokolle (z.B. für Home Automation) gibt, deren Nutzung dann entsprechend noch einen Mehrwert bringen könnte.
Hi, folgendes Beispiel habe ich gestern mal getestet. Zumindest die wifi configuration ist da drin. http://harizanov.com/2014/11/esp8266-powered-web-server-led-control-dht22-temperaturehumidity-sensor-reading/
Ja, esphttpd hat diese Funktionalität. Nehm ich gern. Mittlerweile denke ich, daß ich versuchen werde, den ESP uPnP anbieten zu lassen. D.h die MCU würde mit einem möglichst einfachem Protokoll von mir am UART effektiv ihre Daten per uPnP ins Netz stellen. Ich muß mich mal durch die DCPs dort wühlen - vieleicht gibt es ja schon passende Definitionen. Ein offenes, dediziertes Home Automation Protokoll, welches per WiFi/IP funktioniert, hab ich noch nicht nicht gefunden. Entweder kochen sie bei der HW schon ihr eigenes Süppchen, oder sie können WiFi aber treiben dort eigene Protokolle. Die Belkin WeMo nutzen uPnP.
Das müßte sich in einer ESP fw doch vergleichsweise generisch machen lassen: http://upnp.org/specs/smgt/smgt1/ Ich plane ein 3p Energiemeßgerät und Temp-/Luftfeuchtesensoren - deren Daten könnte man prima mit den offiziellen uPnP Schemas ins LAN bringen. Ein Framework in der fw könnte das übernehmen, und auch generisch die uPnP Gerätewebseiten zur Anzeige der jeweiligen Sensoren bzw. Kontrolle der Funktionen generieren. Auch wenn beispielsweise Windows diese Schemas noch nicht sinnvoll out-of-the-box unterstützt, zeigt z.B. Win7 das Gerät im Explorer und ein Doppelklick bringt einen auf die (dort generierte) Gerätewebseite. Ohne weiteres zutun oder irgendeine Konfiguration. https://software.intel.com/en-us/articles/intel-tools-for-upnp-technologies Die Tools sind prima.
Moin, mit dem Thema hab ich mich schon länger beschäftigt, und dafür auch ein Protokoll parat (netpp). Läuft auch schon auf dem esp8266, aber erst mal nur im Slave-Betrieb. Im Prinzip läuft es bei diesen Protokollen immer auf ein RemoteProcedureCall-Interface (RPC) hinaus, und da fängt der Wildwuchs an, angefangen bei einfachen Protokollen wie SWAP oder andere modbus-ähnliche Konstrukte bis zu industriellen Molochen wie EDDL. Als offenen Standard würde ich noch am ehesten JSON einsetzen. Ich habe für div. uC-Anwendungen damals nur was kompaktes/schnelles (ergo binäres) gebraucht, was mit "Zerocopy"-Strategien klarkommt. Im Prinzip macht mein momentaner Setup das, was schon oben beschrieben wurde: Default-Konfig ist AP, dann kann man per WLAN die Eigenschaften ("Properties") des Knoten (ESP8266) setzen. Das geschieht etwa wie hier: http://www.section5.ch/doc/netpp/netpp-demo.html Wenn man sich die Konfig zerschiesst, muss man momentan noch die Konfig-Flash-Section neu schreiben, das ist nicht sonderlich schön, Abhilfe sollte mal noch ein "Reset to defaults"-GPIO bringen. Die eigentlichen Probleme am Schluss stellen allerdings nicht Protokolle dar, sondern eher Master oder Slave, bzw. Push oder Pull? (Bis hin zur Anforderung an Mesh-Networking). Beispiel: Drahtlos und stromsparend geht ansich nur im "Push"-Betrieb, z.B. Sensor wacht regelmässig auf, und schickt alle paar Intervalle seine Messdaten an einen "Hub" (Datenlogger). Der User fragt diese Daten dann am Hub ab ("Pull"). Das ist dann typischerweise der WLAN-Knoten mit Webserver und Proxy auf die Low-Power-Wireless-Protokolle. Da leider die geschlossenen SDK-Routinen des espressif-SDK nicht sonderlich robust sind, dauert es noch eine Weile, bis ich dem ganzen Ding wirklich grünes Licht geben würde. Mal abwarten, ob da in nächster Zeit ein paar Routinen offengelegt werden oder die Jungs die Fehler ausgebügelt bekommen. Die FreeRTOS-Geschichte sieht schon mal etwas besser aus, hat aber auch noch üble Böcke. Grüsse, - Strubi
Auch wenn der Faden schon steinalt ist, meine Lösung dafür wäre der WiFiManager https://github.com/tzapu/WiFiManager
By the way: Ich habe meinen oben skizzierten Ansatz erfolgreich ausprobiert. Doku und Download der Arduino Klasse: http://stefanfrings.de/esp8266/index.html#wificonfigservice
Ich auch :) Noch nicht schön, aber noch verstehe ich den Code: https://github.com/newHeiko/wiFred Wenn das konfigurierte WLAN nicht erreichbar ist, mache ich einen AP auf. Ein neuer ESP sucht nach SSID "undef", wird also immer einen AP aufmachen. Captive etc. habe ich nicht eingebaut. Der WiFiManager erschien mir recht chaotisch, und da ich noch mehr Konfiguration einbauen wollte als nur WiFi, habe ich das neu geschrieben. MfG, Heiko
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.