The DashScanner service monitors the network for ARP discovery packets from the Amazon Dash and passes the source MAC on to a webservice. In conjunction with Node-Red, it makes it easy to trigger complex actions.
To set up the service:
- Edit DashScanner
- Set DIR to the checkout directory.
- Edit dash_scanner.py
- Set DASH_URL to the webservice waiting for MAC posts.
- Set DashScanner and dash_scanner.py to executable.
- Copy the DashScanner file to /etc/init.d/DashScanner
- Depending on your distro, you may have to run the following commands to register the new service:
sudo update-rc.d DashScanner defaults
sudo update-rc.d DashScanner enable
Now, start the process with:
sudo service DashScanner start
For the webservice side, set up Node-Red with an "HTTP In" node with Method:POST and URL:/dash. You can then use this node to trigger a wide variety of different functionality and services.
Originally, I wrote a Node-Red node to handle the ARP capture directly. I didn't like runnin my entire Node-Red service as root, though, so I moved the functionality to it's own service.
This project is inspired heavily by Ted Benson's excellent post on triggering on Dash ARP packets.