Introduction: Google Assistance Pet Fedder
Introduction:
Well, as it turns out, I'm too lazy and logging in to the Bolt cloud console to feed my pet was a bit too much.
So, I've utilized the Bolt cloud and IFTTT's service to feed my pet whenever I tell Google Assistant on my phone to do so.
TLDR - The Google Assistant on my phone feeds my pets whenever I say the words - "OK Google, Feed my pet.". This avoids me having to log in to the cloud console to click a button to feed my pet. I can just tell my Android phone to do it for me.
Information Flow
- I say - "OK Google, feed my pet" to my phone.
- Google Assistant recognizes the command and sends a request to IFTTT.
- IFTTT triggers a webhook linked to my Pet-Feeder.Since my Pet-Feeder is connected to the Bolt Cloud, it understands the webhook and sends a command to my device to feed my pet.
What is IFTTT?
IFTTT :-It stands for If This Then That. It is a free service which allows users to create triggers and execute actions based on the triggers. Head here to log in to IFTTT.
Supplies
Things used in this project
Hardware Component & Software apps and online service
Bolt wifi module
Arduino Uno
Servo Motor
Android device (A fairly recent Android device(Android 5.0+) should have Google Assistant.)×1
Bolt IoT Bolt Cloud
IFTTT Maker service
Step 1: How to Create the URL for Triggering Your Pet-Feeder
- The URL that you will be using to trigger the pet-feeder will be a Serial Write command that needs to be sent to the Bolt.
- The Boltduino will be listening and on a successful command match, it will open and close the door in the pet-feeder, thus feeding your pet.
- The URL will be something like,
https://cloud.boltiot.com/remote/<your API key>/serialWrite?data=a&deviceName=<your device name>
- Replace the API key and the device name with your own.
- You can find your API key and the device name by logging in to your Bolt Cloud dashboard.
- Save this URL as you will be needing it later.Click here to log in to the Bolt Cloud.
CODE
As provided in text file(ie. code2.text)
Step 2: Steps to Link Your Android Phone to IFTTT
- Sign in to IFTTT using the same Google Email ID as used in your Android phone. If my phone was signed using the Email ID xyz@gmail.com, then sign in to IFTTT using the same Email ID.
- Click on "New Applet" from the top right hand side dropdown menu.
- IFTTT now shows you something like this,
- Click on +this. Now this would show you a list of services to base your trigger on. Go ahead and select the Google Assistant service.
Now, you are faced with some options. Since we want to speak to Google Assistant to trigger something, choose the option which says - "Say a simple phrase".Next you can type the trigger for Google Assistant. Google Assistant would recognize this trigger and send a message to the Bolt Cloud. For my purpose, I have set the trigger as "Feed my pet." in response to which Google Assistant would say "Feeding your pet.".1. After creating the trigger, you need to tell IFTTT what to do when the trigger is activated.
2.Click on +that on the screen. This will let you choose a service to execute something when the trigger is activated.
3.Search and click on "Webhook" service and choose the option to "Make a Web Request".
4.So, IFTTT would send a webhook whenever your trigger is activated.
5.In the next screen, enter the URL as the API call for your Bolt device.
6.Method should be GET and content type is "Application/json".The URL will be the same URL that I have explained the above section.
7.When completed, it should look something like the picture below.
Step 3: In Action
1.Say "Okay Google.
2.Feed my pet."The Google assistant should recognize the command and respond with "Feeding your pet."
3.The Pet-Feeder should open and close the trap-door which dispenses food for your pet.
If you think my project was great and helped you in any way and you would like to build one yourself, please write me a message. I will be happy to help you.