Have you ever wondered how does an IoT-enabled smart bin works? If not then this blog post will show you exactly how to build one for yourself and you can use it too.
These days, there is a huge impetus on smart city initiatives across the world. One of the popular use cases of Smart City is the concept of Smart Bins. As we all know, efficient waste management is a growing challenge in urban areas. Hence, this Smart Bin concept has also drawn a lot of attention as part of automating the public infrastructure across cities.
A smart bin is a regular trash can, equipped with a sensor. Thus, such sensored trash cans can measure the level of trash contained in them and report that to the users.
How is this concept of smart bins useful for us? If you think of waste management and the level of coordination required for efficiently managing a public waste management system, then a smart bin can lead to.
And finally, it will lead to a cost reduction/per bin for the waste collection agency.
In this post, we are going to show you a model setup of a trash can system installed with garbage sensor, that is built atop the IBM Bluemix services. IBM Blumix cloud provides the middleware tools that can power IoT devices and applications. In this setup, we are going to use the IBM IoT Foundation services to collect data from the garbage sensor.
The setup presented in this blog post is a prototype system. If you are looking for a real product or technology around smart trash can or a smart waste bin then refer to our product R&D site on smart cities.
As per the above block diagram, the main components of this system are
The hardware device that needs to be fitted inside the trash can consists of the following
Raspberry Pi 3 is the popular single board computer, which has many GPIO pins to connect sensors and peripheral devices. It has in-built WiFi to connect to the Internet.
To sense the trash level within the trash can, we have used a garbage sensor. It is actually an ultrasonic sensor, also known as fill level sensor that detects the distance of the trash from the top of the trash can. You can get more info about this sensor (HC-SR04) here
The below schematic diagram shows how to connect the raspberry pi and the ultrasonic sensor.
To demonstrate the actual usage of smart bins, we will be taking help of the following web services from IBM Bluemix and Twilio. Follow the links below to create your account and setup these services.
The software source code for this model trash can is available on GitHub.
There are two components of the software
Refer the README file for step by step instruction on setting up the IBM IOT Foundation (IBMIoTF) service to handle data forwarding between the trash can and mobile app. IBMIoTF uses the industry-standard MQTT protocol to connect devices and applications. MQTT is designed for the efficient exchange of data to-and-from devices in real-time.
To ensure that the client application at Raspberry Pi 3 and the TrashCanApp mobile app can sync up with the IBMIoTF service, we have to make some changes in the code before launching/building the programs. Refer the “Python Script Configuration” and “Mobile App Configuration” sections of the README file.
If you have followed along until this stage, then we are ready to demonstrate this trash can.
Although we can test the level of trash can using any obstacle placed at a distance from the fill level sensor, we want to get close to real. So here is a small model trash can be made out of an ordinary container.
You can see the fill level sensor mounted at the center. Here is a look from the inside with its two probes sticking out.
All services running and all things powered up. Let’s see a demo.
As you can see in the video demonstration, we are using crumpled paper as trash. As we keep filling the container with the trash, the level goes up, and it is indicated in the mobile app as well.
At the bottom part of the video, you can see the sensor values getting updated in the IBMIoTF service web console. As we keep filling trash, the value decreases, which indicates the reducing distance between sensor-probe and the trash level. That’s the fill level sensor in action!
Check out the source code of Python client application to see how the Raspberry Pi3 controls hardware to interface with the fill level sensor for reading the distance.
You now have a fully functional smart bin solution. We hope you enjoyed this demonstration. In the coming weeks, we will present few more variants of this demo which addresses some real-world problems and solution that can be specifically applicable to this use case or IoT in general. Stay tuned and feel free to comment in case you have any queries.
Shyam is the Creator-in-Chief at RadioStudio. He is a technology buff and is passionate about bringing forth emerging technologies to showcase their true potential to the world. Shyam guides the team at RadioStudio, a bunch of technoholiks, to imagine, conceptualize and build ideas around emerging trends in information and communication technologies.
15 Mins with 5G: A Brief Introduction to 5G
Worrying About Rising Energy Bills? Realtime IoT Energy Management Is At Your Disposal
Model IoT Application For Tracking Kitchen Inventory
Microservice in action : Build a weather enabled chat
Build a real-time recommendation engine with IBM Bluemix and PubNub – Part 2
Please log in again. The login page will open in a new window. After logging in you can close it and return to this page.