Smart Agriculture System Project on IBM IOT platform using NodeRed framework

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.


  • Required Software Installation
  • Node-Red


  • 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
  1. IBM IoT Node
  2. 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

OpenWeather API

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

Intelligent Customer Help Desk with Smart Document Understanding



We will be designing an application that leverages multiple Watson Airservices (Discovery, Assistant, Cloud function, and Node Red). By the end of the project, we’ll learn best practices of combining Watson services, and how they can be used to build interactive information retrieval systems with

Discovery + Assistant.

  • Project Requirements: Python, IBM Cloud, IBM Watson
  • Functional Requirements: IBM Cloud
  • Technical Requirements: AI, ML, WATSON AI, PYTHON
  • Software Requirements: Watson assistant, Watson

Scope of Work

  • Create a customer care dialog skill in Watson Assistant
  • Use Smart Document Understanding to build an enhanced Watson Discovery collection
  • Create an IBM Cloud Functions web action that allows Watson Assistant to post queries to Watson Discovery

Proposed solution

For the above problem, we are able to put a virtual agent in the chatbot so it can understand the queries that are posted by customers. The virtual agent should train from some insight records-based company background so it can answer queries supported by the merchandise or associated with the company. In other words, some styles of manual will be accustomed to training the bot using AI. Here I’m using Watson Discovery as a tool for implementing AI and getting trained by the owner’s manual.


Block/Flow Diagram

Hardware / Software Designing

  1. Create IBM Cloud services
  2. Configure Watson Discovery
  3. Create IBM Cloud Functions action
  4. Configure Watson Assistant
  5. Create flow and configure the node
  6. Deploy and run Node-Red app


Create IBM Cloud services

Create the following services:

  • Watson Discovery
  • Watson Assistant
  • IBM cloud function
  • Node-Red


  • Companies can deploy chatbots to rectify simple and general human queries.
  • Reduces manpower
  • Cost efficient
  • No need to divert calls to customer agents and customer agents can look at other


  • Sometimes chatbots can mislead customers
  • Giving the same answer for different sentiments.
  • Sometimes cannot connect to customer sentiments and intentions


  • It can deploy in popular social media applications like Facebook, slack, and telegram.
  • A chatbot can deploy any website to clarify basic doubts of viewer


By doing the above procedure and all we successfully created an Intelligent help desk smart chatbot using Watson assistant, Watson discovery,

Node-RED and cloud functions.


We can include Watson studio text-to-speech and speech-to-text services to access the chatbot hands-free. This is one of the future scopes of this project.

Development of Online Shopping Bot using IBM Watson



Online shopping plays a great role in the modern business environment. The best option available for customers in pandemic situations is to use chatbots for online shopping. To support customers in a better way, online shopping bot has opened a door of opportunity and advantage to the firms and customers for having a feel of buying items in a better way. The bot helps to introduce the online shop by listing the items available; it also shows the price of the items and takes orders from the customer. If the customer wishes to see the items, the bot also provides images of the items. This facility ensures the customer sees the products live and gives requests to buy items.

Block Diagram:

Flow Chart Diagram:


The online shop bot can help the customer to see the list of items available, images of the images, and the price of the items, and also accepts orders for the items. The purpose of this bot is to save valuable time and money on travel.

  • Literature Survey

In this section, we will discuss the existing solutions available for online shopping and the proposed solution to overcome the limitations.

  • Existing Problems and Solutions

In the past decade, people use the internet as a daily service to access emails, perform online tasks, do shopping, etc. Naturally, people have widely started using the internet at shopper stops too. This showed their willingness to do online shopping. This brings huge responsibility to the shop owners to keep up the buyer’s faith in the particular website. The most important points that affect the customer attitude towards online shopping are customer convenience, collection of information, social contact, and customer diversity.

