Project Scope
We need to follow these steps to complete our Smart Agriculture System Project:
- Project Planning and Kickoff
- Explore the IBM Cloud Platform
- Connect the IoT Simulator To the Watson IOT Platform
- Configure the Node-red to Get the Data From the IBM IoT Platform And Open Weather API
- Building A Web App
- Configure Your Device to Receive The Data From The Web Application And Control Your Motors
Our Project’s main aim is to help farmers to control their motors from home. He/ She can On and Off his motor by using his mobile phone.
By using Weather API he can know the weather conditions like temperature, humidity, and soil moisture.
Project Background:
- This Smart Agriculture System Project mainly aims to help the farmers to ease their work.
- Farmers can get real-time weather conditions by using smart agriculture.
- Instead of physical devices we create devices in the IBM IoT platform and use them in our project.
- We connect our device to the IBM node in the NodeRed framework.
- We need to create a Weather API account to configure the weather API Platform.
- We then Configure our Node-red to get the weather forecasting data using HTTP requests.
Project Schedule:
- Project Planning and Kickoff
- Explore IBM Cloud Platform
- Connect The IoT Simulator To the Watson IOT Platform
- Configure The Node-red To Get The Data From IBM IOT Platform And Open Weather API
- Building A Web App
- Configure Your Device To Receive The Data From The Web Application And Control Your Motors
Project Requirements:
- IBM Cloud Account and IBM Watson IOT Platform to create device and sensor
- Python IDE
- Node-Red
- Open weather API Platform
Functional Requirements:
- Measure Temperature.
- Gauge Temperature.
- Gauge Humidity.
- Gauge Pressure.
- Weather API.
- Display the sensor readings using the Watson IOT sensor.
- Respond to sensor readings and send alerts to the user.
Technical Requirements:
IoT Simulator
Software Requirements:
- Python
- Node-Red
- IBM Watson IOT Platform
- Open Weather API
Project Deliverables:
A Smart Agriculture System web App for farmers where he can:
• Monitor temperature, humidity, and Soil moisture along with weather forecasting details.
• Control motor for watering the crop through the web app from where he was.
THEORETICAL ANALYSIS
- Required Software Installation
- Node-Red
Installation:
- First, install the Node
- open command prompt
- Type ->npm install node-red
To Run the application:
- open command prompt
- And then type “node-red”
- Now open http://localhost:1880/ in the browser
Installation of IBM IOT nodes and Dashboard nodes for Node-Red
- In order to connect to the IBM Watson IOT platform and create the web UI, these nodes are required
- IBM IoT Node
- Dash Board Node
IBM Watson IOT Platform
- Steps To Configure:
- Create an account in the IBM cloud using your email ID
- Create IBM Watson Platform in services in your IBM cloud account
- Launch the IBM Watson lot Platform
- Create a new device
- Give credentials like device type, device ID, Token
- Create API key and store API key and token elsewhere
Python IDE
- Install python 3 Compiler
- I Installed PyCharm Community Edition 2020
IoT Simulator
In our project in the place of sensors, we are going to use a lot sensor simulator which gives random readings to the connected
- The link to the simulator: https://watson-iot-sensor- mybluemix.net/
- We need to give the credentials of the created device in the IBM Watson lot Platform to connect the cloud to
OpenWeather API
-
- OpenWeatherMap is an online service that provides weather It provides current weather data, forecasts, and historical data to more than 2 million customers.
- Website link: https://openweathermap.org/guideSteps to configure:
- Create an account in OpenWeather
- Find the name of your city by searching
- Create an API key to your account
- Replace “city name” and “your API key” with your city and API key in the below text openweathermap.org/data/2.5/weather?q={city name}&appid={your API key}
- The link I used in my project:
- http://api.openweathermap.org/data/2.5/weather?q=H yderabad,IN&appid=89d8b67c1cab164eedf32aa4d8d a723f
- The below link is for getting weather Forecasting data:
- http://api.openweathermap.org/data/2.5/forecast?q= Hyderabad,IN&appid=89d8b67c1cab164eedf32aa4d8d a723f
Building Project
Connecting IoT Simulator to IBM Watson IOT Platform
- Open link Provided in section 4
- Give the credentials of your device in IBM Watson IoT
- Click on Connect
- My credentials given to the simulator are:
- Organization ID:ka1gns
- Device Type:nodemcu
- Device ID:1234five6789
- Authentication Method:use-token-auth
- Authentication Token:*********
- You, Will, receive the simulator data in the cloud
- You can see the received data in Recent events
- Data is received in this format (JSON)
- You can see the received data in cards by creating cards on Boards Tab
4.2 Configuration of Node-Red to collect IBM Cloud Data
- The Node-Red IBM IoT App is added in Node-Red Work The appropriate device credentials obtained earlier are entered into the node to connect and fetch the device to Node-Red
- Once it is connected Node-Red receives data from the device
- Display the data using debug node for
Configuration of Node-Red to collect data from Open weather API
- The Node-Red also receives data from the OpenWeather API by HTTP GET request. An inject trigger is added to perform HTTP requests for every certain
- The data we receive from OpenWeather after the request is in JSON format
Configuration of Node-Red to send commands to IBM Cloud
- By using IBM IoT out Node I used to send data from Node-Red to IBM Watson So, after adding it to flow we need to configure it with the credentials of our Watson device.
Adjusting UserInterface
- By connecting all the flows shown above
- We can display our UI by clicking on the dashboard tab in Node-red
- On the above page, we can display the sensor data and motor
- On this page, we open weather API data is displayed