- post by: Owen Martin
- September 04, 2018
IoT Home Automation with Hindi Commands using Google
In this project, we will be connecting and controlling our ES32 Wi-Fi based module from our mobile phone’s Google Assistant Application. The charisma here is that your google assistant will take voice commands in Hindi and perform actions on ESP32. It will then perform actions based on our voice commands. This project is amazing and helpful for those who want to make a Voice operated Home Automation for their parents who are not able to speak English. To make everything work, we will also require Adafruit IO and IFTTT. We will add up everything to work.
Material to get started with this IoT Project
- ESP32 (Check the datasheet, if you are using a different version)
- USB Type C cable to program ESP32 from a laptop or PC (most Android phones use this type of cable).
- Relay Module – Relay is a switching Module. In a relay, we can control switching AC or DC appliances digitally by providing input to relay input pins. Here we have used a 2-channel relay operating on a 5 Volts battery.
To connect your AC appliance, use the following connection with the Relay Module use the following connection. The Signal pin is IN1/IN2.
with some wires and breadboard.
Back End Set-up
Set-up with Google Assistant
We must Set up Hindi in Languages option of Google Assistant account. To do this go to Google Assistant App > Settings > Phone > Voice and Speech – Other Voice Settings> Offline Speech Recognition. Now download English(India) and Hindi(Bharat).
You can download other languages too as per your preference. For further reference, you can check here.
Set-up with Adafruit IO
Go to Adafruit IO and Sign Up or Sign In to your Adafruit IO account.
After creating Adafruit, you should be taken to Adafruit Home Screen. Now Select Feeds from hand menu> Click Action and Create a New Feed from the drop-down menu.
Give this any name you wish, I created “onoff”. Now, Go to Dashboards > Actions > Create a New Dashboard. Similarly name this one also, I named it “LightAutomation”.
And click on Blue “+” on the Top right side of your Dashboard to create a new block. Select “Toggle” Block.
Now, choose your feed and click “Next Step”.
Fill the block settings and “Create the Block”.
Set-up with IFTTT
Create an account on IFTTT by Signing Up with your same Google Account you are using in your phone. Now go to My Applets > New Applet > Click “ + this “ In Search services tab type Google Assistant and select it. Click “Say a simple phrase” trigger and fill this data with English and Hindi phrases and “Create Trigger”.
Now, select “+ That” to create actions in the Adafruit IO so that Google Assistant can trigger Adafruit IO.
Here we will select Adafruit as our Action Service.
For the very first time, this will ask your Adafruit Login Credentials. Fill your Adafruit IO account details there.
Choose “Send data to Adafruit IO” action and fill the Action field by choosing you “Feed name” and “Data to Save” and “Create Action” and click “Finish”. This data will be the same as filled in Block Settings in Adafruit IO (Fig. 12).
We need to create two such blocks for ON and OFF for the same feed.
Steps for the ESP32 support in Arduino IDE
Ignore this step if you already have the setup of ESP boards in Arduino IDE.
Here to code the ESP32 we need an Integrated Development Environment and we will use Arduino IDE software. Arduino IDE is a cross-platform application. It is written in Java and coded in C/C++ with some special rules. To download the latest Arduino IDE from here. Arduino IDE does not contain support of ESP32 family so to install the ESP-32 Board in Arduino IDE, you can refer here.
Most Arduino-based projects use LCDs to show data, but this project instead uses webpage so that more details can be displayed in a graphical form and accessed from anywhere through the Internet. The project takes variable analogue inputs from Arduino and displays results in graphical form on a webpage that supports HTML5. The project presented […]
A mobile signal booster amplifies a mobile phone signal sent to and from the phone to the nearby tower. A mobile signal booster is basically a repeater system, which takes the existing mobile phone signal, amplifies that signal and rebroadcasts to a nearby area. Thus helping the user to hear properly on a phone when the signal is […]
LabVIEW, or Laboratory Virtual Instrument Engineering Workbench, is a system design platform and development environment for graphical language programming. It is a visual programming language from National Instruments (NI). LabVIEW programs or virtual instruments (VIs) have front panels and block diagrams. The front panel is the user interface (UI), and the block diagram contains the […]
Electronics design engineers require a number of software to create and verify their designs digitally, before moving to production. KiCad brings all these tools together under one platform, making their tasks simpler. This free electronic design automation (EDA) software suite mainly comprises a schematic creation and capture suite, and a PCB layout tool. It enables […]
There are various applications where the developers need to design a highly complex embedded system. In complex applications requiring sophisticated algorithms, frequently one team is focused on developing the time-critical control code while another is working on the code for housekeeping, diagnostics and communication functions. In this type of scenario, a microcontroller with an extra […]