Metainformationen zur Seite

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
howtos_knowledge_base:loxberry_wetterstation:3_software:esp32 [2024/12/31 15:32] Michael Schlenstedthowtos_knowledge_base:loxberry_wetterstation:3_software:esp32 [2025/01/07 16:49] (aktuell) Michael Schlenstedt
Zeile 5: Zeile 5:
 Dann gibt es noch einen Unterschied, ob ihr den [[howtos_knowledge_base:loxberry_wetterstation:13_lightning|Blitzsensor AS3935]] verwenden wollt oder nicht. Wenn ihr den Blitzsensor benutzen wollt, müsst ihr die Firmware selbst kompilieren (oder unsere vorkompilierte, aber eventuell etwas ältere Firmware verwenden). Ohne Blitzsensor könnt ihr die aktuellen vorkompilierten Versionen von ESPEasy verwenden, was das Ganze erheblich vereinfacht. Aber auch das Selbstkompilieren ist keine Raketenwissenschaft mit etwas PC-Erfahrung - ich gebe Euch hier eine detaillierte Anleitung. Dann gibt es noch einen Unterschied, ob ihr den [[howtos_knowledge_base:loxberry_wetterstation:13_lightning|Blitzsensor AS3935]] verwenden wollt oder nicht. Wenn ihr den Blitzsensor benutzen wollt, müsst ihr die Firmware selbst kompilieren (oder unsere vorkompilierte, aber eventuell etwas ältere Firmware verwenden). Ohne Blitzsensor könnt ihr die aktuellen vorkompilierten Versionen von ESPEasy verwenden, was das Ganze erheblich vereinfacht. Aber auch das Selbstkompilieren ist keine Raketenwissenschaft mit etwas PC-Erfahrung - ich gebe Euch hier eine detaillierte Anleitung.
  
-=== Firmware ohne Blitzsensor AS3935 ===+===== Firmware ohne Blitzsensor AS3935 =====
  
 Folgende Software benötigt ihr: Folgende Software benötigt ihr:
Zeile 13: Zeile 13:
 Zunächst ladet ihr Euch das neueste Release der Firmware herunter. Dieses findet ihr unter dem obigen Link unter "Assets". Wählt die Firmware aus, die für euren ESP32 passt - normaler die Standard-ESP32 Firmware, also z.B. ''ESPEasy_mega_20241222_ESP32_binaries.zip'' Zunächst ladet ihr Euch das neueste Release der Firmware herunter. Dieses findet ihr unter dem obigen Link unter "Assets". Wählt die Firmware aus, die für euren ESP32 passt - normaler die Standard-ESP32 Firmware, also z.B. ''ESPEasy_mega_20241222_ESP32_binaries.zip''
  
