Tuesday, May 3, 2016

Final Project

1. Project Report


This section includes all the project specifications those are the steps involved in the IoT system design methodology. Here are the links;

2. Project Poster


Poster1
Poster3
Poster2
                                      
Final Poster
All the details are expalined in the class project poster presentation. Here the poserts 1,2 and 3 are individual posters to represent each section separately. The final project poster is the combination of 1,2 and 3. 

The poster provides clear and deatilsed architecture of the Smart Trash IoT System. The pictorial representation of each part gives more imaginative implementation detail of the project. The Introduction part gives you an overview of the smart trash project and the main purpose of it. The Domain model architecture represents the high level understanding of the smart trash system. The Process architecture represents the low level means in depth(detailed) informative process design of the project. It includes both the user and system level architecture. Coming to the usecase flow chart provides how the user is going to be the part of the project and how it goes from one end to another end. Finally, Results section is to show the final output of the smart trash system in the real time environment with a sample demo.

3. Demonstration


Overview:

This project IOT Garbage Monitoring system is a very innovative system which will help to keep the home and cities clean. This system monitors the garbage bins and informs about the level of garbage collected in the bins via spread sheets, web page, mobile apps etc. For this the system uses ultrasonic sensors placed over the bins to detect the garbage level and compare it with the garbage bins depth.

 By using Ultrasonic sensor which is used to measure the distance to an object, will read the depth of the bin from the top of it. Continue the measuring depth until it fills upto 75% of the bin's height. Here in this experiment I am going to use only one or two bins to get readings and do analysis on the collected data. Finally will display the readings, analysis and corresponding data statistics, which are useful in further implementations.

Purpose:

Overflowing garbage bins have been another cause of concern for residents in developing countries. With increase in population, the scenario of cleanliness with respect to garbage management is degrading tremendously. With the already prevailing diseases, the open containers are proving to be a breeding place for germs. Traditionally, municipalities operate on weekly routes to pick up trash and recyclables on designated days, regardless of whether the containers are full or not.

http://www.labgov.it/2015/05/23/waste-collection-for-smart-cities/

Essentially, this project is about collecting the most amount of materials in the least amount of time to reduce costs and emissions along the way. Furthermore, this project is supposed to work with any type of container and any type of waste, including mixed materials, paper, glass, metals and fluids. Thus, there will be saving in fossil fuel due to optimized route for collecting garbage and also thus transportation cost.

http://award.designtoimprovelife.dk/nomination/160

Hardware Requirements:

  • Arduino ESP8266 Node MCU WiFi Module
  • HC-SR04 Ultrasonic Sensor

  • Nokia 5110 LCD Display



Prerequisites:


To set up the environment for Smart Trash IoT System, I used ESP8266 Node MCU WiFi Module, Ultrasonic sensor and Nokia 5110 LCD.
  • Ultrasonic sensor used to measure the depth of the bin. Look into the below image to connect it to Node MCU.
          
Connections of HC-SR04 (Resistor is an optional connection for arduino)
           Also visit Wiring-esp8266-nodemcu-with-hcsr04-ultrasonic-sensor to know more                                (demonstration video and demo code). 

  • To display the results and logs about the status of bin such as depth and percentage of the bin has been filled, connectivity to the WiFi, alert messages etc. Follow the below diagram for connection of Nokia 5110 LCD to Node MCU.

          Also visit Wiring-pcd8544-5110-lcd-display-on-arduino to know more                                                   (demonstration video and demo code). 

  • In this Smart Trash IoT System, I have implemented the data management to store the sensor readings and results in a google spreadsheet. I used google spreadsheet for a reason that it can accessed from any device that you can use your google drive such as laptop, mobile etc. To incorporate the feature of appending values to associated google spreadsheet in arduino programming, its very easy to use Temboo web application, also provides https security in two levels. Please follow the steps mentioned in the Update Google SpreadSheet - Temboo Application.
  • Here I also have implemented SMS (Text Message) feature to achieve the fast and immediate notifications to be reached to the end user (single user or garbage management authorities). We know that any other notification methods are faster, safest and immediate respondent than direct sms alerts. To achieve this feature in our arduino programming we can use Temboo web application which uses Twilio internally. It provides two layer security both from Twilio and Temboo. Please see the well described steps in the Send SMS - Temboo Application.

The final Wiring diagram looks like below:


Video Demonstration:


