The issue of missing, losing or receiving delayed letters by post is one problem that almost everyone has faced once in his lifetime. The effort involved in constant communication to retrieve the post is often not worth it. It is not very convenient for the owner to check the post box every day, especially if the person is aged or has other issues. An instant notification in hand can make life easier.
Our idea was to create a smart post box that can notify the owner every time a post is delivered in the post box. The basic idea behind our project was to use a touch sensor that will detect the presence of any new item and send an instant notification to the owner through an application.
We decided to send both text and audio notification as shown in the images below-
We planned to use Grove 80 cm Infrared Proximity Sensor, a General Purpose Type Distance Measuring Sensor. The idea is to build one smart post box using this sensor connected to Raspberry Pi board. Every time there is a new post, it will trigger the event of sending the push message. The Raspberry Pi will be connected to the internet using Wi-Fi module or via Ethernet and send the message to a mobile device. As for the audio notification, we planned to use a toggle sensor.
Step 0: Prerequisites
For sending the notifications, we used Telegram. The reason for not using Skype, WhatsApp and the other messaging services is, they do not provide a public API to send messages and files from the Raspberry Pi. Telegram provides a bot functionality as well as an existing node-red module (node-red-contrib-telegrambot). With this module it is possible to send text and file messages to the end user. Previously, the user has to create a bot to receive an API token, which is demanded by the node-red Telegram module. We followed the below mentioned links for creating this API token:
Step 1: Installation of toggle sensor
Our first step was obviously to install the toggle sensor with the Raspberry Pi and make it work by plugging it into a breadboard. This sensor is a toggle output type: touch-on then touch-off. That means that when a capacitive load is detected (e.g. a person or an object touches the sensor-pad area) the red LED will alternate turning off and the output pin will go high or low, respectively. It essentially acts as a switch. This is helpful when it comes to activating or deactivating the microphone that is responsible for audio recording.
The flow will be:
Toggle sensor = 1 -> Microphone activated
Toggle sensor = 0 -> Microphone deactivated -> Send created audio file via Telegram Bot
In this way, the user gets notified through an audio recorded voice message because the user receives a message in his Telegram application from the previously created bot.
Step 2: Installation of proximity sensor
The next step was to install the proximity sensor. The proximity sensor can detect the presence of nearby objects without any physical contact. This is typically helpful in our case for the fact that whenever there is a post in the postbox, the proximity sensor will detect it and send a notification message to the receiver stating that there is a new post.
The flow will be:
Proximity sensor = 0 (no post)
Proximity sensor = 1 (notification of a new post)
Step 3: Installation of a USB microphone
We bought a USB microphone. It was a driver-free, plug and play, ultra-portable device. We bought the one that works without any drivers and therefore, it was simple to make it work by just plugging it in the Raspberry Pi.
In order to program this into the Raspberry Pi, we used the ‘node-red-contrib-micropi’ module. MicroPi is a set of nodes for recording and streaming audio from a USB microphone connected to a Raspberry Pi in Node-Red. The process to make it work is to Boolean true as msg.payload and a false to stop.
Due to time limitation, we could not incorporate the video streaming functionality using the web cam module. We would want to implement this as part of future work and enhancement to the existing system.
Raspberry Pi 2
Toggle Sensor AT42QT1012
Grove - 80cm Infrared Proximity Sensor
Push Notification via email
Push Notification via text message in Telegram
Working with the Toggle sensor