Hallo, ich habe bereits etwas länger im Internet gesucht, allerdings nichts gefunden was bei mir funtkioniert hat. Deshalb frag ich jetzt hier. Also mein Ziel ist es über den Browser auf den ESP bzw. den Arduino zuzugreifen und ein 8 Channel Relai ein und auszuschalten. Der ESP soll sich mit meinem Router verbinden sodass ich im Prinzip von jeden Gerät was in meinem Wlan ist darauf zugreifen kann. Kann mir jemand ein paar Tipps geben? Oder hat jemand von euch schonmal soetwas gemacht? Wäre ich super :) Wenn noch etwas unklar ist einfach fragen. Danke
Ja, ich habe letzes Jahr mal einen SmartTimer zur Steuerung einer Gartenbewässerung mit einem UNO und ESP8266-01 (AT-Firmware) realisiert. Du musst den ESP als Server starten und im Main-Loop auf HTTP-Requests auf Port 80 warten und entsprechend mit ganzen HTML-Webseiten antworten. Wegen dem für solche Zwecke recht begrenzten Speicher des Uno muss man schnell tricksen aber für einfache Projekte reicht es. Was mir die Sache erheblich vermiest hat war, dass der ESP vor dem Senden exakt wissen will wie groß der Buffer ist und die Buffergröße auf 1460 Bytes begrenzt ist. Selbst relativ einfach gestrickte Webseiten werden mit Header und allen drum und dran schnell größer und man muss sie dann in Etappen mit langen Gedenkpausen dazwischen schicken, was man im Browser dann auch deutlich als Hakeln sieht. Den ESP überhaupt langzeitstabil zu bekommen ist die größte Herausforderung. Man forscht länger an irgendwelchen Zickigkeiten, komischen Effekten und Watchdogs und Firmware-Versionen für den ESP herum als sich der eigentlichen Aufgabe zu widmen. Nach wie vor hängt sich der ESP bei mir immer noch gerne weg, wenn die 24V~ Ventile geschaltet werden. Das liegt aber scheinbar nicht an der Spannungsversorgung sondern an irgendwelchen Feldern. Evtl. funktionieren die neueren abgeschirmten Varianten des ESP und die NodeMCU Firmware besser. Ich hatte aber noch keine Zeit das genauer zu ergründen, ansonsten hätte ich das Projekt schon mal veröffentlicht. Der Uno ist zu 90% voll, da ist also auch nicht mehr viel Luft nach oben. Für kleine Projekte mit einfachen Websites kleiner 1460 Bytes OK, größeres würde ich damit nicht noch einmal machen. Eine super Ausgangsbasis für ein Projekt mit ESP8266-01 mit AT-Firmware ist: https://arduino-hannover.de/2014/12/11/wifi-kochbuch-mit-esp8266/ Das war auch meine Basis, ich habe nur noch erheblich Gehirnschmalz investiert um stabil Seiten größer 1460 Bytes senden zu können.
Für sowas eignet sich MQTT sehr viel besser. http://www.s6z.de/cms/index.php/homeautomation-homecontrol/hardwareplattformen/esp8266/113-mqtt-basic-esp8266-mqtt-example
Das kommt auf die Anforderungen an: MQTT ist der deutlich bessere Ansatz um von einer Zentrale aus mit Sensoren und Schaltern zu kommunizieren. Vor allen ist es ereignisgesteuert und bietet Sicherheiten gegen zeitweiligen Ausfall einzelner Komponenten. Also viel besser für eine Automatisierungsaufgabe. Der requestgesteuerte HTTP-Server kann dagegen gleich mit einer grafisch aufbereiteten Webseite direkt mit einem Endgerät kommunizieren. Für Handy oder Tablet ist ist keine eigene Software notwendig und man implementiert die Sache exakt einmal als HTML unabhängig von einer Plattforn bzw. Betriebssystem. Bei einer kompletten Hausautomatisierung würde ich beide Wege geben. Einzelne Sensoren und Schalter mit MQTT und als Zentrales Verbindungsstück zu den Endgeräten z. B. einen Raspberry Pi als MQTT-Broker und WebServer.
Du vermischt da etwas! HTML und MQTT sind nicht unmittelbar vergleichbar, und HTML war nie für Steuerungsaufgaben gedacht. Bei nahezu allen mir bekannten Einsatzszenarien von MQTT wird HTML beim Frontennd benutzt. Für Smartphone&Co gibts haufenweise MQTT-Clients, und einen eigenen Broker braucht man auch nicht zwingend. Sowas gibts public im Netz.
Hab ich schon fix und fertig: http://stefanfrings.de/wlan_io/index.html Mit dem Browser kannst du eine lokale statische HTML Datei mit Javascript öffnen, die dann die Kommunikation mit dem WLAN Modul macht. Oder du fügst noch einen minimalen Webserver hinzu, der nur diese eine Seite ausliefert. Das sollte sehr einfach machbar sein. Oder du nimmst die verkabelte Variante (http://stefanfrings.de/net_io/index.html), die hat schon einen Webserver.
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.