This Weather Station Uses Arduino ,Python & Nodemcu Along With Different Analog Value Sensor & Digital Value Sensors. Since Nodemcu Have Only One A0 Pin & We Need Values From Different Analog Sensors Like :--
Sensor | Data |
---|---|
MQ2 | SMOKE |
MQ4 | CNG |
MQ5 | LPG |
MQ135 | AIR QUALITY |
LDR | LIGHT INTENSITY |
RAIN SENSOR | RAIN INTENSITY |
DHT22 | TEMPERATURE & HUMIDITY |
BMP280 | PRESSURE & ALTITUDE |
So I Use ArduinoJson Library To Sent Values Collected From Sensors Via Arduino As "DOC" & Print It In Nodemcu Serial Monitor , Thats One-Way To Show Multiple Analog Readings In Nodemcu Board .
I Use This Arduinojson 6.13.0 Library For SERIAL MONITOR DATA -- BLYNK -- THINGSPEAK -- IFTTT & UBIDOTS
Then I Use This Arduinojson 5.13.1 Library For FIREBASE , ADAFRUIT-IO Other Arduinojson Library Does Not Work Beacuse I Use DynamicJsonDocument doc(1024); For Converting Data From Arduino To Nodemcu It Is An Arduinojson 6.13.0 Variant & Not Yet Compactable With FirebaseArduino.h & Adafruit_MQTT.h Library , So I Have Downgraded To This Arduinojson 5.13.1 Library . I Need To Do Some Tweeks In The Code To Make It All Work & All The Arduino Files Have Been Updated In The Repository
List Of Other Arduinojson Libraries
DEVICE VIEW
SOLDERING JOB
PCB V1.0
DATA SENT BY ARDUINO AS JSON "DOC"
DATA RECIEVED BY NODEMCU IN SERIAL MONITOR
DATA RECIEVED BY BLYNK APP
(in the blynk app i have only shown 6 diff values beacuse the blynk energy was not enough to place new guage fields for others )
DATA RECIEVED BY THINGSPEAK WEBSITE
DATA RECIEVED BY FIREBASE WEBSITE
DATA RECIEVED BY ADAFRUIT-IO WEBSITE
(in the adafruit io website i have only shown 8 diff values beacuse the adafruit dont let me add more since the field was full )
DATA RECIEVED IN EMAIL BY IFTTT
(in the iftt website iam only able to create 3 values for the weatherstation since in the ifttt applet we can only craete 3 value action even_though it is useful)
DATA RECIEVED BY UBIDOTS
DATA RETRIEVED BACK FROM FIREBASE WITH ESP32
DATA RETRIEVED BACK FROM FIREBASE WITH JAVASCRIPT IN LOCAL-SERVER
⬆️ Chnage The ESP8266-BOARD VERSION From Latest To esp8266-2.7.4
⬆️ Change The SSL-FINGER-PRINT To Latest Data