Dual Bin Data Streams (weights combined)
Close up of custom scale (with load sensor)
Zoomed out view of bin setup
Slack conversation showing when last item was removed
Slack conversation showing an 'order more' link for the particular item
Log output from stream
Stream data from Kinesis stored locally on server as json
Pantry Slack Bot
Slack bot for retrieving real time snack supplies from your office kitchen using AWS data streams (Kinesis).
Official submission for the AWS IOT Kinesis Challenge
Check the full open-source repo here: https://github.com/cbonoz/pantryslack
Bagels are the most frequently consumed product in our office. We set out to build a solution that would let you know how many bagels were in the office from your mobile or desktop in real time, from anywhere.
No longer do our staff members live in wonder coming into the office over whether there will be bagels or not. Now they can slack a quick message to the office pantry bot and see if they need to make a pitstop at the local Starbucks on their morning commute.
Though we demoed this with bagels, this could be used to remotely monitor other supplies as well.
- Nodejs/Express web server
- Slack sdk
- AWS-KCl (kinesis consumer sdk)
- Mosquito (Raspberry pi MQTT broker)
We have the Raspberry Pi setup to sample from the tared (neutraled out with bin weight) stands as quickly as you can get data from the load cells. We take the average of these incoming measurements over 30 seconds and broker them to the AWS Kinesis backend.
On the slack side, we have a remote web server set up as a Kinesis data consumer, which collects and stores the incoming measurements from the data stream. These measurements are then stored locally on the server and made available to end users in the office by communicating with the slack bot.
- 5 kg load cells (compatible with Raspberry Pi)
- Screws, bearings, and plywood square cutouts for the stands
- Raspberry Pi Zero W (or equivalent)
- Plastic bins for each stand in the setup
- Wires and cabling
Front of stand
Dual measurement bin setup
Slack bot live conversation
Running the slack server:
yarn yarn start
Running the container from your local Dockerfile (using port 5000 as the default).
sudo docker build -t pantry-bot . sudo docker run -p 5000:5000 pantry-bot