In order to see the results and check the developed Smart Trash IoT system, please follow the steps provided below.

  • Be ready with the equipment connected as described in the above sections.
  • Make sure you have Arduino IDE installed and downloaded all necessary libraries for our project.
  • Take the code from the Github repository provided in the Link to Software section, which has readme.txt file or the above prerequisites section includes all the necessary steps to be completed before executing the program.
Have a look at the attached demonstratoin video. It makes you understand how to setup the connections, run the program and analysis of results.


                                     visit: https://www.youtube.com/watch?v=yzZv2I8-uBQ


Arduino Programming for Smart Trash: (Link to Software)

Get original code from the below github link:

https://github.com/KrishnaKumariPalem/IoT-FinaProject-SmartTrash


Project Results:


SmartTrashData - SpreadSheet
DataAnalysis using two variable(depth & percentage filled) based on date & time - bar graph


DataAnalysis using two variable(depth & percentage filled) based on date & time - line graph

DataAnalysis of depth based on date & time using- pie chart


SMS alerts sent to the subscribed mobile number

Status of the bin displayed on LCD

4. Arduino Programming for Smart Trash: (Link to Software)


Get original code from the below github link:

https://github.com/KrishnaKumariPalem/IoT-FinaProject-SmartTrash

5. Future Enhancements

  • It will be useful if implement the thought of placing a motion sensor to recognize whether the bin has been moved to remove the garbage or change in location.
  • Also useful to include the route optimization techniques for garbage collectors(vans) to minimize the cost of fuel as well as time.
  • This will be useful if we can be able to enhance with measuring air pollution (Nitrogen release levels) from the bin. By knowing this we can control the health hazards from the garbage to certain point at that location.
  • Have a thought to implement a smart centralized garbage management system which takes care of all the bins in the area with a minimum manage of vehicles.
  • Its hard but very useful implementation that if the bins filled it can automatically wraps it up and keep it a side. Also replace the bin with new garbage cover itself.

6. References

  • http://www.14core.com/how-to-wire-pcd8544-5110-cmos-84x84-lcd-display-on-arduino/
  • http://www.14core.com/wiring-esp8266-nodemcu-with-hcsr04-ultrasonic-sensor/
  • http://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/
  • http://playground.arduino.cc/Code/PCD8544
  • https://temboo.com/library/Library/Twilio/SMSMessages/SendSMS/
  • https://temboo.com/arduino/others/update-google-spreadsheet
  • http://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi
  • http://www.bytecreation.com/blog/2013/10/13/raspberry-pi-ultrasonic-sensor-hc-sr04
  • http://nevonprojects.com/iot-garbage-monitoring-system/
  • https://www.hackster.io/alpha007/smart-trash-can-iot-system-0f9160
  • https://books.google.com/books?id=JPKGBAAAQBAJ&pg=PA109&lpg=PA109&dq=operational+view+Specification&source=bl&ots=8_DG_bZIVl&sig=SsFPZEHLgt3gEkycXQ5hF0C6Aqs&hl=en&sa=X&ved=0ahUKEwjk4Mu5mKrMAhXMdj4KHYefDWwQ6AEIPDAE#v=onepage&q=operational%20view%20Specification&f=false

Monday, April 25, 2016

Project Report

Service Specification:


Overflowing garbage bins have been another cause of concern for residents in developing countries. With increase in population, the scenario of cleanliness with respect to garbage management is degrading tremendously. With the already prevailing diseases, the open containers are proving to be a breeding place for germs. Traditionally, municipalities operate on weekly routes to pick up trash and recyclables on designated days, regardless of whether the containers are full or not.





Essentially, this project is about collecting the most amount of materials in the least amount of time to reduce costs and emissions along the way. Furthermore, this project is supposed to work with any type of container and any type of waste, including mixed materials, paper, glass, metals and fluids. Thus, there will be saving in fossil fuel due to optimized route for collecting garbage and also thus transportation cost.

This project IOT Garbage Monitoring system is a very innovative system which will help to keep the home and cities clean. This system monitors the garbage bins and informs about the level of garbage collected in the bins via spread sheets, web page, mobile apps etc. For this the system uses ultrasonic sensors placed over the bins to detect the garbage level and compare it with the garbage bins depth.


Functional View Specification:


Functional Groups(FG) included in a Functional View include:

