Introduction: Easy IoT Weather Station With Multiple Sensors (enchanced 1)

This Instructable is only about adjustment necessary on source code of original Instructables, while I had problems to get it running. The main problem - I did not have all but only DHT11 sensor attached, the setup() was failing while other sensors were not found.

The hardware part is exact same as on original. I connected only termo/humid DHT11 sensor.

I had to make some adjustments to the Arduino sketch code (see next steps)

Also I tested 2 boards and everything worked the same (see images of the ESP boards):
a) ESP12E DEVKIT V2 (www.doit.am) (baud rate 115200)

b) NodeMCU AMICA www.nodemcu.com (baud rate 115200, despite on board written "use 9600")

Step 1: Arduino Configuration and Adjustments

1. downloading in Arduino IDE the board need to search for "NodeMCU" that download huge package. Select "NodeMCU V0.9" board for compilation, the same did worked well also when board "NodeMCU V1.0" was selected.

2. module ESP8622WiFi is not downloaded automatically with the boards. I downloaded it myself and to put into library/ESP8622WiFi (found here www.nodemcu.com and read READ.ME file inside)

3. need to download separately other sensor libraries:

for Adafruit_Sensor - library Adafruit Sensor Unified

for Adafruit_BMP085 - same library name

4. I've connected only DHT11 sensor, so when started, the reading of next sensor just reseted the board. Solution - I wrote a lot of #ifdef for all sensors and than it worked. Final source code is attached

Step 2: Arduino Enchanced Script

The original script Weather_station_for_instructables.ino needed multiple #ifdef so I stored a final one here

Comments

author
JohnL183 made it! (author)2017-05-15

Has anyone connected this to a WeatherUnderground account?

author
NikushaC made it! (author)2016-12-06

Thanks a lot for your adjustments! Finally, after many hours of searching for solution, your sketch saved my project ;)

author
MattiaGrazia made it! (author)2016-10-22

how do you change the reading time of the sensors? (e.g one time per hour)

author
vaxus made it! (author)vaxus2016-10-24

I have not done it, but definitelly possible with delay() command.

Or another possibility, I red somewhere that you can programmatically make reset of the board by connecting reset button to a digital output. So you can reset the board (hard-core sleep) so it will consume less energy. You should search for that solution.

author
seamster made it! (author)2016-10-07

Nice, thank you for sharing your adjustments.