This is a node.js application that "hacks" your Amazon Dash Button to order you a Domino's pizza!
JavaScript
Latest commit cb841a1 May 1, 2016 @bhberson Merge pull request #15 from PizzadashRPIOpenSource/master
Fixed merge conflict from PR #14 and added console logging

README.md

Pizza Dash

PizzaDash

Join the chat at https://gitter.im/bhberson/pizzadash

This is a node.js application that "hacks" your Amazon Dash Button to order you a Domino's pizza! I was inspired by this article by Edward Bensen. I am using a few npm modules to listen for the button press and place the order: RIAEvangelist's dominos and also hortinstein's Node-Dash-Button.

One idea would be to have this always running via a local server such as a Raspberry Pi and have on demand pizza ordering whenever you just need a pizza!

I wrote a blog post about my experience here on Medium!

Requirements

pcap If you are running ubuntu you will need to run sudo apt-get install libpcap0.8-dev

Contributing

  1. Pull or Fork code.
  2. Do cool stuff.
  3. Submit a PR.

Setup/Run

  1. Run npm install the first time so all npm requirements will be installed.
  2. Find Closest Store
    • Run node findStore.js and input your 5 digit zipcode, this will return closest store info (Store ID) and their menu.
  3. Find Dash Button
    • Run sudo node node_modules/node-dash-button/bin/findbutton and press the button
  4. Create your order.json file by copying exampleorder.json
    • Add your store from step 2
    • Edit your address and personal/customer information
    • Edit your order using menu from step 2
    • Add credit card information
    • Add your Amazon Dash Button's address from step 3
  5. Runnpm start and press your Dash Button that you have set up and BAM pizza will be coming soon!

Issues

If you run into any issues with Socket Watcher please try this: Looks like socketwatcher was using the legacy "node" command instead of nodejs. It is solved on ubuntu by installing nodejs-legacy that clears up those conflicts. sudo apt-get install nodejs-legacy

Always Running

This article shows you what you can do with a Raspberry Pi to set this up as a node server running all the time on your network and it literally would be the press of a button whenever you wanted!

Or you can view this Gist to view how to create an AWS Lambda function if you own an Amazon AWS IoT Button. They basically handle the "always on" use case for us!

To do

  • Create a Web Interface to assist in creating orders easily.
  • Other ideas?