There are several websites available currently to handle online shopping like Amazon, Flipkart, Big Bazaar, etc. Kotler, (2003) has described the Customer buying method in several sequential steps namely learning, information processing, information searching, evaluating the alternatives, decision making, and post-purchase behavior. When using such websites usability and trust also play a major role and these issues to be handled carefully. With all these facilities available, still we could find some gaps in existing website-based online shopping solutions where the user has limited freedom to communicate or ask doubts regarding items and get a feel of having a discussion with shoppers. This limitation can be overcome by using chatbots for online shopping.

  • Proposed Solution

In recent years, many organizations have shown tremendous interest in developing chatbots for online shopping. These chatbots help customers to handle their queries and to provide information on any kind of items requested. The willingness of the customers to use shopping bots also increased enormously due to the interest in shopping using the internet in pandemic times.

Theoretical Analysis

  • Block diagram
  • Hardware /software requirements
  • Processor: Intel i5
  • Memory: 16GB
  • System Type: 64 Bit Operating system
  • IBM Watson Assistant
  • Node-RED UI Generator

Experimental Investigations

The online shopping bot is developed using IBM Watson. The intents, entities, and context variables are generated, and the JSON file can be downloaded.

Advantages and Disadvantages

  1. An online shopping bot helps to see the list of items available for purchase.
  2. The shopping bot provides the details of the items requested by giving its image and cost.
  3. The shopping bot accepts the mail id to send the order receipt.
  4. The shopping bot accepts the order by asking the item, quantity, and mode of
  5. The shopping bot is interactive.
  6. The shopping bot is simple.
  7. The shopping bot is Usable.
  8. The shopping bot is a user
  9. The shopping bot is available 24/7
  10. The shopping bot is reliable.


  1. The shopping bot is currently not accepting addresses in the chatbot.
  1. After receiving the receipt, the other interface like email to be used to share the address with the shopper.


The online shopping bot can be used for advertisement, recommendation, and taking orders from the customer when the customer is living in a chatbot with the shopper.


The online shopping bot is the most useful feature for online shoppers to have a satisfying purchase. With all the possible features embedded in bot it can help the customer to have a successful and satisfactory shopping with less money and time.

Future Scope

  1. The shopping bot can be extended to get reviews
  2. The shopping bot can be added with features like showing offers.
  3. The shopping bot can give recommendations by showing the associated items

Predicting Life Expectancy Using Machine Learning Python Project

Project Name: Predicting Life Expectancy Using Machine Learning

Project scope: The scope of this project is ” Predicting Life Expectancy Using Machine Learning” in this project we are given the task to predict life expectancy, life expectancy is the average time period for which the subject lives.

Project schedule: 

  1. Understanding what to do in the above-given Predicting Life Expectancy Project
  2. Identify and get familiar with the tools needed to complete this project
  3. Writing codes
  4. Collecting Data sets
  5. The time duration is 5 days


  1. Predicting Life Expectancy Using Machine Learning.
  2. Making a user interface too as front-end work and writing code as backend work to make the user interact and calculate the Life

Setting The Development Environment

  1. Creating GitHub account
  2. Creating Slack account
  3. Signing up for cloud services
    1. Node-Red for front end
    2. Watson Studio for coding
  • Machine Learning services


  1.1          Overview:

 This project is based on predicting the life expectancy of a person. It is the statistical average of the number of years a person is expected to live. Factors affecting life expectancy are Country, Mental and Physical Illness, lifestyle, diet, health care services, financial condition, BMI, alcohol consumption, Diseases, etc.

Here in this Predicting Life Expectancy project, our motive is to find the life expectancy of a person after providing details such as the country he is living in is developed or is developing, BMI of the person, Disease history, Income, Population of that country, Expenditure, etc. So here I have used Machine learning and Artificial Intelligence to predict life expectancy. The data used in the training of the model was the data by WHO taken from Kaggle.

There were almost 22 columns stating different factors affecting Life expectancy and 2939 rows comprising data of different persons from different countries. Based on the results we got on Watson Studio some factors which were not affecting the Life expectancy much were removed and the scoring endpoint was obtained after running full code. This scoring endpoint is the URL that helps us to send payload data to a model or function development for analysis (such as to classify the data or to make predictions).

