Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:controllers:espeasy

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
hardware:controllers:espeasy [2017/12/15 17:16] – Parametrieren princemichihardware:controllers:espeasy [2023/02/05 14:00] raptorsds
Zeile 1: Zeile 1:
 ====== ESPeasy ====== ====== ESPeasy ======
 ===== Allgemeines ===== ===== Allgemeines =====
-Viele User suchen nach einer einfachen Lösung um den Volkszähler\\ +Viele User suchen nach einer einfachen Lösung um den Volkszähler ...\\ 
-* ohne Programmierungskenntnisse\\ +  * ohne Programmierungskenntnisse\\ 
-* ohne großen Zeitaufwand\\ +  * ohne großen Zeitaufwand\\ 
-* ohne große Kosten\\ +  * ohne große Kosten\\ 
-* Platzsparend (z.B. in einer Unterputzdose)\\ +  * Platzsparend (z.B. in einer Unterputzdose)\\ 
-* und dezentral \\ +  * und dezentral \\ 
-mit Daten zu füttern.\\+... mit Daten zu füttern.\\
 \\ \\
 Mit Hilfe von ESPeasy ist es möglich einen kleinen Chip mit WLAN in sein eigenes Heimnetz zu integrieren und Daten an den eigenen Volkszähler zu senden.\\ Mit Hilfe von ESPeasy ist es möglich einen kleinen Chip mit WLAN in sein eigenes Heimnetz zu integrieren und Daten an den eigenen Volkszähler zu senden.\\
Zeile 16: Zeile 16:
 ==== Möglichkeiten mit ESPeasy ==== ==== Möglichkeiten mit ESPeasy ====
 Dank des Frameworks können über 40 verschiedene Sensoren erfasst werden.\\ Dank des Frameworks können über 40 verschiedene Sensoren erfasst werden.\\
-Einige als Beispiel:\\ +Einige als Beispiel: 
- * DHT 11/12/22\\ +  * DHT 11/12/22 
- * DS18B20\\ +  * DS18B20 
- * INA219\\ +  * INA219 
- * SHT30\\+  * SHT30 
 +  * BME280 
 + 
 +Aber auch einfache Aufgaben erledigt werden \\ 
 +Beispiele 
 +  *s0 eines Zählers mitzählen
  
 ==== GPIOs über URL steuern ==== ==== GPIOs über URL steuern ====
Zeile 32: Zeile 37:
 ===== Software ===== ===== Software =====
 ==== ESPeasy ==== ==== ESPeasy ====
