Introduction: ESP8266 - 12 Weatherstation
This project is about building and testing weather station based on ESP8266 - 12. The concept is based on low powering with charging battery using solar cell. This instructable is based on my previous 2 projects charging system and esp logger.
PCB prototype board
6V solar cells:
ESP 8266 12
Battery. 18650 Lithium - ion battery.
Holder for 18650 battery
You can choose anything, I like I2C sensors, I choose light sensor MAX44009
http://s.click.aliexpress.com/e/mF3rZpQ (BME280 - temperature, humidity and pressure sensor)
DS18B20 1-Wire Temperature Sensor
http://s.click.aliexpress.com/e/bhmyP8ha free shipping:
2 x Ceramic Capacitor 100 nF
1x Electrolytic Capacitor47microF (can use 470microFarad)
* capacitor packs
1x CP2102 USB to UART Serial module
2x Tactile Pushbutton
2x breadboards long or 1xlong breadboard + 1x short breadboard or 1x pcb (which is better, low capacitance) http://s.click.aliexpress.com/e/DEGyCsC (long)
1x pack of dupont cables (not such good, better buy thicker one, for good connection) http://s.click.aliexpress.com/e/DEGyCsC
Resistors: 3x 10kΩ 2x 4.7kΩ 1x 2.2kΩ 1x 300kΩ 1x 100kΩ
Step 1: Building
I describe just main parts for esp weatherstation, more details on my previous instructable projects.
I use ESP8266 - 12 microcontroller, you can use ESP8266 - 7 with antenna. For working esp chip, you need 3.3 V step down module, which convert voltage from Lithium ion battery to 3.3 V. I use Lithium ion battery from old notebook battery pack.
For charging battery, I use solar cell, basically you need solar cell, which give maximum 7 V (depend on TP4056 charging module) and around 200 mA maximum current from solar cell. Maximum current depend on battery, it is rule C/10 but for lithium batteries, you can charge with 500 mA too (C is capacity of battery).
For measure I use 3 themometers DS18b20, which are based on one wire concept. Also I check universal adress of each individual themoter. Why 3 meters? Check in next slide.
Also ESP can measure with wifi antenna! I measure strength of SSID which I connect. Usually it is in dB units. Also my esp check number of wifi nets around my house. Sometimes are 2, sometimes are 3 or 4.
Step 2: Measuring
For measuring I use 3 themometers, one measure temperature inside box, where is esp and all hardware. Second themometer measure temperature of air outside. I just attach sensor behind the board on balcony. Third themometer I use for measuring temperature inside bottle. When is sunny, air inside bottle is pretty hot. So it is like solar radiation detector.
Also I measure battery voltage with analog digital convertor (ADC). ESP use ADC with maximum 1 V, so I must divide votlage from Lithium battery to less then 1 V.
Also ESP measure strength of my SSID and number of wifi nets, around my house.
Step 3: Testing
For testing I use Thingspeak channel (https://thingspeak.com/channels/297517?fref=gc). I create 8 graphs, outside temperature, ADC (values from ADC, which measure voltage of battery), Difference (Temperature outside - temperature in bottle), temperature in box, Strength of wifi, Number of "wifies", Temperature on Sun =in bottle.
My esp send data to thingspeak every 28 minutes (I set on 30 minutes, but internal clock oscillate with a little noise, but basically, time interval is around 28 minutes)
It works pretty good, but last week, I find, that once a day, one value missing. Time interval is longer then 28 minutes = 56 minutes. Maybe Thingspeak server is a little bit problematic.
Also you can create graph from these values and add this graph to another channel on Thingspeak(use tools MATLAB Analysis and MATLAB Visualization). I use it, but maybe it causes a little missing in my values. (Missing values happend also after I delete my new graphs and new channels)
Step 4: Graphs
It is nice to checking temperature outside and analyse temperature in my bottle, which is like greenhouse. Temperature can reach over 30 °C (86 F) when outside is around 15 °C (59 F). Also my outside temperature is not accurate, on forecast website of my region I check, that outside temperaure which I measure is still higher. Maybe I need better isolation.