After obtaining the endpoint the next step is to work on Node-red which is the platform, we can use for developing our front-end page that will have a form asking you your details such as year of birth, adult mortality, infant deaths, BMI, etc. rest we’ll discuss in details later on.

Requirements: IBM Cloud, GitHub, Slack, IBM Watson, Node-Red

1.2          Purpose:

 The purpose of this project is to build a model that will predict the Life Expectancy of a person after giving the details of the BMI, Expenditure, Disease history, etc.

2.  Literature Survey

2.1          Proposed Solution:

 The project tries to create a model based on data provided by the World Health Organization (WHO) to evaluate the life expectancy for different countries in years. The data offers data on different person’s Physical health, Mental health, etc from the time frame 2000 to 2015. The data was taken from the website: who/data. 

3.  Theoretical Survey

 3.1          Block diagram


Block Diagram for Predicting Life Expectancy with Python

3.2          Hardware/Software Designing:

·       GitHub

GitHub is the largest community of developers in the world with millions of people sharing their projects, and ideas for benefiting many people in a very unique way. Any person living in any corner of this world can access this platform for his/her benefit. They can share their problem, their ideas, and solution to some problems. In simple words, it is basically a platform in which anyone can come and share their problems and solutions. It is easy to manage. A team working on the same project can easily monitor the progress and can easily access their work anywhere.

·       Slack

It is a messaging tool that is intended to contact your internal team easily. As it gives you a platform through which we can communicate to our team members easily under one roof. It is not as hectic as sending emails and reading them. It directly comes as a message to you from the group created having your team members. It is great if you are having a team of more than 2 members. Searching for messages becomes an easy, fast medium, searching old messages.

·       IBM Cloud

It is the platform that enables us to use its various features such as Watson Studio which provides a platform where we can write our python code and observe our results in the form of heat maps, graphs, and tables. In this project, we used it and got our scoring endpoint. It is the URL that helps us to send payload data to a model or function development for analysis (such as to classify the data or to make predictions).

·       Node-Red

Node-Red helps us to create a front-end window on which we can get the data from the user such as his Year, BMI, Alcohol intake, etc. and it will then connect to the code written on Watson Studio via the scoring endpoint created after running the python code.

4.  Experimental Investigations

 The graphs of various Factors affecting the prediction of life expectancy are shown in the figure given below:

Curves of life expectancy v/s different factors

Heat map of different factors

Shown above is the heat map of the various factors affecting other various factors some of them have positive values some of them have negative but the thing we have to keep in mind is that we can’t neglect the factors having negative values because they will have the adverse effect which will affect the life expectancy. After some observations, I decided not to include 6 factors that are not affecting life expectancy much and will reduce the calculations and make our model less complex.

5.  Flow Chart

  1. Result

 After filling in all the necessary details asked in the UI form, we got the prediction of life expectancy. The accuracy of our model was 94.41%

Screenshot of the prediction of life expectancy obtained

Advantages and Disadvantages


  • Easily identifies trends and patterns
  • Wide Applications
  • Handling multi-dimensional and multi-variety data
  • No human intervention is needed (automation)
  • Continuous Improvement


  • High error-susceptibility
  • Needs a lot of time to implement
  • Interpreting the results accurately
  • Data set collection is a complex task


  1. The form created is easy to understand and is easy to fill by anyone.
  2. It can be used for monitoring health conditions in a particular country
  3. It can be used to get the data about the factor affecting Life expectancy the most in order to work in the direction of obtaining a high life expectancy
  4. It can be used to develop statistics for a country’s development process


This user interface enables any user to predict the life expectancy value of anyone on the basis of the details asked in the form.

Future Scope 

  1. Increase model accuracy
  2. Gives suggestions on how to increase Life Expectancy
  3. Mental health data was missing from the WHO data set which also plays the important role in affecting life expectancy
  4. The scalability and flexibility of the application can be

AI-Powered News Articles Search Web Application using IBM Cloud and Slack Bot


The purpose of this News Articles Search project is to develop a web application that fulfills our need to find the obvious and recent news articles and update them regularly. After the discovery service is integrated with Slack Workspace, it gives a bot as an intermediate to search news with a keyword. In addition, the web application also analysis the sentimental present in the news article and extracts keywords and concepts to make it an attractive and understandable format for the user to understand what is important and what is not.

