Create Project Need help?
ElektorLabs

Firmware update ESP32 Weather Station (180468)

Status: Finished
821
5
votes
April 2, 2019
20190402114019_elektor-labs-180468-esp32-weather-station.jpg

This contains the updates for the ESP32 Weather Station (180468) and discribes also the new added features.
Also here you can find a list of requested new features and support for new sensormodules.

Attention: 

You need to modify the PubSubClient library.  Go to your library folder and search for the PubSubClient. Inside its folder search in 'src/' folder for PubSubClient.h and look for the following line:

 #define MQTT_MAX_PACKET_SIZE 128

and change it to

 #define MQTT_MAX_PACKET_SIZE 256

Save the file and now you can transmitt mqtt messages with more than 128 byte.
 

Requested new sensormodules:

Sensor Support planned / supported sind Firmware Comments
Honnywell HPM 1.4 experimental support
Veml6070 1.5 experimental support
Tsl2561 1.5 experimental support
 

Requested new features:

Feature Support planned / supported sind Firmware Comments
SD-Card Support  no timeframe yet  
     


The weater station has received bugfixes and enhancments. We will show you what has been added and how you can benifit form the new functions inside the weather station.

Till firmwareverson 1.1 the webserver was shutdown if the station was running as wifi station. This has been changed to keep the webserver running starting with version 1.2, so the user can check the station and also modify the settings fot the cloudservices. Also since version 1.2 the station now can connect to a MQTT broker and deliver the data. The configuration interface is here almost the same as for the ESP32 Bedroom Clock. As we produce data we can set the timespan between new data published to the MQTT broker. This works independent from the span for the cloudservices.
The station consumes currently about 60mA @ 13Volt (0.8W) running. This may change with newer versios of the firmware.

Configuration:

After you have assembeled and compiled and uploaded the code to the station it will come up as accesspint, if you haven't already supplied credentials to your network. This porcess can be monitored through the usb port of the ESP32 with a srial terminal set to 115200 Baud 8N1. The Station should tell you that it is in AP mode and it's SSID. If you connect to the wifi type 192.168.4.1 to access the config page:

From here you can go to WiFi settings and configure the station for oyur wifi network. Also you can see the current data that the station has collected. If you have attached a BME280 and you don't see any data in temperatur , humidity and airpressure please recheck you wireing. In the Wifi settings select you network and enter the requiered credentials. The station will do a reboot and connect to your wifi. If this fails it will enter the accesspoint mode again and you can check your settings.

After the wifi setup you can use Upload settings to configre the two supported cloud services, Thinkspeak and SenseBox.

Since version 1.3 you also have MQTT settings to enable the station to send data to your own MQTT-broker, for example to process these like with the ESP32 Bedroomclock and also the Wireless Car Multimeter . This has been added to give you more possiblitys to keep your data in your control. The JSON string produced by the station lokks like this: 
{
  "data":{
          "wind":{
               "direction": 255.1,
               "speed": 1.54
           },
           "rain": 0.0,
           "temperature": 22.1,
           "humidity": 38.4,
           "airpressure": 998.4
           "PM2_5":0,
           "PM10":0
          },
  "station":{
     "battery":12.84,
     "charging":false
  }
}
 


In the MQTT settings you can configure the interval for the data transmission and enable or disable the usage of MQTT at all. The Interval set the distance between two MQTT messages in minutes. If you put it to zero the MQTT tansmission will be stopped. Hostname is for the name of the weatherstation. The default MQTT port is 1883 and as Server you can enter the IP or the DNS entry for the MQTT Broker. For the topic enter the one you are supposed to publish your data, and if requiered set user and password.


An addition from other projects it the Notes page you got. Here you can enter up to 500 character for your own notes, that are stored inside the system.


Below you find the history for the released version of the firmware:

Version 1.5.5

What is new:
  • Changed MQTT interval from minutes to seconds

Fixed:

MQTT buffer was not cleared after transmission and run out of datat resulting in an empty JSON string.


Version 1.5

What is new:
  • Experimental support for Veml6070.
  • Experimental support for Tsl2561.

Fixed:

MQTT Cleint wasen't working du to a memory leak. Also now a change in the PubSubLibrary is requiered to be able to transmitt more than 128 byte MQTT messages.

Discription:
Bugfix release for MQTT problems


Version 1.4

What is new:
  • Experimental support for Honnywell HPM in the code.
  • Webinterface shows now the accumulated Rain in mm
  • In AP mode the ESP is now reachable via mDNS "Weatherstation"
  • Added DNSSever in AP mode, all request in this mode will be answared with the weatherstation IP

Fixed: No new bugs were fixed

Discription:
This is a minor update to fix a few weaknesses


Version 1.3

What is new:
  • Weather station now keeps also in station mode the webserver running
  • Name in accesspointmode is now "ESP32 Weatherstation" followed by the last digits of the macaddress
  • mDNS added in accesspointmode, now responds to "ESP32 Weatherstation.local"
  • MQTT support added, data can now be pushed to your own broker
  • Added field for notes in he webinterface
  • Structural changed for later power usage optimizations

Fixed:

No bugs were fixed

Description:

This update addesses some of the user reported trouble after trying to get the station to work. Also the MQTT feature is added to allow you to control your produced data and process them locally.

Version 1.2

internal release, not intended for public use


Version 1.1

What is new:
  • This is a pure bugfix release, no new features have been added.

Fixed:
  • No longer gets stucked if no BME280 is connected

Description:
This will corretly let you station run if no BME280 is connected to the station.
 

Version 1.0

Description:
Initial release for the Firmware, for more details reffer to the original article.
 

 

Read the full post
Show less
Software

Loading comments...