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 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 notification on the mobile
AutoRemote - Tasker plugin which allows communitcation between mobile and raspberry
Raspberry Pi - micro computer which will scan 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
- Press the button for 5 sec to enter the device into a WIFI broadcast mode.
- Open your mobile (or any wifi device) and look for the Amazon Configure Me
- Once connected to the device open a web browser and navigate to 192.168.0.1
- Select your network and enter your password
- 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:
Step 3: AutoRemote and Tasker
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:
Copy the key (all after the = symbol) and replace the YOUR AR KEY GOES HERE in the script.
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 script is running - you can receive the notifications (consider running it at start)
Script should display below warning when operating:
WARNING: No route found for IPv6 destination :: (no default route?)
You can peel of the default label using a sharp tool and glue it other way around or use it as 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.