Hallo! Ich hab vor kurzem von dem Wunderwerk ESP8266 erfahren und möchte mir damit nun ein kleines "Smart Home Netzwerk" aufbauen in dem ich ca. 10 ESP8266 Module über das ganze Haus und den Garten verteile. Diese besitzen alle mehrere Ein-/ Ausgänge und Messwerterfassungen. Nun möchte ich aber von aussen nicht einzeln auf die Geräte zugreifen, sondern eine einzige Seite haben auf der ich zentral alles sehen uns steuern kann. Im Internet gibt es ja mehrere Anbieter (z.B. ThingSpeak und Thinger.io) wo ich mir Dashboards anlegen kann bei den ich auf mehrere Devices zugreifen kann. Leider nur auf 3 Stück - ansonsten muss man zahlen. Ich würde mir also gerne selbst eine "Internet of Things - Plattform" basteln. Ich habe dazu 2 Ansätze: 1) Ich verwende einen zusätzlichen ESP8266 mit dem ich von aussen kommuniziere (nur mit diesem). Auf diesem ESP wird eine Webseite angezeigt, die mittels iframe auf all die anderen ESP-Devices im Haus zugreift 2) Ich spendiere einen zusätzlichen PC. Hier läuft ein Programm, welches mittels HTTP Request PUT und GET auf die einzelnen Devices zugreift Welche Möglichkeit haltet ihr für die bessere? Der ganze Aufbau sollte auch möglich stromsparend sein und auf jegliche Hardware, die nicht unbedingt benötigt wird, sollte verzichtet werden. Vielleicht gibt es ja noch viel bessere Ansätze bzw. Programmbeispiele oder Posts zu diesem Thema.
Michael R. schrieb: > Der ganze Aufbau sollte auch möglich stromsparend sein ... Dann ist Wi-Fi und ggf. zusätzlicher PC definitiv der falsche Weg.
Ich habe in anderen Foren gelesen, daß sich mit Hilfe der DeepSleep Funktion des ESP8266 mühelos Batterielaufzeiten von über einem Jahr realisieren lassen, wenn der uC nur relativ selten zum Senden aufgeweckt wird. Was ist aber, wenn ich das Device auch zum Schalten von Lasten verwenden will und der ESP praktisch ständig im "Listen-Modus" auf TCP Port 80 ist? Kann ich diesen dann eigentlich gar nie in Sleep-Modus schalten?
Mal abgesehen von der "Stromsparfunktion" - welche Lösung wäre wohl die schnellste und flexibelste umzusetzen? Oder würdet ihr das komplett anders angehen?
Ich würde wahrscheinlich in Richtung raspberry pi als zentralen Server gehen. Gruß Jonas
Und dann den Raspberry Pi als Webserver aufsetzen und mittels iframes auf die einzelnen Devices zugreifen? Wie mache ich es, wenn ich zusätzlich auf externe Quellen im Internet z.B. über XPath zugreifen will? Kennst du irgendwelche Programmierbeispiele dazu? Geht sowas überhaupt über einen Webserver, oder können HTTP Request Anfragen nur z.B. über ein C-Programm gemacht werden?
Espeasy. Wenn du nicht selber programmieren möchtest. Wenn Du eine Last schalten möchtest hast Du auch Strom in der Nähe und kannst ein Netzteil verwenden.
Super, danke dir! Hört sich echt interessant an. Ich habe gerade nur grob über das Projekt drüber geschaut. Ich denke aber mal, daß ich damit alles erschlagen kann. Ich versuche es mal..
Michael R. schrieb: > Und dann den Raspberry Pi als Webserver aufsetzen und mittels iframes > auf die einzelnen Devices zugreifen? Nein. Die einzelnen Devices sind keine Webserver; nur der Pi ist ein Webserver. Die Devices übertragen nach einem von Dir auszudenkenden Protokoll gelegentlich ihre Daten an den Pi, der sie solange aufhebt, bis neue Daten eintrudeln. Angezeigt wird das, was der Pi gespeichert hat. Bei Schalthandlungen muss, damit die Devices stromsparend bleiben, auf deren nächsten Aktualisierungszyklus gewartet werden. Die zu sendenden Daten werden erst dann vom Pi an das jeweils gerade "wache" Device übertragen. Je nachdem, was Du da mit welcher Hektik betreiben willst, musst Du diese Aktualisierungzyklen entsprechend anpassen. Bei einer Heizungssteuerung genügt ein Zyklus im Minutenbereich, denn eine Heizung ist extrem träge. Deine iFrame-Idee würde erfordern, daß zur Anzeige Deiner Webseite die Devices ständig aktiv sind, was die Stromsparidee konterkariert.
Wie kann ich aber am Besten Daten zwischen dem Pi und den einzelnen Devices austauschen? Vielleicht eine blöde Frage, aber ich bin neu in dem Thema. Mach ich dies am Besten über HTTP Request PUT und GET?
Hallo, auch mal in Richtung MQTT schauen, RasPi als MQTT-Broker und zentraler Webserver. Kommt darauf an, wieviel Du selbst machen willst. Meine ESP haben außer dem MQTT-Client auch fast alle einen Webserver drauf, so daß ich die im Notfall auch direkt erreichen kann. Dazu noch ein FallBack auf Access-Point-Mode, wenn sie nicht ins zentrale WLAN verbinden können. OTA-Update auch anschauen, man will ja wegen einer Änderung nicht erst den Lichtschalter zum PC tragen. Das ist mit den ESP machbar, auch stabil, wirklich fertiges mit allen diesen Funktionen habe ich aber wenig gefunden. Bei mir ist es noch Experimentierphase, aber schon seit ca. 6 Wochen stabil. Mit den Sleep-Geschichten ist ein Bekannter gerade am Testen, mal schauen, wie die realen Reaktionszeiten sind, z.B. Bewegungsmelder wecht den ESP usw. Das Licht soll ja nicht erst angehen, wenn man schon wieder aus dem Flur rausgeht... Gruß aus Berlin Michael
Wenn du die Arduino IDE zum flashen benutzt, gibt es unter den Beispielen ein Mash Sketch. Damit könntest du alle ESPs zum untereinander kommunizieren bekommen. Der "Server" also dein PC oder ein RasPi, bekommt dann einfach auch ein ESP. Gruß Kolja
Ok, danke. Ich seh schon - es gibt ganz unterschiedliche Möglichkeiten. Ich schau mir einfach mal alles an und geb euch wieder Bescheid..
Weil das Stichwort noch nicht fiel: Der zentrale Server speichert die empfangenen Daten in einer Datenbank. Der Webserver zur Anzeige der Daten ließt die anzuzeigenden Daten aus der Datenbank. Der Webserver redet nicht direkt mit den Sensoren.
Schon mal von den jeenode gehört? http://jeelabs.net/projects/hardware/wiki/JeeNode Hier gibt es eine Vielzahl an Messwertaufnehmern, Schaltern usw... In Openhab lässt sich alles einbinden. http://www.openhab.org/ Das ganze läuft auf dem pi.
Michael R. schrieb: > Ich habe in anderen Foren gelesen, daß sich mit Hilfe der DeepSleep > Funktion des ESP8266 mühelos Batterielaufzeiten von über einem Jahr > realisieren lassen, wenn der uC nur relativ selten zum Senden aufgeweckt > wird. Was ist aber, wenn ich das Device auch zum Schalten von Lasten > verwenden will und der ESP praktisch ständig im "Listen-Modus" auf TCP > Port 80 ist? Kann ich diesen dann eigentlich gar nie in Sleep-Modus > schalten? Ich habe dazu hier: Beitrag "Re: Temp. Messung im Haus?" mal meine Messergebnisse gepostet. Ich konnte mit einem ca. 2000mAh Akku ca. 10000 Messwerte, über einen Zeitraum von einem Monat, übertragen. Das geht aber natürlich nur wenn man den Deep Sleep Modus nutzt, sonst ist der Akku nach etwa 2 Tagen leer.
Hallo, als Aktor muß der ESP natürlich ständig im WLAN sein. Allerdings soll er dann ja meist was schalten o.ä., damit dürfte Stromversorgung machbar sein. Bleibt der Energieverbrauch. Meine WLAN-Steckdose verbraucht ca. 1,3W Wirkleistung gegenüber ca. 0,7W der Originalen Funksteckdose. Mit normalen Bauteilen ist da nicht mehr allzuviel Spielraum nach unten. Eben der Preis für den Komfort, man zahlt ihn oder läßt es... Mit dem alten RFM12 und einem Tiny45 reicht eine CR2032 ein gutes halbes Jahr, um mir ca. alle Minute die Temperatur aus dem Gefrierfach des Kühlschranks zu schicken. Gruß aus Berlin Michael
:
Bearbeitet durch User
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.