Introduction: Final Project - IoT Rube Goldberg Machine

In this final project, we created our own interpretation for an IOT Rude Goldberg Machine.

In our project, we focused on a daily use case, where our dog stays alone at home while we are at the office.

Our system provides us with a smooth automatic procedure to give him his 4 pm treat.

In general, the flow of our system is as the following:


For each and every ordinary Day in the office, when your dog is left alone back home.

Monday's Daily Automation reminds you that it is Snack Time, and creates a new task for you.

Then you open the Blynk App and click on its unique button.

The button Alarms your dog back home by starting the CPX to shout and blink!

Your dog will notice the noise and lights, so he will eat its treat from the light sensor.

The change in light level will trigger the Blynk App to send a webhook to the Integromat Scenario.

This scenario starts running, and eventually will move the Monday task to Done!


By the end of the flow, you get an assurance that your dog has eaten its snack.

In the following Instructable, we will provide all the details for the construction of this kind of system...

Supplies

Tools checklist -

Hardware:

  1. Adafruit Circuit Playground Express board & ESP8266 ESP-12E CH340G
  2. Micro USB cable
  3. Remote Battery power/USB Charger
  4. Internet connection (Wifi)
  5. Your dog's favourite snack


Software:

  1. Arduino IDE


Third-party Apps:

  1. Monday
  2. Blynk
  3. Integromat - Make

Step 1: Monday Board Setup


  1. Login/Create a Monday user: monday.com.
  2. Create a new board.
  3. Create a new daily automation, and configure the days you want it to notify you.


Step 2: Creating Your Own Blynk App


  1. Login/Create a Blynk user: blynk.io
  2. Download Blynk App to your smartphone (search 'Blynk' Via your App Store).
  3. Create a new template:
  4. Add a button -
  5. In his settings choose its datastream (for example v0)
  6. Change its mode to 'switch'.
  7. Design it as you wish.

Step 3: Creating a New Blynk Device

  1. Back on your (Blynk) web dashboard, create a New Device -
  2. Choose 'Create from template': (choose the one you just created in the previous step).
  3. Copy your firmware configuration: (you will need it in a moment).
  4. BLYNK_TEMPLATE_ID
  5. BLYNK_TEMPLATE_NAME
  6. BLYNK_AUTH_TOKEN

Step 4: Cpx SetUp

  1. Download Arduino IDE: www.arduino.cc/en/software
  2. Create a new scatch from the attached file - 'Gokus_Snack_Break.ino'
  3. Change the wifi Credentials. (To the wifi credentials that the CPX is going to be located nearby.)
  4. Change Blynk Auth and keys (To those you copied from the previous step.)
  5. Connect the ESP8266 to the CPX Board.
  6. Connect your CPX to your pc and upload the scatch to the board.

Step 5: Creating a New Integromat Scenario

  1. Login/Create a Make (Integromat) user:https://eu2.make.com/.
  2. Create a new scenario that once the webhook is received, it will change the task to status 'Done' -
  3. Add a custom webhook - copy its URL you will need it in a moment.
  4. Add another module - Monday - 'get a board'.
  5. Add another module - Monday - 'search items in the boards by column value'.
  6. Add another module - Monday - 'update column values of a specific item'.

Step 6: Create a WebHook on Your Blynk Device

  1. Now, you need to create a New webhook in your Blynk app. On the Developers section of the Settings menu, click Create New WebHook:
  2. Configure it on your device and to the relevant Datastream.
  3. Paste the webhook URL that you copied from the previous step.


Step 7: Enviroment Set Up

That is it! You are all set up!!

Now you can find the right spot in your house, to leave the CPX board connected to power with a snack for your dog.

Good luck!!!