ESP32 Weather Station (180468)

Here we present a specific application with a weather station built around the ESP32, which makes all data directly available online.
Lates Firmware and beta releases can be found on out GitHub page
Information on new Firmware can be found here
The ESP32 board is a versatile and very affordable development platform that is quite suitable for all sorts of home automation projects. Here we present a specific application with a weather station built around the ESP32, which makes all data directly available online.
The ESP32 Weather Station measures the usual weather parameters: temperature, wind direction and wind speed, humidity, air pressure and precipitation. With a suitable sensor, such as the Nova Fitness SDS-011 (PM2.5, resolution 0.3 µg/m3), it can also measure the concentration of fine particles. A Bosch BME280 sensor is used to measure the temperature, humidity and air pressure. For wind speed, wind direction and precipitation we use a weather station kit that is available in the Elektor Store.
The ESP32 makes the measurements and can upload the resulting data to Thingspeak or senseBox. Thingspeak is an online database operated by Mathworks, where you can upload data and view it nicely plotted in charts. The data can also be processed with Matlab.
SenseBox acts as a sort of open-source synoptic weather map. Users who have a senseBox kit or other senseBox compatible device can upload their measurements, which are then displayed on a world map and visible to everyone.
The circuit can be powered from a 12 V lead-acid battery. If you would like to use a 12 V solar panel to charge the battery, we have a handy built-in feature for you: the ESP32 can close a relay when the battery is low and open it when the battery is again fully charged. The ESP32 uses a voltage divider with resistor values of 470 kΩ and 100 kΩ to measure the battery voltage, so you can adapt the start and stop points for battery charging in the software if necessary. LED3 indicates the battery charging status. We use a simple FET (T1) as a buffer to drive the relay. Diode D3 acts as a snubber to suppress voltage spikes from the relay coil and protect T1 against premature failure. Resistor R10 limits the base current, while R7 limits the current through LED3, as do resistors R8 and R9 for LED2 and LED1, respectively. A DC/DC converter (IC1) reduces the power supply voltage to 5 V. This converter is a good deal more efficient than a standard 7805 voltage regulator, so it is a better choice for a battery-powered circuit. On the ESP32 board, the 5 V supply voltage is converted to 3.3 V by a type 1117 voltage regulator IC, and this voltage is available on the board’s connector for use elsewhere (that’s where the 3V3 in the schematic comes from).
Diode D4 protects the ESP32 against any overvoltage from the battery (via voltage divider R11/R12), while capacitor C4 suppresses noise spikes to foster stable readout of the battery voltage.
Resistors R4 through R6 are pull-up resistors that are necessary for proper operation of the corresponding signal lines.
The wind sensor consists of a wind vane for measuring the wind direction and an anemometer for measuring the wind speed. The internal resistance of the wind vane changes depending on the wind direction.
We combined a 10 kΩ resistor (R2) with this wind direction dependent resistance to form a voltage divider. The resulting voltage changes when the wind vane sensor resistance changes, and it can be measured by the ESP32.
The anemometer has a reed switch that generates two pulses for each rotation. According to the data sheet, the wind speed in m/s is equal to the pulse frequency (in Hz) multiplied by 0.33. For determination of the rotation frequency, the data sheet says that the time interval between two pulses (in seconds) should be multiplied by 2 (since the sensor generates two pules per rotation), and then the rotation frequency can be calculated as the inverse of this time interval. If you multiply that value by 0.66, you get the wind speed in metres per second. The wind speed in km/h can be calculated by multiplying the speed in m/s by 3.6. In other words, 1 rps corresponds to a wind speed of 2.4 km/h.
To obtain access to the web page, you have to connect to the ESP32 network provided by the ESP32. Then you can open the web page at the IP address 192.168.4.1. Note that with smartphones (e.g. Android) you must temporarily disable mobile data, because smartphones often switch automatically to mobile data if they do not detect an valid Internet connection via WiFi. In that case the configuration page will not be available.
The web page consists of a single HTML file, which in turn consists of three sections. The "style type='text/css'" element at the top defines the appearance of the page, the "body" element contains the structure and content of the page, and the "script" element at the bottom defines the functionality of the page. For the web page to work properly, javascript must be enabled in the web browser.
The communication between the web page and the ESP32 is done via an ‘asynchronous XMLHttpRequest’ on the web page. When the page is loaded, an http request is generated and sent to the ESP32. The ESP32 receives this request and sends an answer back to the web page with the requested settings or values. For example, when you press a Submit button on the web page, a similar request is sent that now contains the values you entered.
Information on new Firmware can be found here
The ESP32 board is a versatile and very affordable development platform that is quite suitable for all sorts of home automation projects. Here we present a specific application with a weather station built around the ESP32, which makes all data directly available online.
The ESP32 Weather Station measures the usual weather parameters: temperature, wind direction and wind speed, humidity, air pressure and precipitation. With a suitable sensor, such as the Nova Fitness SDS-011 (PM2.5, resolution 0.3 µg/m3), it can also measure the concentration of fine particles. A Bosch BME280 sensor is used to measure the temperature, humidity and air pressure. For wind speed, wind direction and precipitation we use a weather station kit that is available in the Elektor Store.
Features
- Measures temperature, wind direction and wind speed, humidity, air pressure and precipitation
- Optional sensor for fine particles: Nova Fitness SDS-011
- Additional ports for Grove sensors or other devices
- Supports Thingspeak and senseBox
- Can be configured on the internal web page of the ESP32
- Operates from a solar panel, 12 V battery, and/or 8-28 V DC adapter
The ESP32 makes the measurements and can upload the resulting data to Thingspeak or senseBox. Thingspeak is an online database operated by Mathworks, where you can upload data and view it nicely plotted in charts. The data can also be processed with Matlab.
SenseBox acts as a sort of open-source synoptic weather map. Users who have a senseBox kit or other senseBox compatible device can upload their measurements, which are then displayed on a world map and visible to everyone.
Hardware
The weather station is built around the ESP32 Pico Kit, which handles all the necessary tasks. To make sensor connection and fitting in a waterproof enclosure (a Fibox PC 100/60 HT) a bit easier, we designed a carrier board. The wind and rain sensors are connected to the carrier board through RJ45 connectors, while the BME280 and SDS011 sensors are connected through JST XH connectors. The BME280 sensor uses the I2C bus, and the SDS011 sensor uses a UART port. We also implemented two additional ports on the board to allow supplementary sensors (or other sensors) or peripheral devices to be read. The first additional port consists of a Grove I2C connector for Grove modules from Seeed studio. The second is an FTDI port that feeds out a UART connection.The circuit can be powered from a 12 V lead-acid battery. If you would like to use a 12 V solar panel to charge the battery, we have a handy built-in feature for you: the ESP32 can close a relay when the battery is low and open it when the battery is again fully charged. The ESP32 uses a voltage divider with resistor values of 470 kΩ and 100 kΩ to measure the battery voltage, so you can adapt the start and stop points for battery charging in the software if necessary. LED3 indicates the battery charging status. We use a simple FET (T1) as a buffer to drive the relay. Diode D3 acts as a snubber to suppress voltage spikes from the relay coil and protect T1 against premature failure. Resistor R10 limits the base current, while R7 limits the current through LED3, as do resistors R8 and R9 for LED2 and LED1, respectively. A DC/DC converter (IC1) reduces the power supply voltage to 5 V. This converter is a good deal more efficient than a standard 7805 voltage regulator, so it is a better choice for a battery-powered circuit. On the ESP32 board, the 5 V supply voltage is converted to 3.3 V by a type 1117 voltage regulator IC, and this voltage is available on the board’s connector for use elsewhere (that’s where the 3V3 in the schematic comes from).
Diode D4 protects the ESP32 against any overvoltage from the battery (via voltage divider R11/R12), while capacitor C4 suppresses noise spikes to foster stable readout of the battery voltage.
Resistors R4 through R6 are pull-up resistors that are necessary for proper operation of the corresponding signal lines.
Rain and wind sensors
The rain sensor consists of a small tray that fills with rainwater. When it is full, it tips and briefly closes a reed switch contact that is monitored by the ESP32. According to the datasheet, each tip of the tray corresponds to 0.33 mm of precipitation.The wind sensor consists of a wind vane for measuring the wind direction and an anemometer for measuring the wind speed. The internal resistance of the wind vane changes depending on the wind direction.
We combined a 10 kΩ resistor (R2) with this wind direction dependent resistance to form a voltage divider. The resulting voltage changes when the wind vane sensor resistance changes, and it can be measured by the ESP32.
The anemometer has a reed switch that generates two pulses for each rotation. According to the data sheet, the wind speed in m/s is equal to the pulse frequency (in Hz) multiplied by 0.33. For determination of the rotation frequency, the data sheet says that the time interval between two pulses (in seconds) should be multiplied by 2 (since the sensor generates two pules per rotation), and then the rotation frequency can be calculated as the inverse of this time interval. If you multiply that value by 0.66, you get the wind speed in metres per second. The wind speed in km/h can be calculated by multiplying the speed in m/s by 3.6. In other words, 1 rps corresponds to a wind speed of 2.4 km/h.
Uploading the software
In order to upload the software to the ESP32, you first have to install the ESP32 Arduino core. Then you have to install the SPIFFS download tool in order to download the web page to the file system of the ESP32 [8]. Once everything is correctly installed, you can select the ESP32 Pico Kit in the boards menu and then download the web page and the sketch.Software
As previously mentioned, the weather station is controlled by the ESP32. You can configure it on a web page hosted directly by the ESP32. When the ESP32 starts up, it tries to connect to the configured network. If that fails, the ESP32 launches the web server that hosts the configuration page. The web server can also be launched manually by pressing the button on the board while switching on power, or by pressing the EN button on the ESP32 module. If the user has not done anything on the configuration page for ten minutes, the ESP32 restarts and connects to the configured network. You can suppress this by keeping the button pressed or bypassing the button. On the configuration page you can view the current measurements as well as the measured battery voltage. You can also configure the network settings and the upload settings. The network settings include the SSID (name) of the network, which can be selected from a list, and the password. The upload settings include the required API keys for Thingspeak and senseBox, as well as the upload interval.To obtain access to the web page, you have to connect to the ESP32 network provided by the ESP32. Then you can open the web page at the IP address 192.168.4.1. Note that with smartphones (e.g. Android) you must temporarily disable mobile data, because smartphones often switch automatically to mobile data if they do not detect an valid Internet connection via WiFi. In that case the configuration page will not be available.
The web page consists of a single HTML file, which in turn consists of three sections. The "style type='text/css'" element at the top defines the appearance of the page, the "body" element contains the structure and content of the page, and the "script" element at the bottom defines the functionality of the page. For the web page to work properly, javascript must be enabled in the web browser.
The communication between the web page and the ESP32 is done via an ‘asynchronous XMLHttpRequest’ on the web page. When the page is loaded, an http request is generated and sent to the ESP32. The ESP32 receives this request and sends an answer back to the web page with the requested settings or values. For example, when you press a Submit button on the web page, a similar request is sent that now contains the values you entered.
Discussion (29 comments)
netzwerk-manne 1 year ago
Wie bereits vor ca. 2 Jahren wurde woh nun wieder das Root-Zertifikat für die Datenübermittlung auf OpenSenseMap gewechselt. So habe ich das zumindet verstanden. Leider sprechen die Herrschaften dort nur "Fachchinesisch", sodass ist das als normaler Anwerden nicht verstehen kann.
Ich wäre Ihnen sehr dankbar, wenn Sie sich das bitte noch einmal anschauen könnten, damit wir unsere schöne Wetterstation auf unserem Modellflugplatz wieder zum Laufen bekommen könnten.
Ich habe hier einmal die letzte Info der Sensor.Community beigefügt.
| | mario
1. April Der PR für die Sensor.Community firmware wurde gemerged und die neue Firmware sollte über OTA Update zur verfügung stehen. Konnte bereits jemand das update testen?
→ Replace DST Root CA X3 with ISRG Root X1 by Phaze-III · Pull Request #1015 · opendata-stuttgart/sensors-software · GitHub
Rufe das Thema auf, um zu antworten.
Viele Grüße und schöne Ostern wünscht
Manfred Köhler
Daniel Dancopy Fernandes 3 years ago
Mathias Clauszen 3 years ago
Regards
Mathias Claußen
netzwerk-manne 3 years ago
Wir setzen die ESP32 Wetterstation seit Anfang an auf unserem Modellfugplatz des MBC-Lehrte ein. Es funktioniert soweit alles sehr gut (auch nach der Anpassung für das SSL-Zertifikat der Sensebox).
Das einzige Manko ist, dass die Windgeschwindigkeit nur gemittelt angezeigt wird. Für uns Modellflieger wären aber auch Böen sehr interessant. Wir übermitteln die Daten alle 10 Minuten, da wir das über LTE machen müssen.
Es würde reichen, wenn in der gemittelten Windgeschwindigkeit die höchste Böe mit ausgegeben werden würde. Also z.B. Winspeed=12 hmh in Böen bis zu 25 kmh.
Ließe sich eine derartige Code-Erweiterung durchführen?
Viele Grüße
Manfred Köhler
Mathias Clauszen 3 years ago
Technisch ist das einfügen einer solchen funktion oder feldes möglich, jedoch wird die Firmware für die Station im Moment nicht mehr aktiv weiter etwickelt. Daher kann ich Ihnen nicht versprechen das diese Funktion zeitnahe bereit steht. Damit aber die Anregung nicht vergessen wird lege ich Sie als Idee den Kollegen vor so das intern geklärt werden kann ob und wie eine solche Funktion sich in der Station nachpflegen lässt.
Mif freundlichen Grüßen
Mathias Claußen
Sebastian Bernhard 3 years ago
Danke
netzwerk-manne 3 years ago
im Regensensor, Anemometer und der Windrichtungsfahne sind überall dieselben Reedkontakte verbaut. Weil meine allesamt nicht zuverlässig geschaltet hatten, habe ich sie gegen diese hier ersetzt:
Gebildet 10 stücke Kunststoff Reedschalter Reedkontakt Schließer (N/O) Magnetischer Induktionsschalter (3mm×14mm): Amazon.de: Baumarkt
Gruß Manfred
Sebastian Bernhard 3 years ago
ich habe die Wetterstation seit einigen Wochen in Betrieb, sie funktioniert so weit, nur auf der Homepage des ESP wird die Regenmenge nicht angezeigt. Wenn ich mir die Daten per MQTT an meinen Server weiter leite wird die Regenmenege aber erfolgreich über mittelt. Deswegen gehe ich hier nicht von einem Harwareproblem aus. Hat jemand von euch das gleich Problem, bzw. diese schon gelöst?
Gruß Basti
Mathias Clauszen 3 years ago
nein diese Verhalten wurde bisher noch nicht beobachtet. Welche Version der Software ist eim Einsatz?
Mit freundlichen Grüßen
Mathias Claußen
Sebastian Bernhard 3 years ago
das ist eine gute Frage, ich meine das war damals 1.5.6. Wollte es gerade im Quellcode suchen, habs aber leider nicht gefunden. Steht die Version irgendwo im Quellcode?
Gruß Basti
Mathias Clauszen 3 years ago
es scheint ein Bug in der station zu sein. Wenn nur MQTT verwendet wird, dann werden zwar die MQTT Daten korrekt bereit gestellt, jedoch die Regenmenge innerhalb der Station nicht aktualisiert. rainAmountAvg wird nie mit einem neuen Wert versorgt wenn nur MQTT verwendet wird.
Mit freundlichen Grüßen
Mathias Claußen
Sebastian Bernhard 3 years ago
ja bei mir ist nur MQTT aktiv. Mein Ziel war es die Daten nur für meine Hausautomation zu verarbeiten und ggf. die Daten auf der Homepage des ESP zu verifzieren. Wie geht es weiter gibt es eine neue SW? Oder gibt es einen anderen Trick? Ich wollte aufjedenfall keine Daten ins Netz stellen.
Gruß Basti
Mathias Clauszen 3 years ago
an das Patchen ist möglich, wird aber ein zwei tage dauern. Die stelle sollte recht fix zu beheben sein.
Mit freundlichen grüßen
Mathias Claußen
Sebastian Bernhard 3 years ago
ich wollt mal nachfragen wie es den im mit dem fixen des Bugs vorran geht?
Gruss Basti
Mathias Clauszen 3 years ago
Mit freundlichen Grüßen
Mathias Claußen
Mathias_Claussen(Elektor) 3 years ago
Sebastian Bernhard 3 years ago
vielen Dank, hat geklappt. Ich werd aber den Reedkontakt des Regenmesser noch auf die andere Seite der Platine löten, da dieser im Moment nicht zuverlässig schaltet. Danach sollte alles funktionieren. Vielen Dank
John Groezinger 4 years ago
Alain HERVE 4 years ago
Pressure and temperature functions of the outdoor unit are not used by the 180468 PWB.
You need to buy a BME280 board and a SDS011 if you want to get temperature, air pressure, humidity and particles measurement.
John Groezinger 4 years ago
PiPais 4 years ago
The electronic board delivered with the meteo kit has to be deposited because not used! You have to replace it by the BME280 sensor board, and wire the four connections (SDA/SCL/GRND/VCC) to the main board to the RJ45 connector.
netzwerk-manne 4 years ago
ich betreibe die ESP-32 Wetterstation seit Anfang an auf unserem Modellflugplatz Lehrte. Doch seit nunmehr 8 Tagen werden keine Daten mehr von der OpensenseMap angenommen! Die Elektronik und Verbindung funktioniert einwandfrei.
Wie ich nun erfahren habe, hat die OpensenseMap am 10.01.2021 das Zertifikat getauscht und akzeptiert wohl nur noch ssl-Verbindungen!
Frage: wie kann ich nun auf dem ESP-32 ein Zertifikat einbinden, damit die Ãœbertragung wieder funktioniert?
MfG
Manfred Köhler
Hermann 4 years ago
ich habe genau das gleiche Problem, seit 10.01.2021 werden keine Daten angenommen.
Wäre schön, wenn es dafür eine Lösung gäbe, sind wir die einzigsten die die Wetterdaten
zu OpensenseMap senden?
Viele Grüße
Hermann
Mathias Clauszen 4 years ago
danke für den Hinweis, das patchen wird "etwas" dauern und auch das anpassen des SSL zerifikates.
Das aktuell verwendet Zertifiakt ist in sslCertificate.h zu finden und die station solle die daten per SSL austauschen.
Mit freundlichen Grüßen
Mathias Claußen
netzwerk-manne 4 years ago
Gibt es bezüglich des SSL-Zertifikates schon etwas neues oder eine zeitliche Vorstellung?
Gruß
Manfred
Mathias Clauszen 4 years ago
es ist angedacht Donnerstag oder Freitag den patch mit dem neuen Zertifikat bereit zu stellen, oder den Code so anzupassen das zumindest die SSL verbinding wieder sauber aufgebaut.
Mit freundlichen Grüßen
Mathias Claußen
Mathias_Claussen(Elektor) 4 years ago
leider wird es doch etwas mehr Zeit in Anspruch nehmen die SSL verbinding zu fixen. Es kann sein das "größere" umbauten im Code nötig werde um nich alle paar monate ein neues Zertifiakt einfügen zu müssen ( Das aktuell sollte mitte April auslaufen und ist eines von Let's Encrypt ).
Ein genaues Zeitfenster kann ich leider noch nicht Sagen, es ist zumindets erst einmal der kommende Freitag komplett für das Patchenn freigeräumt worden.
Mit freundlichen Grüßen
Mathias Claußen
Mathias_Claussen(Elektor) 4 years ago
es sind die neuen SSL-Zertifikate in der Software hinterlegt. Daten können so wieder and openSensemap gesendet werden. Der code ist unter https://github.com/ElektorLabs/180468-ESP32-Weatherstation verfügbar.
Mit freundlichen Grüßen
Mathias Claußen
netzwerk-manne 4 years ago
Mathias Clauszen 4 years ago
es ist ein Zertifikat getauscht und ein neues hinzugefügt worde, die anpassungen dafür seine Zeile um beide Zertifikate zu laden. Nur das tasuchen des Zertifikates für https://opensensemap.org/ nötig, sondern es muss auch noch das root CA von Let's Encrypt mit aufgenommen werden. Die Anpassungen / änderugen lassen sich recht gut bei Github verfolgen.
Mit freundlichen Grüßen
Mathias Claußen
flash_inet 2 years ago
Mathias_Claussen(Elektor) 2 years ago
Mit freundlichen grüßen
Mathias Claußen
flash_inet 2 years ago
Mathias_Claussen(Elektor) 2 years ago
der Code dieser Station ist in weiten Teile immer noch die gleiche Basis wie bei der Publikation. Ein paar stellen wurde überarbeitet, und einige Funktionen hinzugefügt. Eine komplette Überarbeitung für den Code hat bisher nicht stattgefunden, auch wenn es nötig wäre.
Mit freundlichen Grüßen
Mathias Claußen
PiPais 4 years ago
I found an issue when the connection to the wifi network is lost. The webserver restart automaticaly (I have seen it from the debug serial Arduino monitor), but the access to the server is not possible anymore (no reply).
During this time, the connection to ThingsSpeak continue normally, the datas are sent by the ESP. Also, a ping to the IP@ is correct.
If I restart the ESP, of course, everything run again, until the next disconnection from the network.
Is this issue already known ?
Well, the way I have found is to replace the code line "initWiFi();" by "ESP.restart();" in espweatherstation module...
Nick de Smith 5 years ago
Missing an underscore: "_"...
Mathias Clauszen 5 years ago
thanks for the bugreport, we will try to upload the fixed code in the next few days
Best Regards
Mathias Claußen
Sascha Löbbert 5 years ago
Ich habe mir nun auch das Kit zugelegt und alles installiert. Läuft bis jetzt auch alles prima, allerdings muss ich auch noch ein paar Dinge anschließen und installieren. Miene Frage nun, wie habt ihr die zusätzlichen Sensoren installiert? Bspw. den UV und den Lichtsensor und wo habt ihr, falls installiert, die Feinstaubsensor installiert.
ElektorLabs 5 years ago
https://www.elektormagazine.com/labs/remake-elektor-weather-station
and yes we added a sd-card option to the station
ElektorLabs 4 years ago
the development is done, but do to the delivery chains being interrupted the whole Kit of Parts will be a bit delayed. PCB, Display , SD-Card interface, this should be by now in the shop. More information about the hardware can be found here: https://www.elektormagazine.com/labs/remake-elektor-weather-station
Best Regards
Elektor Labs
raphaelschmitz 4 years ago
wandreas 5 years ago
Elektor vertreibt ein Komplettkit für den Selbstbau.
In der Beschreibung ist ausführlich der Anschluss von Wind und Regen beschrieben. Auf dem Foto dazu ist auch der Temp/Feuchte-Sensor zu sehen mit einem selbstgefertigten Kabel für I2C. Aber wie erfolgt der Anschluss im Sensor? Auf der Platine ist kein I2C zu erkennen. Ist es notwendig die Batterien in diesem Sensor zu bestücken?
Hermann 5 years ago
Die Platine mit den Batterien habe ich weggeworfen und ein BME280 Modul eingebaut. Die Platine ist ein Funkmodul, die Sensoren wurden wohl in einer anderen Wetterstation verbaut.
​Meine Wetterstation https://opensensemap.org/explore/5d1a126430bde6001a2969c1
Viele Grüße
Hermann
Daniel Dancopy Fernandes 5 years ago
Thank you
Mathias Clauszen 5 years ago
you need to upload the firmware and the html data to the station
see https://www.elektormagazine.com/labs/esp32-getting-started for a general guide
Regards
Mathias
ADDE Daniel 5 years ago
Je souhaite de l'aide pour réaliser cette station météo.
J'aurais besoin de m'expliquer comment installer la page web et le logiciel dans l'ESP32.
J'ai acheté le kit. Je ne comprend pas bien ce qui faut installer sur la mémoire flash de l'ESP32. Est-ce uniquement le fichier HTML (répertoire DATA) ou ce fichier avec le firmware?
Merci
Dan
Kishor Kumar 5 years ago
JakkeTet 5 years ago
did some tinkering with my son and pushed to GitHub, work in progress
• Removed SDS011 PM sensor and replaced by PMS5003 or PM-E5 (hippocampus)
â—¦ because more particle sizes are detect with this sensor
• Adapted project to platform.io
• Added upload to Ubidots For Education (was a little tricky but works...)
• Added some more & adapted Adafruit sensors like:
â—¦ Adafruit_BME280
â—¦ Adafruit_TSL2591 lux sensor
â—¦ Adafruit_VEML6075 UV sensor
◦ used a real 5K 360° 5K potmeter for winddirection, put some 501ohm R in both + & - for better calibration of potmeter.
â—¦ windspeed will be added later and probably based on a pro model anemometer and probably pulsed, to be decided.
◦ Adafruit_MAX31865 RTD P1000 for precision T° measurements, can be 2-3 or 4-wire measurement and can be placed away from housing for precision measurements.
â—¦ humidity will be Elektor ENS210 but not yet ordered :-)
â—¦ rainmeter may be home development
Work in progress!
Feel free to comment!
Jacques.
Muhammad Haroon Khan 5 years ago
H. Berkenbosch 5 years ago
Domoticz wants to have a idx to it.
A qmtt message without that is refused by Domoticz
Also after activating and deactivating the thingspeak or Sensebox options there still are
messages send out .
ElektorLabs 5 years ago
we have it on our list and will determine how to get the feature in the next firmware release.
Best Regards
ElekorLabs
Mathias Clauszen 5 years ago
We put that on our new feature list, but be a bit patient
Regards
Mathias Claußen
Uwe Zimprich 5 years ago
Ich habe sie aufgespielt um sie zu testen.
Der Web Server funktioniert soweit. Leider habe ich Probleme mir dem IO Brocker.
Dort benutze ich den Mqtt Adapter von Sonoff der auf einen anderen Port läuft.
Leider bekomme ich keine Verbindung bzw die Wetterstation wird nicht eingebunden bzw gefunden.
Ich vermute mal das die Konfiguration nicht richtig ist.
Bei den MQTT Server muss das mit oder ohne Http sein. Der Port bei mit ist 1883 und nicht 1885 wie bei anderen Mqtt.
Bei MQTT Topic habe ich zur Zeit sonoff eingetragen. Ich vermute das dort der Fehler liegt. Wie ist da die Konfiguration das alle Daten übertragen werden.
Ich hänge mal ein Bild an. Vielleicht ist ja noch was anderes verkehrt.
Vielen Dank und Grüße
Uwe
ElektorLabs 5 years ago
danke für den Bugreport. Die instabilitäten werden wir uns Anschauen, leider kann das aber etwas dauern. Für die UV und Lux Werte wird in dem Zuge dann auch die Firmware mit gepatched.
Mit freundlichen Grüßen
ElektorLabs
Michael Jochum 5 years ago
Ist doch nicht stabil.
Nach ca. 1 Stunde resetete er teilweise. Ab da keine Messwerterfassung mehr. Kein Update der eigenen Webseite, keine Senden zum Brocker.
Serial Log:
----------------
Published in /ElektorWetter/Station/battery the Message:4.682346
Published in /ElektorWetter/Station/charging the Message:true
Weather data requested
Sending: 0.00,0 (Calm),6,23.34,48.69,986.85,0.00,0.00,0.00
Weather data requested
Sending: 0.00,0 (Calm),6,23.35,48.72,986.85,0.00,0.00,0.00
Send for IOBroker
Published in /ElektorWetter/Weather/Direction the Message:14
Published in /ElektorWetter/Weather/Speed the Message:0
Published in /ElektorWetter/Weather/Rain the Message:0.000000
Published in /ElektorWetter/Weather/Temperature the Message:23.389999
Published in /ElektorWetter/Weather/Humidity the Message:48.891602
Published in /ElektorWetter/Weather/Airpressure the Message:986.822998
Published in /ElektorWetter/Weather/PM2_5 the Message:0
Published in /ElektorWetter/Weather/PM10 the Message:0
Published in /ElektorWetter/Station/battery the Message:4.654792
Published in /ElektorWetter/Station/charging the Message:true
Lost connection. Trying to reconnect.
WiFi: STA
Attempting to connect to xyz, pass: abc
Connecting to MQTT.....
Connected to xyz
Local IP: 192.168.x.y
Webserver started
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Upload interval time passed
Thingspeak disabled
SenseBox disabled
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
Failed to read SDS011
-------------------------------
Habs dann abgebrochen.
Es ist nur ein BME280 angeschlossen und wird per USB versorgt.
Bye
​Michael
Michael Jochum 5 years ago
@ElektorLabs
Bei MQTT-JSON wird UV und Lux mitgesendet. Fehlt bei ioBrocker.
Chic mit dem case im mqtt.
Bye
Michael
Michael Jochum 5 years ago
@ElektorLabs
Die neueste Dev-Version läuft.
Scheint nun auch stabiler im WLAN zu sein.
Im Readme bzw. im Kopf fehlen (noch) die Verweise auf die zusätzlichen Libraries:
* Adafruit VEML6070 Library
* NTP client libary from https://github.com/gmag11/NtpClient/tree/develop (use develop branch )
@Uwe Zimprich
Die Einheiten werden nicht übertragen. Der Sonoff Adapter setzt die dazu. Im ioBrocker hängst du beim Einrichten die entsprechende Einheit (eigentlich nur die Bezeichnung) bei der Darstellung dazu. Bei MQTT überträgt man eigentlich nur den nackten Wert und weißt im Empfangenden Programm die entsprechenden Einheiten zu.
Bye
Michael
Uwe Zimprich 5 years ago
Bei der Windgeschwindigkeit wird im Moment nur der aktueller Wert übertragen.
Interesant wäre noch die Durchschnittsgeschwindigkeit in einem bestimmten Zeitraum (Mqqt Interval) sowie die Maxmale Windstärke( Böe) während des Intervals.
Die aktuelle Dev Funktion funktioniert soweit wobei bei den MQTT Adaper die Einheiten fehlen. Bei den Sonoff Adapter werden die Einheiten übertragen aber nicht alle Werte übernommen. ( Wie schon oben beschrieben)
Gruß
Uwe
ElektorLabs 5 years ago
Es wurde auf Github eine neue Version gepackt bei denen Teile iherer Verbesserungen schon mit eingeflaossen sind. Auch wurden schon die ersten Teile für die Unterstützung der Zeitsynchronisation mit eingepflegt. Der Nächste schritt ist dann die Anpassung der Webseite und die Unterstützung der DS2331 / DS1307 I²C RTC Module.
@Uwe Zimprich
Die aktuelle Firmware die im Git Repository unter dem Dev Branch liegt kann nun mit dem ioBroker Werte austauschen, dies kann auch nun in der Weboberfläche ausgewählt werden. Auch wure alles was für MQTT relevant ist in einen eigenen Satz Cpp und H Datein ausgelagert. Damit sollte es leichter sein an den passenden Stellen eigene Anpassungen durchzufühten. Es werdem im Moment noch keine Zeitstempel bei den Werten mitgesendet.
Mit freundlichen Grüßen
ElektorLabs
Uwe Zimprich 5 years ago
Unter IO Broker mit dem Mqqt Adaper auf Port 1900 funktioniert jetzt die Auflösung der einzelnen Werte. Aber die Einheiten der Messwerte werden nicht mit übernommen bzw angezeigt.
Dann habe ich in IOBroker das mit den Mqtt Sonoff Adapter getestet. Da ist komischerweise noch was faul - warum auch immer. Die Unterordner Station und Wetter werden nicht erzeugt. Außerdem werden nicht alle Messwerte angezeigt. Komischerweise werden dort aber hinter den Messwerten die angezeigt werden die entsprechenden Einheiten zu den Messwerten angezeigt.
Funktioniert jetzt eigentlich der Sketsch noch unter mosquitto ?
Wenn nein müsste man doch mit unterschiedlichen Konfigurationen arbeiten
Ich füge mal ein Bild an wie es bei mir aussieht
Dort sieht man was ankommt beim MQQT Adaper auf Port 1900 und beim Sonoff Adapter auf Port 1883. Habe dazu jeweils nur die Portnummer in der Wetterstation geändert.
Gruß
Uwe
ElektorLabs 5 years ago
wir haben angefangen Ihre änderrungen in den Quelltext zu übernehmen und auf dem Weg auch ein paar kleine Pflegearbeiten angefagen um den MQTT Teil in einen eigenen satz CPP und H-Files auszulagern und auf dem Weg auch das Zeitmodul aus es ESP32 Bedroomclock eingefüght. Die Firmware ist noch nicht getestet und wird vor Monatg noch ein paar Commits im Git erhalten.
Mit freundlichen Grüßen
ElektorLabs
Michael Jochum 5 years ago
Im angehängten zip ist eine Version drin die ein Value per MQTT Message sendet.
Sind 2 functions gaaanz am Ende von esp32weatherstation.ino.
Anhang:
- Sketch in zip
- Bildschirmfoto ioBrocker
- Bildschirmfoto MQTT Settings
Have Fun
@All: nee hab die NTP Teile noch nicht angeschaut.
Und jaaa der Code ist nicht optimiert. Aber so ist er für Uwe evtl. besser lesbar.
Sinle Value per Message (94kb)
mqtt-settings.jpg (32kb)
Uwe Zimprich 5 years ago
Ich habe einmal ihre Empfehlung getestet wo sie vorgeschlagen haben das ich als Topic "/data/wetter" verwenden soll.
In IO BRoker sieht man in der Spalte "Name" dann /data/wetter und in den Wert dann den String der dort ankommt.
Dann habe ich als Topic"*/" genommen was man wider in der Spalte Name sieht und das Ergebniss in der Spalte Werte.
Die Ansicht ist das Ergebniss von 2 unterschiedlichen Topic Konfiguration auf der Wetterstation. Ich hatte sie nur nicht gelöscht damit man sehen kann was als Ergebniss ankommt bei unterschiedlicher Konfiguration.
Ich habe weiter oben bei den Kommentaren ein Sketsch mit den Namen Blumensender hier hochgeladen. Der funktioniert bei mir und ich hatte schon versucht das bei mir einzubauen was ich aber nicht hinbekommen habe. Noch zu wenig Ahnung von der Programierung.
Wenn das mit der Einzelübertragung stimmen solte gib es evl eine Lösung dafür?
Besteht vielleicht die Möglichkeit eines Auswahlbock in den Mqtteinstellungen nach welchen Standart die Daten übertragen werden sollen.
Für micht ergibt sich leider nicht sofort welcher Abschnitt für die Übertragung zuständig ist Sketsch und evl ersetzt werden muss. Vielleicht könnte man das mal deutlicher hervorheben.
Ich denke mal für ein MQTT Auswahlmenue wäre das beste, denn dann kann man für andere Broker die jeweiligen Anpassungen vornehmen.
Ich denke mal das ich nicht unbedingt der einzige bin der IO Broker verwendent.
Es gibt ja auch noch nebem IO Broker z.B auch noch Fhem bzw , mosquitto und andere Broker. Da würde evl eine Einstellung zu den MQtt Daten Sinn machen.
Von Wireshark habe ich schon gehört aber noch nie was gemacht. Ich war froh als ich den Pi zum laufen gebracht habe weil der auch Neuland für mich ist.
Werde ich mal am Wochenende testen.
Viele Grüße
Uwe
Michael Jochum 5 years ago
Michael Jochum 5 years ago
ich glaub da liegt ein Verständnissproblem vor.
Das Elektorteil schickt aktuell nur einen JSON String zum MQTT Brocker. Da sind in EINER Nachricht ALLE Werte mit den dazugehörenden Beschreibungen drin. Das was du willst IMHO ist pro Wert eine Nachricht in der das Ziel (Topic), die Beschreibung und der Wert drinsteht.
Kennst du Wireshark? Falls ja Kannst du das Tool auf dem PI installieren? Damit könntest du mal die Nachrichten die die anderen Clients zum Brocker schicken mitschneiden.
Wenn ich das hier: https://github.com/ioBroker/ioBroker.mqtt richtig interpretiere liege ich mit meiner Vermutung richt das er einzelmessages will.
..........
Hab in der Zwischenzeit den io Brocker in einem Dockercontainer am laufen.
Wie ich vermute, der kann nur mit nicht json messages umgehen. Siehe Bild.
ober wird der json string dargestellt, unten als single message. da kommt der Wert auch richtig an. Bei json ist der json string der Wert.
Uwe Zimprich 5 years ago
Ich verwende IO Broker auf einen Raspberry PI. Der Mqtt Server läut bei mir auf Port 1900, weil der Sonoff Mqtt Server auf 1883 läuft.
Ihr Topic "/data/wetter" habe ich getestet ist das selbe als wenn ich "*/" angebe.
Ich füge mal einige Bilder an wo man meine Einstellungen sieht.
In den Bild der Objekte sieht man was für ein Topic ich angegeben habe und was als Ergebniss ankommt.
Die Werte werden immer noch nicht einzeln dargestellt.
Mit freundlichen Grüßen
Uwe Zimprich
mqtt0-config1.png (96kb)
mqtt0-config2.png (106kb)
wetterstation-mqtt.png (37kb)
instanzen.png (163kb)
objekte-2.png (149kb)
ElektorLabs 5 years ago
Für den Laboreigenen MQTT-Server ist das Topic "/data/wetter" damit bekommen wir die Daten entsprechend in das Topic gelegt. Für den Regensensor wird die Auswertung leider erst gemach wenn ein Upload in einen der Cliddienste erfolgt, daher kann es vorkommen das der Wert nicht passend auf der Webseite angezeit wird. Dies ist etwas was mit auf die Tod-Liste kommt.
Bei dem IO Broker, handelt es sich hier um eine Raspberry Pi installation, oder äuft das auf einer anderen Plattform?
@Michael Jochum
Für das Handling der Zeit bitte einmal einen Blick in https://github.com/ElektorLabs/180254-ESP32-Bedroom-Clock/tree/master/Clock/Firmware wagen. Dort gibt es zwei komponenten die interresant sein könnten, der "Timecore" und dazugehörig der NTP part.
Mit freundlichen Grüßen
ElektorLabs
Uwe Zimprich 5 years ago
Das Wlan scheint jetzt stabiel zu sein. Mqtt bekomme ich immer noch nicht zu laufen. Vieleicht findet sich ja noch jemand der auch IO Broker benuzten tut und das testen bzw nachvolziehen kann.
Außerdem habe ich festgedtellt das der Regenmengensensor nicht richtig funktioniert.
In der seriellen Schnitstelle wird angezeigt das er betätigt wird aber auf der Weboberfläche scheint er nicht hochzuzählen. Ob das ein Ausgabe Problem der Webseite ist oder die Menge nicht erfasst wird kann ich nicht beurteilen
Von der jetzigen Ausgabe der Mqqt Einstellungen habe von ich ein paar Bilder gemacht
Ich habe gesehen das es eine neu NTP Abfrage Version gibt und eine neue DEV Version auf Github. Die muss ich jeweils noch testen.
Gruß
Uwe
2019-06-05-17-13-22-window.png (43kb)
2019-06-05-17-13-52-window.png (9kb)
Michael Jochum 5 years ago
Kleinere Fixes und eine NTP Abfrage eingebaut. Datum und Zeit werden im JSON String übermittelt
Und etwas aufgräumt. ;-)
Michael Jochum 5 years ago
ElektorLabs 5 years ago
vielen dank für die Fehlersuche und behebung für den MQTT Datentransport. Anscheinend hat das Labor zeitgleich mit ihnen die Behebung des Fehlers begonnen nur durch das Wochenende erst heute die Beta-Version bereit gestellt. Wir würden uns sehr freuen wenn wir Ihre änderrungen in den Hauptzweig der Software zurückfließen lassen können, so das nicht zwei Zweige der Firmware existieren und eventuell zu stark auseinander driften.
Mit freundlichen Grüßen
ElektorLabs
Mathias_Claussen(Elektor) 5 years ago
Ich würde dann gerne die änderrungen in den eigenlichen Code übernehmen um diese dann wieder richtung github und die aktuelle Firmware zurückfließen zu lassen. Auf dem Weg wwürde ich dann auch gleich die arraygrenzen prüfen und den rückgabecode des serializeJson auswerten falls es zu fehlern kommen sollte.
Mit freundlichen Grüßen
Mathias Claußen
Michael Jochum 5 years ago
Klar. Du hast recht. Mein Code ist ja auch eher als Test gedacht das es damit wie vorgesehen funktioniert. Da muss noch einiges aus dem "Quick&Dirty" rausgeholt werden. :-)
Schau dir allein mein Zwangsreset an :) Der weiß nix davon das mqtt aus sein könnte. Da muss z.B. eine Prüfung hin ob mqtt aktiv ist.
Was zur zeit passiert ist das der ESP nach einiger Zeit WiFi verliert, es neu aufbaut. Dabei aber keine Sensoren mehr einliest und mqtt deaktiviert ist. Da schlägt dann mein Reset erfolgreich zu. Passiert so alle 1-2 Stunden. Es ist nur ein BME280 angeschlossen.
Bye
Michael
Mathias Clauszen 5 years ago
Die anpassungen sehen gut aus. Ein paar fragen: Wie wird garantiert das der JSONmessageBuffer nicht mit mehr als 256 Byte beschrieben wird? Für den JSON Buffer werden 300 Byte vorgesehen und serializeJson scheint keine längenangabe für die arrays zu bekommen. Damit könnte unbemerkt über das Array hinausgeschrieben werden. Und ein BZERO vor dem Aufruf von serializeJson wäre zumindest schöner damit das Array nicht mit eventuellen Schrott aus dem letzten Benutzen gefüllt ist.
Für Zeile 470 :
serializeJson(JSONbuffer,JSONmessageBuffer);
müsste eine
serializeJson(JSONbuffer,JSONmessageBuffer, sizeof(JSONmessageBuffer));
besser sein damit nicht über die arraygrenzen geschrieben werden
Mfg
Mathias Claußen
Michael Jochum 5 years ago
mqtt MUSS aktiviert sein.
Uwe Zimprich 5 years ago
Gruß
Uwe
Michael Jochum 5 years ago
Ich hab mich dann mal mit dem beschäftigt wie der mqtt String erzeugt wird. Irgendwie "interessant" :-)
Daher habe ich den folgenden Code unter die Routine gehängt:
------------
StaticJsonDocument<300> JSONbuffer;
JsonObject root = JSONbuffer.to<JsonObject>();
JsonObject wetter_data = root.createNestedObject("data");
JsonObject wind_data = wetter_data.createNestedObject("wind");
wind_data["direction"] = windDirAvg;
wind_data["speed"] = windSpeedAvg;
wetter_data["rain"] = rainAmountAvg;
wetter_data["temperature"] = temperature;
wetter_data["humidity"] = humidity;
wetter_data["airpressure"] = pressure;
wetter_data["PM2_5"] = PM25;
wetter_data["PM10"] = PM10;
JsonObject station_data = root.createNestedObject("station");
station_data["battery"] = batteryVoltage;
station_data["charging"] = batteryCharging;
char JSONmessageBuffer[256];
serializeJson(JSONbuffer,JSONmessageBuffer);
Serial.println("Sending message to MQTT topic..");
Serial.println(JSONmessageBuffer);
//(mqttclient.publish(Settings.mqtttopic, JSONmessageBuffer);
if (mqttclient.publish(Settings.mqtttopic, JSONmessageBuffer) == true) {
Serial.println("Success sending message");
} else {
Serial.println("Error sending message");
}
-------------
(Einige Namen musste ich ändern da sie ja schon deklariert waren, plus debug).
Mein Code senden brav die Daten, während der Originalcode nach dem ersten Mal nur noch eine leere Hülle (24 byte laut mosquitto_sub) übermittelt.
Bye
Michael
PS: das Readme auf Github solle mal überarbeitet werden. Ich glaub "select Arduino Leonardo as target" macht nicht wirklich Sinn. :-)
Uwe Zimprich 5 years ago
Was man vielleicht machen könnte wäre ein Speicherinterwall zu nutzen von der Zeiteinstellung des z.B MQTT Protokoll. Dann würde bei ausfall nicht alles verloren gehen und die Lücke wäre nicht so groß
Normal dürfte es nur ein Zeitinterwall geben was bei MQTT, Sensebox, und Thingsspeak gleich groß ist.
In den Upload Settings müßte der Menuepunkt des MQTT Protokoll mit rein.
Damit hat man dann nur eine Eingabe Maske für die Konfiguration und den Upload an die verschiedene Dienste. Außerdem hat man nur ein Zeitintervall für alle Dienste
Wenn z.B Sensbox und MQTT Aktieviert ist dürfen die Daten dann nur dann zurückgesetzt werden wenn an allen beiden Diesten ein Upload stattgefunden hat. Die interne Speicherung der Daten würde ich ebenso diesen Zeitinterwall anpassen. z.B 5-15min Minuten.
In den Upload einstellungen müsste dann noch erweitert werden um den Licht und UV Sensor. Vielleicht ist der Blitzsensor auch noch möglich MA5532 AS3935 auch ein Sensor um die Bodenfeuchte und Bodentemperatur zu messen wäre interesant mit vorzusehen. Das würde dann fast alles abdecken.
Gruß
Uwe
Mathias Clauszen 5 years ago
Die Messung der Werte ist aktuell leider sehr "interresant" gelöst worden. Es werden die Wert eakkumiert bis ein Upload an einen der Clouddienste durchgeführt wird. Aber ich stimme zu Laufende Wert e der Menge für die letzte Stunde, den letzten Tag, Woche, Monat Jahr wäre technisch im ESP32 relaisierbar, nur bedeutet es auch das dazu ein permanentes schreiben auf das Flash des Chips erfolgen würde, damit die Werte bei einem verlust der Versogungspannung nicht weg sind oder unbrauchbar werden. Ein FRAM oder battery backed SRAM würde da sicherlich helfen. Hier könnte man dann über eine DS1307 am ESP32 nachdenken da somit 56 Byte an daten durch die Knopfzelle der RTC gerettet werden könnten. Ich denke das es aber ein Projekt is das ich in meiner Freizeit anstoßen müsste für die Hardware.
Mit freundliche Grüßen
Mathias Claußen
Uwe Zimprich 5 years ago
Ich weiß leider noch nicht wie die Regenmenge erfasst wird bzw ausgewertet wird. Habe da noch Probleme mit dem Regenmengensensor wo ich noch den Fehler suche.
Daher habe ich das noch nicht testen können. Werde es mal mit der Gießkanne testen müssen.
Vielleicht kann man noch die Regenmenge Erfassung bzw Anzeige anpassen nach dem Prinzip:
Gesamtmenge als Endloszähler
Letzte Stunde
Letzter Tag
Letzte Woche
letzter Monat
leztes Jahr
----
Aktuelle Stunde
Aktueller Tag
Aktuelle Woche
Aktueller Monat
Aktuelles Jahr
Es müsste doch möglich sein die Zeit und Datum über das Wlan zu erfahren.
Wenn die Möglichkeit besteht sollten die Daten gespeichert werden damit nach einem Reboot die erhobenen Daten nicht verloren gehen. Eine Löschfunktion der Werte über eine Sicherheitsabfrage wäre schön.
Damit hat man dann die aktuellen Regendaten und kann damit z.B optimal eine Bewässerungsanlage oder Rasenbewässerung steuern. Und mit dem Lichtsensor kann man z.B die Rolladen oder Beschattung steuern.
Viele Grüße
Uwe
ElektorLabs 5 years ago
vielen dank für das Feedback. Mit den Fehlermeldungen können wir auf die Suche nach dem Fehler gehen. Wir versuchen das Setup nachzustellen und den Fehler zu reproduzieren. Dies kann leider etwas dauern bis alles eingerichtet und die Suche nach dem Fehler abgeschlossen ist. Auf den ersten Blickk siehr aber der JSON String nicht sauber aus, dort ist an einer Stelle ein Klammer mehr als sie sein sollte.
Die Anregung für eine Defautl Config im code nehmen wir gerne mir auf. Eventuell kann diese auch in einen bereich des Webserver verschoben werden an dem dann eine Datei mit allen Settings hochgeladen wird.
Mit freundlichen Grüßen
ElektorLabs
Uwe Zimprich 5 years ago
Ich habe mal etwas getestet in IO Broker
Um Fehler auszuschließen habe ich nicht den Sonoff MQTT Adapter genommen sondern den MQTT Adapter von IO Broker den ich auf einen anderen Port konfiguriert habe.
Außerdem habe ich keinen User und Passwort defeniert.
Die PubSubLibrary habe ich angepasst auf 1000 Zeichen.
Ich habe nachgeschaut in der Tasmota Firmware die ich für meine Sonoff Module benutze. Dort wird auch mit einer Einstellung von 1000 gearbeitet. Die Module arbeiten so wie sie sollen. Tasmota Firmware ist auch auf Github zu finden.
Vielleicht kann man sich da mal ansehen wie die Mqtt übertragung umgesetzt wird.
Die 1.5 Version habe ich mal getestet und habe keine Übertragung hinbekommen über Mqtt
Dann habe ich die 1.4 Version nochmals aufgespielt mit den Änderungen in der PubSubLibrary.
Dort habe ich dann eine Übertragung hinbekommen, allerdings werden die Werte nicht einzeln eingetragen. Ich habe mal ein Foto gemacht wo man rechts oben sieht wie es ankommt. Unten sieht man wie es bei den Sonoff Adaptern richtig an kommt mit den einzelnen Werten. Außerdem habe ich noch ein Foto von der Log Datei und ein Foto von den Webserver hinzugefügt wie ich in konfiguriert habe.
Ich benutze auch einen HiGrow Blumensensor (https://ckblog2016.net/2018/03/18/higrow-sensor-sorgt-fuer-das-wohl-der-pflanzen/) mit einer Software wo die Daten auch per Mqtt übertragen werden.
Das funktioniert einwandfrei bei mir. Die Werte werden einzeln in IO Broker dargestellt und sogar die richtigen Einheiten der Werte werden angezeigt.
Die Einstellungen für das Wlan-Netzwert und und die Mqtt Einstellungen werden im Sketsch vorgenommen. Ich füge diese Datei mal mit an
Sollten Links nicht erlaubt sein bitte ich darum das ein Admin diesen löschen tut.
Es wäre schön wenn auf den Webserver bei der MQtt Konfiguration vielleicht unter den Bezeichnungen ein Beispiel für die entsprechende Konfiguration in eine Klammer gesetzt wird. Damit wäre es dann einfacher die richtigen Einstellungen zu finden.
Auch eine Überlegung wäre es in den Sketsch für die Wetterstation oben eine Configzeile (Abschnitt) für die User einzufügen wo diese vor dem Laden gleich die SSID + Passwort und die MQTT Konfiguration eintragen können und auch aktevieren können.
Ich hoffe das hilft schon mal für die weitere Entwicklung. Wenn eine neue Version herrauskommt hier oder auf Github werde ich diese auch testen.
Viele Grüße
Uwe
iobroker.png (97kb)
log-datei.png (55kb)
mqtt-settings.png (35kb)
ElektorLabs 5 years ago
soeben wurde die Version 1.5 für die Wetterstation bereitgestellt. Es wurde ein Bug in dem MQTT Task behoben um den Speicher für das JSON Objekt nach dem senden wieder freizugeben und erneut nutzen zu können. Auch wurde das Interval für das Senden von MQTT daten von Minuten auf Sekunden geändert um ein schnelleres Update zu erhalten.
Für die PubSubLibrary gibt es von Haus aus ein limit der Nachrichten auf 128 Zeichen. Dieses wird aber aktuell überschritten ( 192+ Zeichen ) und führt dazu das keine Nachrichten mehr gesendet werden können. In der Readme.md auf Github ist beschrieben was geändert werden muss um das Limit herraufzusetzen.
Daher wird ab der Firmware 1.6 eine andere MQTT Bibliothek verwendet werden, bei der das Limit zur Laufzeit festgeleget werden kann.
Mit freundlichen Grüßen
ElekroLabs
Mathias Clauszen 5 years ago
aktuell ist bei dem MQTT Datenversand leider noch zwei Bugs drinne die das Senden der Nachrichten verhindern
1.) Vor dem Senden wird das JSON Object nicht sauber gelöscht, das ist zwar gefixt, leider ist der Code noch nicht bei Github aktualisiert. Dies führt dazu das der Speicherbeich für das Erstellend er Nachricht recht schnell aufgeraucht ist und ab dann nun noch zwei leere JSON Objekte gesendet werden.
2.) Die PubSub Bibliothek hat eine Nachrichtenlimit von 128 Byte und das wird leider Überschritten, um das Anzuheben muss in der PubSub Bibliothek ein #define angepasst werden. Werden mehr als 128 Byte an daten an die Bibliothek übergeben wir der sendeversuch einfach als fehlerhaft quttiert.
Vermutlich Montag gegen 11 sollte das Update dann auf Firmware 1.5 Bereit stehen und die Bugs behoben sein, sowie die stelle in der PubSubLibrary beschrieben die angepasst werden muss.
Version 1.6 wird ab dann mit einer anderen MQTT-Bibliothek ausgestattet werden bei der die Puffergröße per Parameter zur Laufzeit oder Compilezeit eingestellt werden kann. Ich denke dann wird ElektorLabs auch noch mal ein ofizielles Statement schreiben.
Bis dahin mit freundlichen Grüßen
Mathias Claußen
Michael Jochum 5 years ago
kein Problem.
Ich habe weder Sonoff noch (aktuell) die Elektor Wetterstation. Ich beschäftige mich allgemein mit MQTT und setze es unter anderem auch zur Übertragung von Wetterdaten in Verbindung mit LoRa ein. Bei mir laufen Mosqitto Brocker.
Evtl. hole ich mir die Wetterstation. Bin da noch am Forschen ob sie meine Erwartungen erfüllt.
Was ich zum mqtt Adapter gefunden habe ist das Toppic mit "stat/", "tele/, .... gefolgt von "sonoff" lautet.
Im Quelltext der Wetterstation wird das als Topic gesendet was du in der Maske eingibst. Also denke ich das dein Topic stat/sonoff/ lauten sollte.
Was genau sagt die Fehlermeldung wenn du mosquitto_sub -v -h broker_ip -p 1883 -t '#' ausführst? mosquitto bzw.die Tools hast du ja installiert. Laufen muss er ja nicht.
Was steht in der Logdatei des Brockes/mqtt Adapters drin wenn du die Passwortabfrage deaktivierst? Und was wenn er aktiviert ist?
Bye
Michael
Uwe Zimprich 5 years ago
Erst mal Danke für deine Geduld
Nachdem ich auf io Broker die Passwortabfrage ausgeschaltet habe von den Sonoff Adapter kann ich die Wetterstation sehen. LEider werden keine Werte übertragen
Ich vermute das der Fehler MQTT Topic liegt von der Wetterdtation. Was muss ich dort eintragen damit immer alle Werte gesendet werden?
Könntes du mal ein Bild von deinen EInstellungen hier veröffentlichen damit ich sehe was dort eingetragen werden muss.
Wenn ich in den Sonffonadapter von IOBroker den Passwortschutz aktiviere funktionieren meine Sonoffgeräte. nur die wetterstation funktioniert dann nicht. In der Logdatei bekomme ich dann eine Fehlermeldung das der Username oder Passwort falsch ist.
Als User habe ich Admin und als Passwort verwende ich 8 Zahlen. Dort vermute ich evl noch ein Problem. Vielleicht liegt es an der groß und kleinschreibung das da was nicht richtig läuft.
Könntes du mal bitte posten was ich bei MQTT Topic in der Wetterstation eintragen muss damit alle Werte übertragen werden.
Ein Bild wäre evl ein große Hilfe für mich.
mosquitto_sub -v -h broker_ip -p 1883 -t '#' habe ich probiert mit der entsprechenden IP Adresse. Bekomme dann eine Fehlermeldung. Ich vermute das du Mosquitto verwendest und ich den SonoffAdapter von IOBrocker.
Gruß
Uwe
Michael Jochum 5 years ago
Die serveradresse ohne http davor. Nur der name oder die IP Adresse.
Zum Publizieren brauchst du normalerweise keinen User. Wenn User dann auch passwort. Da solltest du in die Settings des Brockers reinschauen.
Michael Jochum 5 years ago
z.B.:
mosquitto_sub -v -h broker_ip -p 1883 -t '#'
ElektorLabs 5 years ago
if you like to have new features ( e.g. Mail alert if a certain condition is met ), feel free to add this request below this comment. We will collect them an update a list of request on the firware update page for the esp32 weatherstation ( https://www.elektormagazine.com/labs/firmwareupdate-esp32-weather-station-180468) . There you will see the request and also, if and when they will be build into a new firmware.
Best Regards
ElektorLabs
Uwe Zimprich 5 years ago
Ich wollte nachfragen ob es aktuell schon eine Weiterentwicklung von der Software gibt bzw ob der Fehler mit der Messwerterfassung des Regensensors behoben ist.
Viele Grüße
Uwe Zimprich
ElektorLabs 5 years ago
we are pleased to see that we get request to extend the weatherstation for new sensors or even wireless interfaces. For those of you how request new modules to be supported, we will like to collect these requestes on the frimware update page for the ESP32 weatherstation ( https://www.elektormagazine.com/labs/firmwareupdate-esp32-weather-station-180468 ). This keeps the supported and to be supported modules better in sight for all of the user. Also it would be great for module support request to just add your wish under this comment, so we don't need to dig through all comments to see if we may have missed a request.
Also if you like to see new genreral added functions to the firmware we created a new comment her, so you can add request there, so we also havenn't to walk through all comments and may miss something.
Also we can than add some timeframe, if and when, a request can be added to the current hardware and firmware. This will be also added to the page for the firmware update.
Best Regards
ElektorLabs
Mathias Clauszen 5 years ago
MHO 5 years ago
I want to attach a 12v 7,2amp ledbattery. Is a solar panel of 12v 10w sufficient?
Is there still a solar panel regulator required?
DE0123046ID 5 years ago
Enclosed I send you the PV chatracteristic I/U and P/U I measured and evaluated through an Excel-X/Y-Graph for this 10 W - Module.
Maximum Power Point (MPP) (338kb)
I-U & P-U Graphs (60kb)
Alain HERVE 5 years ago
DE0123046ID 5 years ago
Enclosed I am sending pictures with a better resolution.
Read Leadbattery Data (208kb)
Read Solarpanel Data (99kb)
Alain HERVE 5 years ago
DE0123046ID 5 years ago
Leadbattery (19kb)
10W Solarpanel (13kb)
Jerry Post 5 years ago
I use version 1.3, right now.
I found in the skets "index.html" that there is a webserver function, but is not yet visable (see picture)
I would like to know how this is going to work, what can I do with it, and why is it not working right now.
The dust sensor (honeywell HPMA115S0-XXX) Can someone tell me where to install the code.
Is it posible to place a 866 mhz antenna module (NRF24l01+)
to recive the date from the homewizzard weather sensors?
Could you provide any help or tips?
Kind regards Jerry Frome Holland
NRF24l01 live (41kb)
Webserver version 1.3 (4013kb)
Patrick Keane 5 years ago
Let Google be your friend!
Here is the BEST info I have ever seen:-
https://www.youtube.com/watch?v=WdP4nVQX-j0
The author has a number of videos on different aspects of the problem.
The most important video finding in one of the other videos is that none of the charger modules he tested worked at low sun outputs, only in bright sunlight.
cheers
Patrick
MHO 5 years ago
I want to attach a 12v 7,2amp ledbattery. Is a solar panel of 12v 10w sufficient?
Is there still a solar panel regulator required?
ElektorLabs 5 years ago
Version 1.4 is now arround and has experimental support fot the honnywhell sensor. By experimental this means, may cause the end of the world or may kill cute kittens, is not tested as we don't have the sensor in the lab. To enable the sensor you need to change a define in the firmware on top where the SDS011 is initiated.
@Jerry: Did you also Upload the Webcontent to the ESP and have you configured it for you WiFi ?
If not Configured the ESP32 shall stat the Accesspoint and from 1.3 onwards you shall see a Wifi "ESP32 Weatherstation XX:XX:XX" where the X are a part of the device MAC Address.
Best Regards
Elektor Labs
Mathias Clauszen 5 years ago
the code can be integrated into the firmware, but this means some changes. As we have support for the SDS011 this means the second uart trys to serve this one. Your code must run instead of the sds011 code on the system and this will requiere some sort of config to switch between those two. May at the end of the week it may become ready in a 1.3.5 or 1.4 firmware version.
About the NRF, may some basic prepaerations can be done but dont extpect that for the next update to be complete in there
Best Regards
Mathias Claußen
Jerry Post 5 years ago
I have got a pice of code. This was profide frome a user.
Mathias Clauszen 5 years ago
the NRF24l01+ can bea atached to the ESP32 but need soldering. Also with the Firmware 1.3 ( latest release ) the Webserver should work out of the Box. If the Station has no configuration an new WiFi Network shall show up you can connect to and also the Webserver should run.
For the honeywell sensor may i have to need a look if am back to the Lab and provide a part in the code where to hook it up.
Nevertheless, adding new sensors is currently not top on the list as the software has still issues and ugly parts that need to be fixed first.
Best Regards
Mathias Claußen
David Ibarra 5 years ago
esp32weatherstation:4:28: error: sslCertificate.h: No such file or directory
Could you provide any help or tips?
Kind regards
ElektorLabs 5 years ago
eine Firmware mit support für den TSL2561 und VEML6070 steht unter https://github.com/ElektorLabs/180468-ESP32-Weatherstation/tree/Dev bereit.
Mit freundlichen Grüßen
ElektorLabs
Mathias Clauszen 5 years ago
Die Patches sind sind in der Software drinne. Ich muss morgen noch ein Testlauf mit der Wetterstation machen und sehen das es keine Probleme gibt falls die Sensoren mal nicht drann sind. Der Code sollte dann direkt im elektor Git landen in einem eigen Branch, aber dazu dann morgen mehr :-)
mfg
Mathias
Mathias Clauszen 5 years ago
kein problem, link wird dann hier stehen wenn es verfügbar ist.
mfg
Mathias Claußen
Uwe Zimprich 5 years ago
MFG
Uwe Zimprich
Uwe Zimprich 5 years ago
Uwe Zimprich
Mathias Clauszen 5 years ago
die Sensoren per library einzubinden und zu lesen sollte bis Ende nächster Woche möglich sein, das wird wenn aber in einen eigenen Zweig nur auf GitHub landen und kein offizielles elektor Release, da ich das eben "schnell mal"(tm) Abends machen müsste. Die andere Frage ist, sollen die Daten in die Cloud geschoben werden (Sensebox ? ), oder reicht es hier die Daten erst mal per MQTT auszuliefern?
Für die Featurerequest würde es auch helfen diese parallel an den Support von Elekor zu richten.
@ElektorLabs: Bitte einmal Stellungnahme wie mir den "custommer requested" Treibern für neue sensoren verfahren werden soll, wir haben da aktuell dien Honnywell Dust Sensor ( Serial Interface ), den UVA Sensor und den Lux Sensor ( beide per I2C ).
mfg
Mathias Claußen
Mathias Clauszen 5 years ago
theoretisch mit wenig Aufwand möglich, ich schau morgen im Büro mal was sich auf die schnelle machen lässt
mfg
Mathias
Uwe Zimprich 5 years ago
Danke
Hello I am looking for a way to integrate 2 more sensors for light. Although the Tsl2561 and the Veml6070. Unfortunately I have no great programming skills. Maybe someone could help me with that.
Thank you
David Ibarra 5 years ago
Thank you
David Ibarra 5 years ago
I just changed versions (but arduino 1.8.9) to match your settings.
Now I get this error:
esp32weatherstation:219:14: error: 'class SDS011' has no member named 'getData'
if (!sds.getData(&PM25, &PM10))
Then I downgraded each library I installed for SDS011, but I still get errors. Which are you using?
Kind regards
Jerry Post 5 years ago
This is wat i used. whit the help from her.
And it running now.
Arduinio json is currently at version 6 --- Your source code for V1.3 is using version 5 syntax, which is not compatible with v6.x
I had to install an older version (V5.1) to get it to compile.
Jerry Post 6 years ago
first im using software version 1.1
The problem is: when im working in AP modus, the config page is reachable. But when I want to config on my own WIFI and it reboots after config his is unreachable at that point.
On my connected devices list its not showing. So the IP-adress is unknown.
When we reboot and hold the S1 button the accespoint mode is working correct. and I look at the wIfi setting it shows its connected at "wifi_Herrie" That what I programmed.
So please can you help me to figure out what is going wrong.
Thank you. Jerry
ElektorLabs 5 years ago
thanks for the kind offer to supply the sensor. In the meantime we requested on sensor for the lab and hope this will arrive soon, so we can get the driver to work propper with the station. This should save the hassel to ship the sensor to the lab.
Best Regards
ElektorLabs
Mathias Clauszen 5 years ago
Thanks for the kind offer to supply a sensormodule. In this case the lab shall order one on their own, seems like 40 bucks to spend, as the sensor will get to the officially supported hardware. This also means that there is something ongoing with the hardware and also software. Also they try to collet more wishes of sensormodules to build into the station.
The debugging may take some moments to make the sensor fully working and also be able to switch it on the fly without recompile between sds011 and the honnywell one
Best regards
Mathias
Uwe Zimprich 5 years ago
delete 6x@@@@@@
Jerry Post 5 years ago
So i have got one for you too use as test sensor.
So sent me your adress and i will sent it to you. So you don't have to fligh blind.
ElektorLabs 5 years ago
we need to look into the issue but we don't hava the requested hardware arround, so patching the software is her like flying blind. Typo will also be fixed in next release and we need to investigate if we can find any error at a dry run and may add some debuginfo to the software so see what may goes wrong there.
Best Regards
ElektorLabs
Jerry Post 5 years ago
Hello,
We updated the divice. But the honeywell sensor is not working.
See the attachment of the test script, when I use this file I get the data from the honeywell sensor on the serial monitor.
I received the test code from another user.
Can you integrade the new software in the new firmware update?
In the current version the word honeywell is spelled wrong ;)
Gr. Jerry
ElektorLabs 5 years ago
Best Regards
ElektorLabs
Mathias Clauszen 5 years ago
Support for the Version 6.x is on it's way.
Best Regards
Mathias Claußen
Patrick Keane 6 years ago
I also had to load the CRC32 library.
No! The Elektor Git source for V1.3 is behind the released version of json
Arduinio json is currently at version 6 --- Your source code for V1.3 is using version 5 syntax, which is not compatible with v6.x
I had to install an older version (V5.x) to get it to compile.
This surely is not the way to produce new firmware for a new product, alway it will compile with a v5 library.
@Jerry I used PubSubClient V2.7.0
cheers
Patrick
Mathias Clauszen 6 years ago
using that i got the code compiled. Seems that the GIT of elektor is a bit ahead of the relases. May also have a look here : https://github.com/ElektorLabs/180468-ESP32-Weatherstation
Best Regards
Mathias
Jerry Post 6 years ago
Question, I'm trying to compile version 1.3 and I have te same problem.
arduinojson.h version 5.0 installed but now I have also the same syntax problems that you discribe. But I've got alse a problem on the PubSubclient.h
Witch version of witch library did you use?
Can you help/tell me please?
Not so exiting here yet....
Regards Jerry
Patrick Keane 6 years ago
Had to load some extra libraries.
There is a problem with your source code in the MQTT section
Your source code for the MQTT uses a version 5 json syntax, However the json library in the IDE is now at VERSION 6.X. The compiler gives an error and tells me to upgrade the source code syntax to the version 6 format. ( The json website basically states to remove a trailing "&" I could not find the failing syntax)!
However I downgraded and loaded a version 5 of the json lib and the source compiled OK. But you will need to update your source code, to use the current json version
Version V1,3 is basically running, I can see the ESP32 AP and the new web page with the MQTT settings. I have not tried to use MQTT yet
I will have to tie down the unused signals, battery volts etc, they seem to fire off on noise snd give spurious results
Exciting stuff,
regards
Patrick
Patrick Keane 6 years ago
MQTT will be much appreciated! It will be possible to import weather data into Weewx, there is already a MQTT driver for weewx.
This means thaat the complete weather station can run locally, although the weewx local weather station can be posted on the www, or data sent to Weather underground and several other net sites.
I will test ASAP, however busy with spring gardening at the moment.
Thank you for your efforts in producing an excellent product
regards
Patrick
ElektorLabs 6 years ago
Best Regards
ElektorLabs 6 years ago
currently we can't reproduce the problem in the lab. If we reset the station with the "EN" button on the ESP32 board and also hold the S1 switch the station will enter the AP mode and the LED1 is lightning. Version 1.2 of the Firmware is on it's way and will have the Webserver still working if the ESP is connected to your home wifi.
Best Regards
Jerry Post 6 years ago
It has been 2 weeks since the last mailing, and still waiting for the solution. I have a divice that is not working right now and there are more users with the same problem.
I would like to at that with the 1.0 version I have the same problem.
​regards Jerry
ElektorLabs 6 years ago
the software currently shuts down the webserver if the ESP is no longer in AP mode to prevent management through unwanted visitors and also to save some power as the ESP in this case dosn't need to handle the webserver and get a bit more batterylife. The problem with the button will be investiagted in the Lab, as we have not seen this issue with the current harware we have in the Lab.
Patrick Keane 6 years ago
Re Jerry Post's comment regarding not being able to access ESP-AP
I have exactly the same problem.
Scenario:-
Software V1.1
My home lan switched OFF, OR esp software Home lan credentials not entered, (as downloaded).
Power up ESP Weather with button pressed, ESP starts ESP AP,
I can connect to it with my mobile, it displays ESP setup webpages all OK.
My home lane switched ON AND home lan credentials entered
Power up ESP weather with button pressed
ESP weather makes immediate connection to home lan and does NOT attempt to start ESP AP.
Serial ouput same as Jerry's!
This is repeatible.
regards
Patrick
Jerry Post 6 years ago
I made the printsreen see below.
The IP adress is known, so there is a connection to the network, but I cannot reach it, only with a PING session. The respons to this is very slow.
I have also tried to put it on a different wifi network so you can see in de screen output.
But that doesn't matter on the connection.
Regrads
Jerry
ping.png (181kb)
ElektorLabs 6 years ago
to get more information you can connect to the usb port of the weatherstation and open a terminal , like the one in the arduino ide. Set it to 115200 Baud 8N1 and restart the station. It shall then output Messages on yout terminal and show also if it is connected to your wifi and the ip address it optained form your dhcp. If you could check if you get these data would be great to figure out what went wrong.
Regrads
ElektorLabs
Goran 6 years ago
I have a pretty long password to my WiFi network.
When entering that inte the web page it is cut to 27(?) chars.
How do I change that to accept longer fields.
And, the SDS011 files are in uppercase but the include in SDS011.cpp is not.
This does not work in linux...
Thank you
Mathias Clauszen 5 years ago
This should not be cut in the Webpage but there are others paces that might happen. Can you may look via the USB Connection to see if after entering the crednetials, those are reported back correctly through the serial terminal?
Best Regards
Mathias Claußen
Patrick Keane 6 years ago
The pcb for the ESP32 weather station is incorrect at the 4 pin socket K3.
The pcb has Pin 1 = GND Pin 2 =Vcc for the BME280 breakout board.
All BME280 breakouts I have seen have Pin 1 = VCC Pin 2 = Gnd
To use this connector means that the BME280 breakout has to be connected with cross over wires not a nice tidy plugin! UGLY!
regards
Patrick
ElektorLabs 6 years ago
Patrick Keane 6 years ago
Using latest software 180468v1_1-11
When I first upload sketch to ESP32, AND my lan AP address and password are not filled in, I can access the internal web page from the ESP32AP.
When I enter my main LAN AP and password, I can no longer access the internal web page.
Pressing the pcb switch or the ESP32 enable button as described in the article have no effect.
As soon as power is supplied the ESP32 boots up and connects to my LAN access point. It does this whenever the buttons are released.
If the button(s) are held pressed there is no serial output, until the button is released. at which time the ESP32 connects to the LAN and disables the internal ESP32AP.
Please can you tell me how to boot to the internal ESP32AP, after the Lan AP address and password are entered?
many thanks
Patrick
rjv 6 years ago
Joachim Meyer 6 years ago
Ich habe in der Arduino-IDE das Board "ESP32 Pico-Kit" installiert und ausgewählt. Ebenso das Upload-Tool SPIFFS eingebunden.
Nun öffne ich von der Arduino-IDE aus die "esp32weatherstation.ino". Danach wähle ich im Menü "Werkzeuge" den Punkt "ESP32 Sketch Data Upload" aus. Danach werden anscheinend Daten zum ESP übertragen, zumindest wird es so angezeigt. Am ESP tut sich nichts, nur die rote LED leuchtet kontinuierlich. Nach ein paar Sekunden ist der Vorgang fertig und es erscheint "Leaving... Hard resetting via RTS Pin...".
Scheint aber irgendwie doch nicht geklappt zu haben.
Hat jemand vielleicht einen Tipp, was ich vergessen oder übersehen habe ?
Joachim
Joachim Meyer 6 years ago
Joachim Meyer 6 years ago
Thomas Alfred Schüsselbauer 6 years ago
leider läßt sich die Webseite zur Konfiguration http://192.168.4.1 nicht aufrufen, obwohl das MacBook mit ESP32 im Wlan verbunden ist.
Im seriellen Monitor von Ardunino2 sieht es so aus:
load:0x3fff001c,len:928
ho 0 tail 12 room 4
load:0x40078000,len:9280
load:0x40080400,len:5848
entry 0x40080698
SPIFFS started
WiFi: STA
SSID unknown
Connecting failed. Starting AP
Configuring AP: ESP32
AP IP: 192.168.4.1
Webserver started
adc voltage: 0.15, batt voltage: 1.56, currently charging: no
E (9975) event: mismatch or invalid event, id=63
E (9975) event: default event handler failed!
Wo liegt das Problem und wie sieht die Lösung aus?
ElektorLabs 6 years ago
die Software ist soweit gepatcht das beim Starten geprüft wird ob ein BME280 erkannt wurde. Wird kein Sensor erkannt so wird auch nicht mehr versucht Daten von dem Sensor zu lesen. Ein Problem das wir leider noch nicht so einfach beheben konnten ist der fall wenn es während des Betriebs zu einer Störung im BME280 Sensor kommt. Dazu müssen wir in inneren der Bibliothek für den BME280 patchen und die änderrungen wieder in den Zweig der Bibliothek bei einem externen Author einpflegen lassen.
Mit freudlichen Grüßen
Eng:
Hello, the software is patched and checks at startup if a BME280 is connected. If not no further trys are done accessing the sensor. One problem we havent solved yet is the case where the sensor gets broken during operation. To fix this we need to apply a patch to an external library which has to be incooperated by the author of the library.
Regards
Thomas Alfred Schüsselbauer 6 years ago
vielen Dank für die schnelle Antwort. Mit einem BME280 Sensor funktioniert es !
Super Service!!!
ElektorLabs 6 years ago
bei der Software der Wetterstation wird ein BME280-Sensor verwendet. Wenn dieser nicht vorhanden ist oder aber es eine Kommunikationsproblem mit der Wetterstation gibt führt es dazu das der Zugriff auf den Sensor in einer Endlosschleife hängen bleibt. Bei den Nachrichten :
E (9975) event: mismatch or invalid event, id=63
E (9975) event: default event handler failed!
handelt es sich um debugmeldungen aus dem akutellen ESP32 IDF, beeinträchtigen die Funktion aber nicht.
Unsere Entwickler sind über den Umstand des Fehler informiert. Da die Ursache des Problems in einer externen Bibliothek liegt, suchen wir gerade nach einem Weg dieses zu beheben ohne andere Dinge in der Bibliothek kaputt zu machen.
Eng:
Hello,
within the software of the weatherstation we use a BME280 sensor. If this is not attached or not correclty connected to the watherstation a software access to this will endup with the sofware getting stuck in an endless loop.
For the messages :
E (9975) event: mismatch or invalid event, id=63
E (9975) event: default event handler failed!
this are debug message leftover in the ESP32-IDF but don't harm the ESP32 fuctonality. Our developer are infromed about this problemand knwo where the source is. As this is within an external library they are looking for a fix without complet braking the library.
Jens Hausherr 6 years ago
im Artikel fehlen Angaben zum Stromverbrauch des Geräts - welche Kapazität der 12v Akkus ist denn notwendig bzw. sinnvoll bei Nutzung einer Solarzelle?
rjv 6 years ago
ClemensValens 6 years ago