-Entpackt die Firmwarefiles mit einem [[https://7-zip.de/download.html|ZIP-Programm]] in ein beliebiges Verzeichnis. Das war's an dieser Stelle schon. Macht jetzt im [[#firmware_flashen|Kapitel Firmware flashen]] weiter.+Entpackt die Firmwarefiles mit einem [[https://7-zip.de/download.html|ZIP-Programm]] in ein beliebiges Verzeichnis.
  
-=== Firmware mit Blitzsensor AS3935 ===+Das war's an dieser Stelle schon. Macht jetzt im [[#firmware_flashen|Kapitel Firmware flashen]] weiter. 
 + 
 +===== Firmware mit Blitzsensor AS3935 =====
  
 Leider gibt es keine vorkompilierte Firmware mit ESPEasy, die alle von uns genutzten Sensoren beinhaltet. Deswegen muss die Firmware von uns selbst kompiliert werden. Keine Angst - so schwer ist das nicht. Wer es dennoch nicht hinbekommt, kann sich auch hier die von uns bereits kompilierte Firmware herunterladen. Diese ist vermutlich nicht mehr ganz neu, das macht aber in aller Regel gar nichts. So funktioniert einwandfrei. Download hier: {{:howtos_knowledge_base:loxberry_wetterstation:3_software:esp_easy_mega_20241231_custom_esp32_4m316k_littlefs_eth.zip}} Leider gibt es keine vorkompilierte Firmware mit ESPEasy, die alle von uns genutzten Sensoren beinhaltet. Deswegen muss die Firmware von uns selbst kompiliert werden. Keine Angst - so schwer ist das nicht. Wer es dennoch nicht hinbekommt, kann sich auch hier die von uns bereits kompilierte Firmware herunterladen. Diese ist vermutlich nicht mehr ganz neu, das macht aber in aller Regel gar nichts. So funktioniert einwandfrei. Download hier: {{:howtos_knowledge_base:loxberry_wetterstation:3_software:esp_easy_mega_20241231_custom_esp32_4m316k_littlefs_eth.zip}}
Zeile 81: Zeile 83:
  
 #define DEFAULT_NAME        "lbweatherstation"                        // Enter your device friendly name #define DEFAULT_NAME        "lbweatherstation"                        // Enter your device friendly name
-#define UNIT                                                       // Unit Number+#define UNIT                                                       // Unit Number
 #define DEFAULT_DELAY       60                                       // Sleep Delay in seconds #define DEFAULT_DELAY       60                                       // Sleep Delay in seconds
  
Zeile 130: Zeile 132:
  
 // using a default template, you also need to set a DEFAULT PROTOCOL to a suitable MQTT protocol ! // using a default template, you also need to set a DEFAULT PROTOCOL to a suitable MQTT protocol !
-#define DEFAULT_PUB         "%sysname%/sensors/%tskname%/%valname%" // Enter your pub+#define DEFAULT_PUB         "%sysname%/sensor/%valname%" // Enter your pub
 #define DEFAULT_SUB         "%sysname%/sensors/#"                   // Enter your sub #define DEFAULT_SUB         "%sysname%/sensors/#"                   // Enter your sub
 #define DEFAULT_SERVER      ""                                   // Enter your Server IP address #define DEFAULT_SERVER      ""                                   // Enter your Server IP address
Zeile 178: Zeile 180:
 #define DEFAULT_RULES_OLDENGINE                 true #define DEFAULT_RULES_OLDENGINE                 true
  
-#define DEFAULT_MQTT_RETAIN                     false             // (true|false) Retain MQTT messages?+#define DEFAULT_MQTT_RETAIN                     true             // (true|false) Retain MQTT messages?
 #define DEFAULT_CONTROLLER_DELETE_OLDEST        false             // (true|false) to delete oldest message when queue is full #define DEFAULT_CONTROLLER_DELETE_OLDEST        false             // (true|false) to delete oldest message when queue is full
 #define DEFAULT_CONTROLLER_MUST_CHECK_REPLY     false             // (true|false) Check Acknowledgment #define DEFAULT_CONTROLLER_MUST_CHECK_REPLY     false             // (true|false) Check Acknowledgment
Zeile 243: Zeile 245:
  
 #define CUSTOM_EMERGENCY_FALLBACK_RESET_CREDENTIALS  false #define CUSTOM_EMERGENCY_FALLBACK_RESET_CREDENTIALS  false
-#define CUSTOM_EMERGENCY_FALLBACK_START_AP           false+#define CUSTOM_EMERGENCY_FALLBACK_START_AP           true
  
 #define CUSTOM_EMERGENCY_FALLBACK_ALLOW_MINUTES_UPTIME 10 #define CUSTOM_EMERGENCY_FALLBACK_ALLOW_MINUTES_UPTIME 10
Zeile 273: Zeile 275:
  
  
-// #define FEATURE_SETTINGS_ARCHIVE 1+#define FEATURE_SETTINGS_ARCHIVE 1
 // #define FEATURE_I2CMULTIPLEXER 1 // #define FEATURE_I2CMULTIPLEXER 1
 // #define FEATURE_TRIGONOMETRIC_FUNCTIONS_RULES 1 // #define FEATURE_TRIGONOMETRIC_FUNCTIONS_RULES 1
Zeile 456: Zeile 458:
 #define USES_P049   // MH-Z19 #define USES_P049   // MH-Z19
  
-// #define USES_P050   // TCS34725 RGB Color Sensor with IR filter and White LED+#define USES_P050   // TCS34725 RGB Color Sensor with IR filter and White LED
 #define USES_P051   // AM2320 #define USES_P051   // AM2320
 #define USES_P052   // SenseAir #define USES_P052   // SenseAir
Zeile 498: Zeile 500:
 // #define USES_P087   // Serial Proxy // #define USES_P087   // Serial Proxy
 // #define USES_P088   // HeatpumpIR // #define USES_P088   // HeatpumpIR
-// #define USES_P089   // Ping+#define USES_P089   // Ping
  
 #define USES_P090   // CCS811 TVOC #define USES_P090   // CCS811 TVOC
Zeile 522: Zeile 524:
 // #define USES_P109   // ThermoOLED // #define USES_P109   // ThermoOLED
  
-// #define USES_P110   // VL53L0X Time of Flight sensor+#define USES_P110   // VL53L0X Time of Flight sensor
 // #define USES_P111   // MFRC522 RFID reader // #define USES_P111   // MFRC522 RFID reader
-// #define USES_P112   // AS7265x +#define USES_P112   // AS7265x 
-// #define USES_P113   // VL53L1X ToF+#define USES_P113   // VL53L1X ToF
 #define USES_P114   // VEML6075 #define USES_P114   // VEML6075
 // #define USES_P115   // MAX1704x // #define USES_P115   // MAX1704x
Zeile 633: Zeile 635:
  
 #endif // ESPEASY_CUSTOM_H #endif // ESPEASY_CUSTOM_H
 +
 </code> </code>
  
Zeile 643: Zeile 646:
 Das war's an dieser Stelle - Du hast es geschafft! Macht jetzt im [[#firmware_flashen|Kapitel Firmware flashen]] weiter. Das war's an dieser Stelle - Du hast es geschafft! Macht jetzt im [[#firmware_flashen|Kapitel Firmware flashen]] weiter.
  
-=== Firmware flashen ===+===== Firmware flashen =====
  
 Folgende Software benötigt ihr: Folgende Software benötigt ihr:
Zeile 662: Zeile 665:
 Setzt vorne den Haken und gebt hinten als Startadresse hinter dem @-Zeichen ''0x0'' ein. Den SPI-Mode setzt ihr noch auf ''DOUT'' und wählt ganz unten den korrekten COM-Port aus, also z. B. ''COM3''. Danach klickt ihr auf ''START'' und der Flashvorgang sollte starten. Er dauert ungefähr 2 Minuten. Setzt vorne den Haken und gebt hinten als Startadresse hinter dem @-Zeichen ''0x0'' ein. Den SPI-Mode setzt ihr noch auf ''DOUT'' und wählt ganz unten den korrekten COM-Port aus, also z. B. ''COM3''. Danach klickt ihr auf ''START'' und der Flashvorgang sollte starten. Er dauert ungefähr 2 Minuten.
  
-{{howtos_knowledge_base:loxberry_wetterstation:3_software:pasted:20241230-062458.png?400}}+{{howtos_knowledge_base:loxberry_wetterstation:3_software:pasted:20241231-155755.png?400}}
  
 Das war's. Macht jetzt im [[#Konfiguration|Kapitel Konfiguration]] weiter. Das war's. Macht jetzt im [[#Konfiguration|Kapitel Konfiguration]] weiter.
  
-=== Konfiguration ===+===== Konfiguration =====
  
 Zieht den ESP32 vom USB ab und installiert und startet dann ''PuTTY''. PuTTY stellt ihr auf eine Serielle Verbindung ein und gebt den COM-Port an, der eurem ESP32 von Windows zugewiesen wurde. Die Geschwindigkeit stellt ihr auf ''115200''. Zieht den ESP32 vom USB ab und installiert und startet dann ''PuTTY''. PuTTY stellt ihr auf eine Serielle Verbindung ein und gebt den COM-Port an, der eurem ESP32 von Windows zugewiesen wurde. Die Geschwindigkeit stellt ihr auf ''115200''.
Zeile 672: Zeile 675:
 {{howtos_knowledge_base:loxberry_wetterstation:3_software:pasted:20241230-062946.png?400}} {{howtos_knowledge_base:loxberry_wetterstation:3_software:pasted:20241230-062946.png?400}}
  
-Nun verbindet ihr den ESP32 wieder mit dem Rechner, wartet 1-2 Sekunden, bis der ESP erkannt wurde und klickt in PuTTY dann auf ''Open''. Ihr solltet nun in PuTTY die Bootmeldungen des ESP32 sehen und er sollte das WLAN zur Erstkonfiguration aufmachen - die Meldungen sollten in etwa so aussehen:+Nun verbindet ihr den ESP32 wieder mit dem Rechner, wartet 1-2 Sekunden, bis der ESP erkannt wurde und klickt in PuTTY dann auf ''Open''. Ihr solltet nun in PuTTY die Bootmeldungen des ESP32 sehen und er sollte das WLAN zur Erstkonfiguration aufmachen - die Meldungen sollten in etwa so aussehen und Euch die SSID des AP sowie die temporäre IP-Adresse des ESP32 mitteilen: 
 + 
 +{{howtos_knowledge_base:loxberry_wetterstation:3_software:pasted:20241231-160131.png?400}}
  
-Der ESP macht wie üblich ein eigenes WLAN auf - der Name variiert je nach Firmware etwas. Er lautet ''ESP_Easy'', ''ESPEasy'','' ESPEasy_Collection_G'', ''lbweatherstation'' oder ähnlich. Das WLAN-Passwort ist ''configesp''. Verbindet Euch mit dem WLAN und konfiguriert euer eigenes WLAN wie üblich. Anschließend startet der ESP neu und verbindet sich mit eurem eigenen WLAN. Wie immer findet ihr in eurem Router die IP-Adresse des neuen Gerätes heraus. Ruft die IP-Adresse in eurem Browser aus.+Der ESP macht wie üblich ein eigenes WLAN auf - der Name variiert je nach Firmware etwas (siehe oben - ihr seht den Namen in den Bootmeldungen). Er lautet ''ESP_Easy'', ''ESPEasy'', ''ESP_Easy_Collection_G'', ''lbweatherstation'' oder ähnlich. Das WLAN-Passwort ist ''configesp''. Verbindet Euch mit dem WLAN und konfiguriert euer eigenes WLAN wie üblich (Achtung! Der AP des ESP32 wird nach einer gewissen Zeit der Inaktivität geschlossen. Startet in dem Fall des ESP einfach nochmal neu). Anschließend startet der ESP neu und verbindet sich mit eurem eigenen WLAN. Wie immer findet ihr in eurem Router die IP-Adresse des neuen Gerätes heraus - der ESP zeigt sie Euch in PuTTY aber auch in den Bootmeldungen an. Ruft die IP-Adresse in eurem Browser aus.
  
 Unter ''Config'' vergebt ihr nun einen Unit-Namen (Hostnamen) und eine Unit-Nummer. Die Unit-Nummer ist beliebig, sollte aber eindeutig sein - sie dient der Kommunikation verschiedener ESPEasy Installationen untereinander. Wir nutzen dieses Feature allerdings nicht weiter. Vergebt ein Admin-Passwort für das Webinterface. Der Zugang ist dann durch den User ''admin'' mit passendem Kennwort geschützt. Den Rest lasst ihr hier auf den Standardeinstellungen. Unter ''Config'' vergebt ihr nun einen Unit-Namen (Hostnamen) und eine Unit-Nummer. Die Unit-Nummer ist beliebig, sollte aber eindeutig sein - sie dient der Kommunikation verschiedener ESPEasy Installationen untereinander. Wir nutzen dieses Feature allerdings nicht weiter. Vergebt ein Admin-Passwort für das Webinterface. Der Zugang ist dann durch den User ''admin'' mit passendem Kennwort geschützt. Den Rest lasst ihr hier auf den Standardeinstellungen.
Zeile 686: Zeile 691:
 Im Tab ''Controllers'' fügen wir einen neuen Controller hinzu (bzw. editieren den bereits unter 1 angelegten Controller). Controller dienen der Kommunikation - wir richten hier unseren MQTT Broker ein. Als Protokoll wählt ihr ''Home Assistent (openHAB) MQTT'' aus und gebt die IP-Adresse und Port eures MQTT Brokers ein (normalerweise die IP-Adresse euer LoxBerry und Port ''1883''). Weiter unten unter ''Credentials'' aktiviert ihr ''Use Extended Credentials'' und gebt User und Passwort für euren MQTT Broker ein. Die notwendigen Einstellungen findet ihr im LoxBerry im MQTT Widget. Unter ''MQTT'' setzt ihr nun noch folgende Einstellungen: Im Tab ''Controllers'' fügen wir einen neuen Controller hinzu (bzw. editieren den bereits unter 1 angelegten Controller). Controller dienen der Kommunikation - wir richten hier unseren MQTT Broker ein. Als Protokoll wählt ihr ''Home Assistent (openHAB) MQTT'' aus und gebt die IP-Adresse und Port eures MQTT Brokers ein (normalerweise die IP-Adresse euer LoxBerry und Port ''1883''). Weiter unten unter ''Credentials'' aktiviert ihr ''Use Extended Credentials'' und gebt User und Passwort für euren MQTT Broker ein. Die notwendigen Einstellungen findet ihr im LoxBerry im MQTT Widget. Unter ''MQTT'' setzt ihr nun noch folgende Einstellungen:
  
-  * Controller Subscribe: ''%sysname%/sensors/#'' +  * Controller Subscribe: ''%sysname%/sensor/#'' 
-  * Controller Publish: ''%sysname%/sensors/%tskname%/%valname%''+  * Controller Publish: ''%sysname%/sensor/%valname%''
   * Controller LWT Topic: ''%sysname%/status''   * Controller LWT Topic: ''%sysname%/status''
   * LWT Connect Message: ''running''   * LWT Connect Message: ''running''
Zeile 694: Zeile 699:
   * Enabled: ''Ja''   * Enabled: ''Ja''
  
-{{howtos_knowledge_base:loxberry_wetterstation:3_software:pasted:20241231-094535.png?400}}+{{:howtos_knowledge_base:loxberry_wetterstation:3_software:pasted:20250103-053929.png?400}}
  
 Anschließend sollte sich der ESP mit eurem MQTT Broker verbinden. Prüft den Status im ''Config'' Tab (gebt ihm ein paar Sekunden um sich zu verbinden). Anschließend sollte sich der ESP mit eurem MQTT Broker verbinden. Prüft den Status im ''Config'' Tab (gebt ihm ein paar Sekunden um sich zu verbinden).