Skip to content

Yuda4/IoT-AgriHome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AgriHome - IoT | Ariel university

AgriHome - A smart plant system that measure air temperature and humidity, soil moisture and using lamp for warnings when high sampling indices.
AgriHome is using:

  • ESP32 - System On Chip Microcontoller including WiFi and Bluetooth.

  • BreadBoard and jumper cables.

  • DHT11 - Temperature and Humidity sensor.

  • Soil Moisture Sensor.

  • Lamp - Color led.

Liberaries using ESP32

  • WiFi.h - This library allows ESP32 to connect your router.
  • PubSubClient.h - This library allows you to send and receive MQTT messages.
  • DHT.h - This library allows DHT11, DHT21 and DHT22 sensors for measuring temperature and humidity.
  • SSD1306Wire - This library allows OLED display.

General view

The ESP device models through sensors several parameters - air and soil temperature and humidity. It transmits the screen, through appropriate Service Edge - (Local services) Red-Node, to the cloud. The communication between ESP device and the cloud will be done via WiFi.
The data will be stored long-term in Firebase database, and will be displayed in graphs: each parameter (temperature, humidity and soil moisture) has a graph that allows viewing historical data based on date / time segmentation.
The data will be analyzed through BigML services and produced a model that allows forecasting and decision-making, for example on the basis of a decision tree, and the model structure can be viewed in a suitable graph.

Node-Red flows

First flow - getting data from sensors to Node-red, using MQTT protocol.

All sensors are connected to a function that:

  • Combine data to a Json file to store it in Firebase database.
  • Combine data to a Csv file to store it in a local folder in computer.


Second flow - reading data from Firebase.


Third flow - reading data from local file and chart display.

Opening a web page for displaying the data from a local file data for each parameter and BigML(next flow) and displaying the data in charts - using Chart.js.

Fourth flow - BigML.

Open connection to BigML site, uploading data source and creating:

  • Dataset.
  • Humidity ensemble and model.
  • Temperature ensemble and model.
  • Association - to discover meaningful relationships among dataset fields and their value.


Results