Literature Survey

Existing Problem

News Article applications that are currently used are confusing the users, with multiple functions and an overflow of design, these applications still do not fulfill the demand of the news users and often get results from the past days, weeks, and months, which confuses the users only. Also, there is no way in these apps to know what the approximate feeling of the audience is regarding the article or news topic, which makes it less interactive and very low number of users.

Proposed Solution

Discovery service available in the IBM cloud, creating a web app to get the latest and obvious news results fast and user friendly. When integrated with Red Node Flow, the IBM Discovery Service can create a simple, engaging, organized user interface that provides users with relevant news articles as Discovery Service continuously crawls the web for the latest news to provide. By adding emotional analysis, we make the user interface more interactive, easier to understand, and attain more users.

Project Tasks

1. Creating and deploying the Watson discovery news app locally.
2. Integrating Slack-bot with Watson Discovery.
3. Creating node-red user Interface.
4. Integrating node-red UI with Watson Discovery.

Flow Chart:

Flow Chart

Experimental Investigation

First, we use the discovery service to configure and query adding our collection. A red node application is created in which the discovery is integrated and a simple flow of 5 nodes is created to enter the news topic and the results show related news. Slack then integrates with Watson’s discovery service so that news articles can be searched on more than one platform, and finally, sentiment analysis is performed on the data/news articles being searched.

Advantages and Disadvantages

1. The News Articles Search web application provides interactive sentiment analysis.
2. It can be accessed through more than one platform which is slack.
3. It collects and delivers the most recent data.
4. It does not have additional features like storing news history.
5. It does not provide a stand-alone app but rather uses a web application.


1. This News Articles Search web application can be used by any user in need of accurate and fast results.
2. Can be used by firms and organizations.
3. Can be used in the stock market to make predictions.

Bot on slack

Bot on slack


This News Articles Search project gives some basic working knowledge of the Watson Discovery Service and showed you how to use Discovery along with JavaScript and Node.js to build your own news mining web application. It also gives insight into real-world applications of AI and helps us understand Slack better.

Future Scope

1. The IBM Cloud and Slack Bot web application can be integrated with the cloud and made into a mobile app to use on it on-the-go.
2. Additional sentiments can be added to the UI.
3. Related and trending news topics can be shown to the user.


Employee Work Appreciation based on Customers Feedback Project using IBM Cognitive Services


The purpose of the Employee Work Appreciation based on Customers Feedback project is to appreciate the employee’s work based on the feedback given by the customers and the employees. The feedback given by the customers to a respective employee is analyzed i.e. is it polite feedback/satisfied feedback…etc. Based on that, employees will be given appreciation.

Block Diagram:

Block Diagram

Flow Chart Diagram:

Flow Chart Diagram


1. IBM Cloud
2. IBM Watson Tone Analyzer
3. Node-RED
4. Create an employee database in the IBM cloud and upload sample 4 employees feedback JSON files.


1. Choose a Project Idea:

Employee Work Appreciation based on Customers Feedback.

2. Conduct Background Research
3. Compose a Hypothesis:
Based on our Study and the information gathered we can decide how well an employee is appreciable.
4. Design your Experiment:
First, we need to collect employee reports in which feedback is given by the customers.
Next, we give those reports as input to the Tone analyzer service which predicts the emotion behind the feedback.
5. Draw Conclusions:
After Building our model, we can able to know how well the employee is working and appreciate the employee’s work based on analysis of customer feedback.

Result Screenshots:

Sentiment Analysis:

Sentiment Analysis

Cloudant Dashboard

This Employee Work Appreciation application is used for deciding whether the employee’s work is up to the mark or not.

This system can also be used for employees to check whether they receiving good or bad feedback from customers so that they will improve their work.

Node-RED Flow:

Node-RED Flow

IBM Cloud databases

Input employee reports stored in the employee database

IBM Cloud databases
Output sentiment by tone analyzer stored in sentiment database.