Introduction: Wireless Doorbell - (Raspberry PI & Amazon Dash)

What does it do? (see video)

When the button is pressed, Raspberry discovers new device logging on the wireless network. This way- it can recognise the button being pressed and pass the information about this fact to your mobile (or a device of your choice)

In this project, you will see how to change the Amazon Dash into a wireless doorbell.
(Video tutorial link in the last step)

Things you'll need for this project:


Amazon Dash Button - Amazon offers WIFI buttons in the USA which can be set up to skip the Amazon functionality and make it work as a wireless button or a switch.

Tasker - Android app, which allows you to automate everyday tasks, we will be using this framework to display a notification on the mobile

AutoRemote - Tasker plugin which allows communication between mobile and raspberry

Raspberry Pi - a microcomputer which will scan the network for WIFI button presses - has to be connected to the network (via WIFI or LAN)

Step 1: Setting Up WIFI Button

Connect the button to WIFI

  1. Press the button for 5 sec to enter the device into a WIFI broadcast mode.
  2. Open your mobile (or any wifi device) and look for the Amazon Configure Me
  3. Once connected to the device open a web browser and navigate to 192.168.0.1
  4. Select your network and enter your password
  5. Your button now is ready to rock

Step 2: Setting Up Raspberry PI

Looking up the MAC of your buttons

Please make sure you have following libraries installed:

sudo apt-get install tcpdump

sudo apt-get install arp-scan

sudo pip3 install scapy-python3

Use Doorbell.py script to find out MAC for your button - see comments in the script.

Script has been updated and modified for Python 3

Setting up the scrip responsible for intercepting button presses

We will need to modify the doorbell.py script, open it and replace YOUR BUTTON MAC GOES HERE with the MAC saved from the step above. Look for YOUR AR KEY GOES HERE - this is where the Autoremote keys will be pasted. I will show you how to obtain the keys in the next step.

If you have the new buttons JK29LP - please see this post for the correct python3 script:
http://www.notenoughtech.com/raspberry-pi/new-amazon-dash-buttons/

Step 3: AutoRemote and Tasker

AutoRemote

Open AR on your mobile and go to your personal URL (something like http://goo.gl/xXxXx). The address bar will contain the key we need for the doorbell.py - it will start with:

http://autoremotejoaomgcd.appspot.com/?key=YOUR_KE...

Copy the key (all after the = symbol) and replace the YOUR AR KEY GOES HERE in the script.

Tasker

We are going to create a profile. Our condition is an EVENT-plugin- Autoremote and set the filter to AmazonGreen (or whatever message you have used in doorbell.py)

Create a Task that will display notification. Open Alert - Notify and type your information. This message will be displayed on your screen.

Profile is provided as a project file.

Step 4: End Tips

Your Raspberry is ready to intercept the button presses. It allows for one press every 6-10 sec, and multiple buttons can be pressed as well. As long as the script is running - you can receive the notifications (consider running it at the start)

The script should display below warning when operating:

WARNING: No route found for IPv6 destination:: (no default route?)

You can peel off the default label using a sharp tool and glue it another way around or use it as a stencil to generate your own. (see picture)

If you want to run this script at startup use rc.local method, put sleep 10before the line with your script to allow the execution.


Full video tutorial on my YouTube channel:
Wireless Doorbell