1. USB Weighing Device connected to RaspberryPi
2. Device Registration
3. Kinesis Stream setup
4. Rule to send data to Kinesis
5. Lambda function to read kinesis stream and write to Dynamo DB
6. Data Persisted in table
7. SNS Topic setup
8. SNS Subscription setup
9. Rule SNS Notificaton
10. SNS Notification from Rule
Things can be tracked and its consumption can be measured with their weights using weight sensors like traditional weighing balance or weight sensors.
In Manufacturing industry, maintaining stocks and tracking the Raw Material consumption is key for a business.
It is always needed to store raw materials in various location or receive the shipping in central location and will be distributed to different manufacturing units. If consumption and wastages is tracked, it can be analyzed to get insights and appropriate action will be taken.
Say in continuous production environment maintaining minimum inventory is very important so that production in each shift runs smoothly. By tracking the raw material stock (say plastic raw material bags to produce packaging material continuously) with weight sensor using iot, if an minimum inventory is reached, it will notify to concerned person to take action to send raw material to the manufacturing unit so that it will not affect the continuous process. It is very expensive to restart a continuous process from scratch.
Also, raw material consumption from different location of the manufacturing units can be centrally tracked with the iot system in real time which will help planners to plan out for the production scheduling, man power scheduling, financial arrangements, delivery scheduling, procurement etc.,
Other applications : By measuring day to day consumption of any thing(may be trash or grains, oil at kitchen, we can provide useful insights such as How much of plastics goes to trash per day/per month/ per year? How much of cooking oil or grains are consumed to measure the intake of fats and proteins respectively.
What it does
The system tracks the weight at particular location for particular item and sends its weight as time series data( in frequent intervals of time). The collected data will be pushed to AWS IOT hub using MQTT(pub/sub) protocol, several rules are written to act over on the incoming data and will be routed to kinesis stream or sns notification(to notify for minimum or maximum stock). The data from the Kinesis stream is read using lambda function (trigger by ingestion stream), any calculation or manipulation may be done at this stage. The collected data is then persisted in to Dynamo DB which will be used to do further analytics.
How I built it
I have connected a usb weighing scale to Raspberry Pi. Wrote a small python program using usb scale api to collect data (weight) from weighing scale(sensor). The collected data is then sent to Amazon AWS IOT hub.
Challenges I ran into
Most of the traditionally available weighing balance goes OFF after certain period of time, due to this I was not able to collect real time data. Rather I was able to collect for demo purpose only. I also tried buying weight sensor hx711 to create my own and it was time consuming but it was great learning experience.
Accomplishments that I'm proud of
As my first Hackathon, I am proud that I was able to reach my goal by connecting device to raspberry pi and collect data and utilized Amazon iot services such as AWS IOT(devices, rules,test), Kinesis Streams, Lambda Function, Dynamo DB and SNS email notification.
What I learned
I learned how the data from the things(internet of things) can be collected and utilized using Amazon IOT eco system. I laid great foundation for my future IOT projects.
What's next for WeighSense
Will utilize the concept at home for tracking plastic wastage from my kitchen bin. Also track consumption of things such as oil, grains to study the intake of protein, fats etc.,
Will analyze more on how this concept can solve common people problems day to day.