Introduction: IOT Doorbell With Custom Voice Messages
In this instructable we present how you might want to easily convert a doorbell into IOT. Instead of a chime sound you will get a call on your phone with a customised message (completely FREE of charge VoIP service). The doorbell is powered on a battery so you do not have to worry about wiring it and you can stick it anywhere. It connects to the internet over Wi-Fi by using IOT Cricket Wi-Fi module without any extra IOT HUBs required. It sounds cool, doesn't it?
How does it work? When someone pushes a button, it wakes up the IOT Cricket module. Cricket connects to your Wi-Fi and sends a configured HTTP POST request. In this project we configured the request to Webhooks/IFTTT which is connected to "VoIP Calls". Then on your phone install the IFTTT app, which has a built-in VoIP functionality. The app wakes your phone and you hear the customised message. The IFTTT VoIP service is completely FREE of charge and very easy to use.
NOTE: you can do it in many different ways using other services than IFTTT. IOT Cricket module can be integrated to other systems by using either HTTP REST api or MQTT. You can also write your own app to make your completely customised solution.
The instructions comprise of the following steps:
- Modification of your doorbell device
- Configuring IFTTT: Webhooks and "VoIP Calls" service
- Configuring IOT Cricket module
- Connecting the doorbell to Wi-Fi
Before you start, please make sure you have the following components:
Step 1: Modifying Existing Doorbell
As shown below, we took an existing Bell Push Transmitter; opened it up and removed all the internal electronics and the battery. We also cut out the interiors to free up the interior space. Then we connected Cricket Wi-Fi module to a battery and the tactile button. The button we glued on one side of the battery in the position that it can be pressed from the casing button. Then we wrapped it up and put into the casing. As the battery fit tightly we didn't have to glue anything more. This is it!
NOTE: do not close the casing yet. You will need to press the built-in button on the Cricket to configure it.
Now let's configure it.
Step 2: IFTTT Setup With a "VoIP Calls" Service
Steps to follow:
- Go to: https://ifttt.com/
- Login or register
- Click Create from User / Account menu (top right corner)
- Click + to create new source event
- Select Webhooks service
- Click Continue
- Click Receive a web request (on the left hand side)
- Create event name e.g. ring_my_phone
- The source event should be set-up now, click + after Then event
- Search VoIP Calls service
- Change Event Name to ring_my_phone
- Change Title accordingly e.g. Doorbell (the title is shown when a phone rings)
- Change Voice message to whatever you like e.g. Hey! Someone is at your doorstep!
- Click Finish
Almost there, now you need to get a HTTP address to which we can post events from the IoT module. Search for Webhooks service and click on the document in the right up corner.
Next copy web links under "Make a POST or GET web request to:" you will need it later.
Before we start using the device it needs to be configured in Developer Portal. Please go to the next section.
Step 3: Configure Your Device in Developer Portal
Open TOE Developer Portal from any browser either from PC or mobile. You must register/login to Developer Portal to configure the device in your account. Click "Add new" device to activate your device in the system. You need to use the unique serial number printed on a label stick on the back of Cricket.
Set the following configuration:
Battery monitor: OFF
Temperature Sensor: OFF
Force updates on - IO1 Wake Up: Yes
Force updates on - RTC Wake Up: No
Post Events: see below
Copy / paste the link we copied from Webhooks in io1_wakeup:
- replace https to http
- replace event to ring_my_phone
the link should look like this below:
Do not forget to press the Save button.
We are almost there! We just need to connect our device to the internet over the Wi-Fi network.
Step 4: Connect to Wi-Fi Network (internet)
Press the button on the Cricket for 5 seconds until the LED is constantly lit. Then connect from any device with web browser capabilities (smartphone, laptop, ...) to toe_device Circket's private Wi-Fi network. Open http://192.168.4.1/index.html page and pass your Wi-Fi credentials. That's it.
More information how to provision Cricket with your Wi-Fi can be found in Cricket's IOT Developer Guide documentation.
Now your device is live and connected to the internet!
Step 5: Fetch the Configuration From Developer Portal
Just one more step. Press the built-in button on the Cricket for 1 second to fetch the configuration from Developer Portal. Now you are all set and you should keep calls on your phone when you press the doorbell button.
Step 6: Testing
Step 7: Feedback
We hope it was an enjoyable experience for you! If you have any feedback or suggestions, feel free to get in touch and help us improve the technology. If you like the project, please spread the word.