1. Device:The Device FG contains devices for monitoring and control. In this project, the device FG       includes:
  • ESP8266 Node MCU (Wifi Module)
  • Ultrasonic Sensor (to measure depth/distance)
  • Nokia 5110 LCD Display
2. Communication: The Communication FG includes the communication protocols that form the backbone of IOT system and enable network connectivity. Here it includes - 802.11 (link layer), IPv4/IPv6 (network layer), TCP (transport layer), and HTTP (application layer).

3. Services: The service FG includes various services involved in the IOT system such as services for device monitoring, device control services, data publishing services and services for device discovery.

4. Management: The management FG includes all functionalities that are needed to configure and manage the IOT system.

5. Security: The security FG includes security mechanisms for the IOT system such as authentication, authorization, data security, etc.

6. Application: The application FG includes applications that provides an interface to users to control and monitor various aspects of the IOT system. Applications also allow users to view the system status and processed data.

In order to achieve the above service specifications, the following are the requirements to be fulfilled,
  • Need to calculate the depth of the bin from the top, to know how much percentage the bin has been filled.
  • On time basis collect the depth value and convert into percentage upto 75%.
  • To find the depth we need to connect a distance measuring sensor called Ultrasonic Sensor at the top of bin.
  • Build the specified circuit diagram which connects HC-SR04 sensor and Raspberry Pi 2.
  • Implement the Python code to get the expected results.




Operational View Specification:


In operational view specification, various options pertaining to IOT system deployment and operation are defined, such as, service hosting options, storage options, device options, application hosting options, etc.

We can map the functional groups to operational view specifications for the smart trash IOT system as follows;
  • Devices: Computing Device (ESP8266 Node MCU WiFi Module), Ultrasonic Sensor(to measure distance/depth), LCD Display(Nokia 5110).
  • Communication APIs: Internet (HTTP and REST APIs).
  • Communication Protocols: link layer - 802.11, network layer - IPv4/IPv6, transport layer - TCP, and application layer - HTTP.
  • Services:
  • Controller Service: Arduio IDE, implemented in c and cpp, and runs as a native service.
  • Mode Service: Temboo (HTTP) Application controlled through arduino programming with WiFi (Internet) as service.
  • State Service: Temboo (HTTP) Application controlled through arduino programming with WiFi (Internet) as service.
  • Application:
  • Web Application: Temboo Web Application
  • Application Server: Temboo App Server
  • Database: Google SpreadSheet
  • Security: Authentication and Authorization - Temboo Web App, Database
  • Management:  
  • Application Management: Temboo Web Application Management.
  • Database Management: Google Spreadsheet database management.
  • Device Management: Arduino - ESP8266 Node MCU WiFi Module device management. 


Device & Component Integration:


In Device & Component Integration design methodology describes the integration of the devices and components. In this smart trash IOT project the devices and components used are, Arduino ESP8266 Node MCU WiFi module, Ultrasonic sensor and Nokia 5110 LCD display.

Integration of Node MCU and Ultrasonic Sensor:



Integration of Node MCU and Nokia 5110 LCD:



Arduino Programming for Smart Trash:


Get original code from the below github link:

https://github.com/KrishnaKumariPalem/IoT-FinaProject-SmartTrash


Project Poster:


                                      




Project Results:














References:
  • http://www.14core.com/how-to-wire-pcd8544-5110-cmos-84x84-lcd-display-on-arduino/
  • http://www.14core.com/wiring-esp8266-nodemcu-with-hcsr04-ultrasonic-sensor/
  • http://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/
  • http://playground.arduino.cc/Code/PCD8544
  • https://temboo.com/library/Library/Twilio/SMSMessages/SendSMS/
  • https://temboo.com/arduino/others/update-google-spreadsheet
  • http://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi
  • http://www.bytecreation.com/blog/2013/10/13/raspberry-pi-ultrasonic-sensor-hc-sr04
  • http://nevonprojects.com/iot-garbage-monitoring-system/
  • https://www.hackster.io/alpha007/smart-trash-can-iot-system-0f9160
  • https://books.google.com/books?id=JPKGBAAAQBAJ&pg=PA109&lpg=PA109&dq=operational+view+Specification&source=bl&ots=8_DG_bZIVl&sig=SsFPZEHLgt3gEkycXQ5hF0C6Aqs&hl=en&sa=X&ved=0ahUKEwjk4Mu5mKrMAhXMdj4KHYefDWwQ6AEIPDAE#v=onepage&q=operational%20view%20Specification&f=false