-Das ESPeasy-Projekt wurde vom Hersteller Names letscontrolit ins Leben gerufen. Aktuell gibt es verschiedene Versionen z.B. auch ESPeasyMega. Hierbei handelt es sich um eine aktuell noch in Entwicklung befindliche Version, welche in aktuellen Tests mit dem vzlogger funktioniert. Weieres hierzu im Bereich Einrichten.+Das ESPeasy-Projekt wurde vom Hersteller Names letscontrolit ins Leben gerufen. Aktuell gibt es verschiedene Versionen z.B. auch ESPeasyMega. Hierbei handelt es sich um eine aktuell noch in Entwicklung befindliche Version, welche in aktuellen Tests mit dem Volkszähler funktioniert. Weiteres hierzu im Bereich Einrichten.
 === Projektdokumentation === === Projektdokumentation ===
 Das Projekt hat eine eigene [[https://www.letscontrolit.com/wiki/index.php/Main_Page|Dokumentation]]. Das Projekt hat eine eigene [[https://www.letscontrolit.com/wiki/index.php/Main_Page|Dokumentation]].
Zeile 40: Zeile 45:
  
 ==== Was ist der ESP8266? ==== ==== Was ist der ESP8266? ====
-Hierbei handelt es sich um einen Chip aus der Arduino-Familie, welcher Standardmäßig schon GPIO-Ports mit bringt.\\ +Hierbei handelt es sich um einen WLAN-Chip, welcher Standardmäßig schon GPIO-Ports mit bringt.\\ 
-{{:hardware:controllers:esp8266.jpg?400 |}} \\ +Der ESP8266 ist sehr klein und wird meistens auf kleinen Entwicklungsboards verbaut, etwa dem NodeMCU V2.\\
-Der ESP8266 ist sehr klein und wird meistens auf kleinen Entwicklungsboards verbaut, etwa dem NodeMCU.\\+
 Es können Programme in der Arduino-Umgebung programmiert werden und dann auf den Chip geflasht werden.\\ Es können Programme in der Arduino-Umgebung programmiert werden und dann auf den Chip geflasht werden.\\
 ESPeasy ist nichts anderes wie ein solches Programm, welches aber schon von Haus aus alle benötigten Funktionen mit sich bringt.\\ ESPeasy ist nichts anderes wie ein solches Programm, welches aber schon von Haus aus alle benötigten Funktionen mit sich bringt.\\
 +{{:hardware:controllers:esp8266.jpg?400 |}} \\
 {{:hardware:controllers:esp12e-pinbelegung-1.png?600 |}} {{:hardware:controllers:esp12e-pinbelegung-1.png?600 |}}
 Charakteristisch für den ESP8266 sind sein Gehäuse und die WLAN-Antenne, welche links vom Chip montiert ist. Charakteristisch für den ESP8266 sind sein Gehäuse und die WLAN-Antenne, welche links vom Chip montiert ist.
Zeile 52: Zeile 57:
   * Arduino-Umgebung   * Arduino-Umgebung
   * CP2102-Chip Onboard: Dank des USB-Chips kann der ESP8266 einfach per Micro-USB programmiert werden   * CP2102-Chip Onboard: Dank des USB-Chips kann der ESP8266 einfach per Micro-USB programmiert werden
-  * Für den CP2102-Chipmuss nicht nochextra ein Windows Treiber installiert werden.+  * Für den CP2102-Chip muss nicht noch extra ein Windows Treiber installiert werden, im Gegensatz zum CH340-Chip-USB-Treiber (NodeMCU V3).
   * Die GPIO-Ports werden auf Pin-outs geführt, welche direkt auf ein Breadboard gesteckt werden können   * Die GPIO-Ports werden auf Pin-outs geführt, welche direkt auf ein Breadboard gesteckt werden können
   * Es ist ein 4096 kByte großer Speicher verfügbar   * Es ist ein 4096 kByte großer Speicher verfügbar
Zeile 89: Zeile 94:
 {{:hardware:controllers:schaltung_nodemcu_ds18b20_esp8266_2.jpg?400|}} {{:hardware:controllers:schaltung_nodemcu_ds18b20_esp8266_2.jpg?400|}}
 {{:hardware:controllers:schaltung_nodemcu_ds18b20_esp8266_3.jpg?600|}} {{:hardware:controllers:schaltung_nodemcu_ds18b20_esp8266_3.jpg?600|}}
 +=== Spannungsversorgung realisieren ===
 +  - Entweder über den 5V Micro-USB Anschluss des NodeMCU, oder
 +  - mit einem 5VDC Netzteil (mind. 1A) über die Pins __Vin__ und __GND__ anschließen (Pins 1 und 2 direkt neben dem Reset-Schalter)
 === Flashen === === Flashen ===
 +== Möglichkeit 1: Komandozeile ==
 Nun muss der ESP8266 geflasht werden. Hierfür bitte von folgender Seite ESPeasyMega (aktuell noch in der Beta Version) herunterladen: [[https://github.com/letscontrolit/ESPEasy/releases|ESPEasy_v2.0.0-dev12.zip]].\\ Nun muss der ESP8266 geflasht werden. Hierfür bitte von folgender Seite ESPeasyMega (aktuell noch in der Beta Version) herunterladen: [[https://github.com/letscontrolit/ESPEasy/releases|ESPEasy_v2.0.0-dev12.zip]].\\
 In der heruntergeladenen .zip-Datei befindet sich die Datei "ESPEasy_v2.0.0-dev12_normal_4096.bin".\\ In der heruntergeladenen .zip-Datei befindet sich die Datei "ESPEasy_v2.0.0-dev12_normal_4096.bin".\\
Zeile 101: Zeile 110:
 </code> </code>
 Bitte nicht vergessen in dem obigen Code den Comport einzusetzen. Das flashen kann bis zu einer Minute dauern. Bitte nicht vergessen in dem obigen Code den Comport einzusetzen. Das flashen kann bis zu einer Minute dauern.
 +== Möglichkeit 2: GUI verwenden ==
 +Im Download-Paket z.B. von "ESPEasy_v2.0.0-dev12" ist der GUI-Flasher **FlashESP8266.exe** enthalten. Diese Datei ausführen und dort nur den COM-Port und die passende Firmware-Datei auswählen und den Flash-Button drücken - fertig!
 +{{:hardware:controllers:espeasy-gui-flashing-nodemcu.png?400 |}}
 === WLAN verbinden === === WLAN verbinden ===
 Der NodeMCU ist jetzt bereit und kann von einem WLAN fähigen Gerät als AccessPoint erkannt werden.\\ Der NodeMCU ist jetzt bereit und kann von einem WLAN fähigen Gerät als AccessPoint erkannt werden.\\
Zeile 133: Zeile 145:
 Locate Controller: "Use IP adress" auswählen\\ Locate Controller: "Use IP adress" auswählen\\
 Controller IP: Bitte die IP deiner Volkszählerinstallation angeben\\ Controller IP: Bitte die IP deiner Volkszählerinstallation angeben\\
-Controller Publish: __**middleware.php/data/%tskname%.json?operation=add&value=%value%**__ in das Feld eintragen\\ +Controller Publish: __**middleware.php/data/%valname%.json?operation=add&value=%value%**__ in das Feld eintragen\\ 
-Enabled: Haken auf "true" setzen+Enabled: Haken auf "true" setzen\\ 
 + 
 + 
 + 
 +=== Devices === 
 + 
 +  
 + 
 + 
 +==  Beispiel Temperatursensor DS18b20 == 
 +  
 + 
 + 
 + 
 + 
 +Bitte Device Nr. 1 mit dem "Edit" Button öffnen.\\ 
 +{{:hardware:controllers:esp_parametrierung_devices_1.jpg?400 |}} 
 +__**Task Settings**__\\ 
 +Device: "Environment - DS18b20" auswählen. Hier siehst du übrigens auch, welche Sensoren alle ausgelesen werden können!\\ 
 +Name: Beliebiger Name deines Temp.-Sensors, idealerweise z.B. die UUID deines Channels im VZ.\\ 
 +Enabled: Haken auf "true" setzen\\ 
 +__**Sensor**__\\ 
 +1st GPIO: "GPIO-2 (D4)" auswählen, weil wir den Temperatursensor in der Schaltung dort angeschlossen haben.\\ 
 +Device Address: Hier sollte nach dem ersten speichern die ID deines DS18B20 auswählbar sein!\\ 
 +Device Resolution: "12 Bit" auswählen\\ 
 +__**Data Acquisition**__\\ 
 +Send to Controller ❶: Haken auf "true" setzen\\ 
 +Delay: Hier stellst du ein, wie oft das ESP Temperaturwerte an deine VZ-Instalallation sendet.\\ 
 +__**Values**__\\ 
 +Name: hier muss die UUID deines Channels in deiner Volkszählerinstallation eingetragen werden. Bitte mit Bindestrichen!\\ 
 +Decimals: "3" einstellen\\ 
 +Submit \\ 
 +!! Achtung es kommt in den neuen ESPeasy Version zu einer Fehlermeldung "Ungültige Zeichen" diese kann ignoriert werden die UUID wird trotzdem verwendet\\ 
 +=== Tests durchführen === 
 +Solltest du alle Schritte richtig ausgeführt haben, kannst du nun über "Devices" die gemessene Temperatur in einem grünen Feld angezeigt bekommen und die Werte sollten an deinen VZ übermittelt werden! 
 +{{:hardware:controllers:esp_parametrierung_devices_2.jpg?600 |}} 
 + 
 +\\ 
 + 
 +== Beispiel s0 Zählung == 
 + 
 + 
 + 
 + 
 + 
 +__**Schaltung**__\\ 
 + 
 + 5V Netzteil = D1mini (Eigenversorgung)\\ 
 + 5V Netzteil = s0 = D1mini= Pin D7 (ggf einen Spannungsteiler oder einen Pull-down Widerstand nutzen)\\ 
 + 
 +Hinweise: \\ 
 +Die Norm definiert mindest 3V damit der s0 Ausgang vernünftig funktioniert \\ 
 + 
 +Laut Herstellerdatenblatt ist der ESP nicht für 5V freigegeben , aber in vielen Foren ist bereits bekannt das der ESP 5V mittelfristig ohne Schaden aushält an den GPIO Eingängen \\ 
 +Bei der Eigenversorgung ist aber definitiv die 3V zu wählen ( der D1mini hat dafür eine 5V zu 3V Converter) 
 + 
 + 
 +__**Software**__\\ 
 + 
 +**Frontend**\\ 
 + 
 +Im Frontend Kanal Anlegen Bsp Zählerstand und/oder S0 \\ 
 + 
 + 
 +**ESPeasy**\\ 
 +Wie im oberen Beispiel unter "Devices" ein neuen Sennsor anlegen "Generic - Pulse counter"\\ 
 + 
 +Häkchen bei Enable setzen \\ 
 +GPIO Festlegen = Bsp D7\\ 
 +Typ = Delta/Total \\ 
 +Debounce Time "Entprellzeit" hier den wert des Zählerdefinierte s0 Impulsdauer minus einiger Millisekunde verwenden \\ 
 +Bsp: Orno 1 TE 45A Zähler mit 90ms = Debounce Time 85ms \\ 
 +falls der Wert nicht angeben ist die Norm fordert minimal 30ms\\ 
 + 
 + 
 +Mode Type =Rising\\ 
 +Send to Controller setzen\\ 
 +Intervall festlegen = minimal 1sek ( Bsp 30sek)\\ 
 + 
 +UUID für Delta = S0 Frontend\\ 
 +UUID für Total = Zählerstand Frontend \\ 
 +eintragen \\ 
 + 
 +SUBMIT\\ 
 +!! Achtung es kommt in den neuen ESPeasy Version zu einer Fehlermeldung "Ungültige Zeichen" diese kann ignoriert werden die UUID wird trotzdem verwendet\\ 
 + 
hardware/controllers/espeasy.txt · Zuletzt geändert: 2023/02/12 18:37 von jau