An IoT Mastery Project guide series
ESP32 Unleashed, A mastery project: Speak to your gadget
The ESP32 is a technology that can seriously expand your horizons as a maker. This project combines many of the hardware and software skills you learned in ESP32 For Busy People.
If you have completed at least some of the lectures in ESP32 For Busy People, you have a good feel for the power packed in the ESP32 and the ESP32 devkit.
The ESP32 is a technology that can seriously expand your horizons as a maker. In ESP32 For Busy People, you learned how to do a variety of tasks that are common in the world of the Arduino: How to control LEDs, buttons, and displays, for example.
You also learned how to do things that take much more effort to accomplish with an Arduino Uno: Connect to Wifi networks and Cloud services and implement BLE services, for example.
Each of those examples individually is interesting, but they are far from being a good representation of what you can do with the ESP32.
They only give you a glimpse of what is possible.
You have only seen a couple of trees, not the forest.
To get a much better understanding of what is possible to do with the ESP32, you need a full, comprehensive project.
A project that combines as many of the ESP32 capabilities as possible.
A project that will stretch your programming skills.
A project that will stretch your imagination.
A project that will stretch your tools, to the extent that you will need new ones.
A project that will teach you how to unleash the power of the ESP32, and your creativity.
I just finished working on just such a project 🙂
This project combines many of the hardware and software skills you learned in ESP32 For Busy People.
It adds new skills.
Most important, it combines all of that in a single project.
The tangible outcome of this project is an Internet of Things gadget.
This gadget integrates local hardware with Cloud applications.
A gadget that is and feels complete and that can be your beginning to amazing projects.
Here’s one of the things that this gadget can do:
You can speak to your Google Assistant using simple phrases. You can customize those phrases to whatever you want.
Google Assistant interfaces with IFTTT (If This Then That) to decompose your phrase and convert it to a command.
IFTTT will then trigger a change to a variable in one of the feeds of your AdafruitIO account.
This feed is bound to an event running on your ESP32 gadget. The change of the value in the variable will trigger the event, which will change the state of the LED.
The automation is fully configurable and can do much more than simple LED toggling.
Here’s a video that shows what I described above, in action.
Programmatically, you only need a few lines of code to make this work:
First, bind the AdafruitIO feed to a local variable:
Second, bind changes to the variable to a function:
And third, do something with the value stored in the variable:
“Is that all?”, you might ask.
Yes, and no.
To get those lines of code to work the way they do, you must set up the supporting infrastructure. You must also do some work in the Cloud services we are using (in this case, Google Assistant, IFTTT, and AdafruitIO), and at the local level in the firmware that runs on the ESP32.
However, in my experience, getting those components working together in perfect harmony is much easier than what you might think.
Of course, I will show you exactly how to achieve this in ESP32 Unleashed.
In tomorrow’s email, I also want to show you another cool thing that you can learn in this comprehensive ESP32 project. Please look out for it; you don’t want to miss out.
In the meantime, do you have any questions about the ESP32 project that you’d like to ask me?
Just go here and post your question.
Continue with the next article in this series.
Ready for some serious learning?
A new learning adventure awaits you.
Create an application that will stretch your existing knowledge and skills.
ESP32 Unleashed is a project course
This course is perfect for people familiar with the ESP32, especially graduates of ESP32 For Busy People.
It is a guided project, designed to teach you how to use modern tools to create modern embedded applications based on the ESP32.
Just click on the big red button to learn more.
Jump to another article
1: Why use PlatformIO to program the ESP32?
2: How to install PlatformIO and MS Code (Mac OS)
3: How to install PlatformIO and MS Code (Windows 10)
4: Set up an ESP32 project in PlatformIO
5: Upload and test the new project
6: Create the Git repository
7: Split the program into two files
8: Test the multi-file project
9: How to use Git version control