Arduino WIFI Fish Feeder controlled via Google Assistant
Components
- NodeMCU ESP8266 Development Board
- Stepper Motor and Driver (I used a 28BYJ-48 5V Stepper Motor with ULN2003 Driver Module)
- External Button (Optional used for feeding without sending WIFI command)
- Film Canister to hold Fish Food (Optional)
3D Files are avaliable as stl or Fusion 360 files
- Create a ThingSpeak Account
- Create a ThingSpeak Channel
- Create a ThingSpeak talkback
- Apps > TalkBack
- New TalkBack
- Copy TalkBack ID and API Key
- Download and install Arduino
- Open Arduino and open File > Preferences
- Insert "http://arduino.esp8266.com/stable/package_esp8266com_index.json" into Additional Boards Manager URLs
- Open Tools > Board > Board Manager
- Search "esp8266" and install esp8266 by ESP8266 Community
- Select Tools > Board > ESP8266 Boards > NodeMCU 1.0 (ESP-12E Module)
- Select Arduino Port using Tools > Port
- Open Fish Feeder Arduino Code
- Insert your WIFI Settings and ThingSpeak API Key from above into Fish Feeder Code
- Go to Google Assistant Console
- Create New Project
- Select Custom as the action type
- Select Blank
- Enter your display name and Save
- Create a new Custom Intent called "FeedFish"
- Enter Training Phrase "Feed fish" and Save
- Go to Webhook
- Select HTTPS endpoint
- Enter "https://api.thingspeak.com/talkbacks/TALKBACK_ID/commands?api_key=API_KEY&command_string=Feed&position=0 with your talkback ID and API Key and Save
- Go to Main Invocation
- Click the Your Action Bubble and tick "Call your Webhook"
- Enter "FeedFish" as the handler and Save
- Go to Test and click the "Talk to" button.
- Open ThingSpeak Talkbacks at https://thingspeak.com/apps/talkbacks/ and see the Feed Command appear
- Go to Deploy and enter you're information
- Then go to Release and click Start new release
- You can manage access by selecting Manage Alpha testers