Smart Home With Google Assistant & Alexa Using NodeMCU ESP8266 - IoT Project 2021

by techstudycell in Circuits > Microcontrollers

7757 Views, 12 Favorites, 0 Comments

Smart Home With Google Assistant & Alexa Using NodeMCU ESP8266 - IoT Project 2021

vlcsnap-2021-04-25-08h32m07s197.png
thumb _website.jpg
vlcsnap-2021-01-17-19h59m11s931.png
vlcsnap-2021-04-25-08h40m33s829.png
Smart Home with Google Assistant & Alexa using NodeMCU ESP8266 (Manual + Voice) | IoT Projects 2021

In this IoT project, I have shown how to make an IoT-based Smart Home with Google Assistant & Alexa using NodeMCU ESP8266 to control 3 home appliances with voice commands. If the internet is not available, then you can control the home appliances from manual switches. During the article, I have shown all the steps to make this smart home system.

This complete Home Automation system has the following features:

  1. Control appliances with Google Assistant
  2. Control appliances with Alexa
  3. Control appliances manually with switches
  4. Monitor real-time feedback in the Google Home and Amazon Alexa App.
  5. Control home appliances manually without internet.
  6. All resources used for this project is FREE

So, you can easily make this home automation project at home.

Supplies

  1. NodeMCU
  2. Relays 5v (SPDT) (4 no)
  3. BC547 Transistors (4 no)
  4. PC817 Optocuplors (4 no)
  5. 510-ohm 0.25-watt Resistor (4 no) (R1 - R4)
  6. 1k 0.25-watt Resistors (5 no) (R5 - R9)
  7. LED 5-mm (5 no)
  8. 1N4007 Diodes (5 no) (D1 - D5)
  9. Push Buttons (4 no) or Switches
  10. Terminal Connectors
  11. 5V DC supply

Circuit Diagram of the NodeMCU Home Automation Project

circuit2.jpg

This is the complete circuit diagram for this home automation project. I have explained the circuit in the tutorial video.

The circuit is very simple, I have used the GPIO pins D1, D2, D5 & D6 to control the 4 relays.

And the GPIO pins SD3, D3, D7 & RX connected with switches to control the 4 relays manually.

I have used the INPUT_PULLUP function in Arduino IDE instead of using the pull-up resistors.

I have used a 5V mobile charger to supply the smart relay module.

Here, the D3 pin should not be connected with GND during the booting process of NodeMCU.

Controlling Relays With Google Assistant Using NodeMCU

vlcsnap-2021-04-25-08h34m17s473.png
vlcsnap-2021-04-25-08h32m33s123.png

If the NodeMCU is connected with the WiFi, then you can control the home appliances from Google Home App and also from the manual switches.

You can also ask Google Assistant to turn on and off the appliances.

You can control, monitor the real-time status of the relays in the Google Home App from anywhere in the world. You don't need any Google Home Nest device for this home automation project.

Controlling Relays With Alexa Using NodeMCU

vlcsnap-2021-04-25-08h33m56s277.png
vlcsnap-2021-04-25-08h33m09s872.png

You can also control the home appliances from Amazon Alexa App if the NodeMCU is connected with the WiFi.

You can also ask Alexa to turn on and off the appliances.

You can also control the appliances from the manual switches and monitor the real-time feedback of the relays in the Amazon Alexa App from anywhere in the world.

You don't need any Echo DOT device for this home automation project.

Controlling Relays Manually With Switches

vlcsnap-2021-04-25-08h35m08s127.png
vlcsnap-2021-04-25-08h32m53s187.png

If the WiFi is not available, you can control the relays from the manual switches.

The NodeMCU will check for the WiFi after every 5 seconds. When the WiFi is available, the NodeMCU will automatically connect with the WiFi.

Please refer to the circuit diagram to connect the manual switches.

Design the PCB for This Smart Home System

vlcsnap-2021-01-17-19h58m26s121.png
vlcsnap-2021-01-17-19h58m40s950.png
vlcsnap-2021-01-17-19h58m50s543.png

To make the circuit compact and give a professional look, I have designed the PCB after testing all the features of the smart relay module.

You can download the PCB Gerber file of this home automation project from the following link: https://drive.google.com/uc?export=download&id=1Jx4D_DSV_ei1y0a82AbtxbsNhy8sjCmY

Order the PCB

JLC PCB_Pic 1.jpg
JLC PCB_Pic 2.jpg

After downloading the Garber file you can easily order the PCB

1. Visit https://jlcpcb.com/RHS and Sign in / Sign up

2. Click on the QUOTE NOW button.

3. Click on the "Add your Gerber file" button. Then browse and select the Gerber file you have downloaded.

Uploading the Gerber File and Set the Parameters

jlc pcb pic 2.2.png
JLC PCB_Pic 3.jpg

4. Set the required parameter like Quantity, PCB masking color, etc

5. After selecting all the Parameters for PCB click on SAVE TO CART button.

Select Shipping Address and Payment Mode

FPR02dddddXCKL1ddCQAUS.jpg
F637ddddddWIQKL1ddCQAUR.jpg
IMG20210109165955_01.jpg

6. Type the Shipping Address.

7. Select the Shipping Method suitable for you.

8. Submit the order and proceed with the payment.

You can also track your order from JLCPCB.com. My PCBs took 2 days to get manufactured and arrived within a week using the DHL delivery option.

PCBs were well packed and the quality was really good at this affordable price.

Solder All the Components on PCB

vlcsnap-2021-01-17-19h59m20s552.png
vlcsnap-2021-01-17-19h59m26s786.png
vlcsnap-2021-01-17-19h59m32s188.png

After that, I have soldered all the components as per the circuit diagram.

Then connect the NodeMCU board with the PCB.

Create an Account in Sinric Pro

vlcsnap-2021-04-25-08h41m16s941.png
sin1.JPG
sin2.JPG

First, visit https://sinric.pro/

You have to create an account in Snric Pro.

Then log in to Sinric Pro Account.

You will get an APP KEY and APP SECRET for the account, which will be required in the code.

Add Room and Devices in Sinric Pro

vlcsnap-2021-04-25-08h41m32s840.png
vlcsnap-2021-04-25-08h42m54s116.png
vlcsnap-2021-04-25-08h41m48s426.png

After that add a room and give a nickname to that room (Ex Living Room)

Then Add devices one by one and give the nickname for each device. Sinric will assign a unique device ID for each device.

Here, I have used the free Sinric Pro account, so I can add a maximum of 3 devices for free.

Program NodeMCU Using Arduino IDE

vlcsnap-2021-04-25-09h12m03s128.png
Capture.JPG
vlcsnap-2021-04-25-09h11m03s397.png

First, download the code & install all the required libraries mention in the code.

Required Libraries:

  • Sinric Pro
  • ArduinoJson
  • WebSockets

Then enter the WiFi credentials

#define WIFI_SSID "YOUR-WIFI-NAME"
#define WIFI_PASS "YOUR-WIFI-PASSWORD"

Enter the APP KEY and APP SECRET from the Sinric pro account Credential menu.

#define APP_KEY "YOUR-APP-KEY"
#define APP_SECRET "YOUR-APP-SECRET"

Enter the Device IDs from the Sinric pro account Devices menu.

#define device_ID_1 "SWITCH_ID_NO_1_HERE"
#define device_ID_2 "SWITCH_ID_NO_2_HERE"

#define device_ID_3 "SWITCH_ID_NO_3_HERE"

#define device_ID_4 "SWITCH_ID_NO_4_HERE"

After that select the NodeMCU 1.0 (ESP-12E Module) board and the PORT. Then click on the upload button

Setup the Google Home App

NodeMCU-Alexa-Google-Home-Control P 3 .jpg

First, download and install the Google Home App. then follow the steps to create Home in Google Home app

  1. Tap on the "+" icon (upper left corner).
  2. Tap on Create new home.
  3. Enter the Home nickname and address.
  4. Then click on Continue.

The Home is created. Now again tap on the "+" icon to add devices.

Connect Sinric Pro With Google Home App | Add Devices

NodeMCU-Alexa-Google-Home-Control P 4 .jpg

After creating the Home in the Google Home app, you can connect the Sinric Pro with the Google Home app

  1. Tap on the "+" icon, then select Set up device.
  2. Tap on Works with Google.
  3. Search for Sinric Pro, then select on Sinric Pro.
  4. Enter the email id and password used for the Sinric account,
  5. Then tap on Sign in.

Thus, all the devices from Sinric Pro will be added to Google Home Account.

Configure the Alexa App for This Smart Home System

NEW  NodeMCU-Alexa-Google-Home-Control  .jpg

Download and install the Amazon Alexa App from the Google play store or App Store.

  1. Go to "More", then select "Skills & Games"
  2. Search for Sinric Pro and tap on "Sinric Pro".
  3. Tap on "ENABLE TO USE"
  4. Log in with the Sinric account credentials.

Connecting Devices With Alexa

NodeMCU-Alexa-Google-Home-Control P 2 .jpg
  1. Tap on CLOSE.
  2. Tap on "DISCOVER DEVICES".
  3. It will take a minute to add devices. During this time the NodeMCU should be connected with the WiFi.
  4. Tap on "Devices", and tap on "Plug" to see all the devices.

Thus, all the devices from Sinric Pro will be added to Amazon Alexa App.

Connect the Home Appliances

cccc.jpg

Connect the 4 home appliances with the relay module as per the circuit diagram. Please take proper safety precautions while working with high voltage.

Connect 5-volt DC supply with the PCB. (I have used my old mobile charger 5V 5Amp)

Turn ON the Supply

aaa.png

Turn on the 110V/230V supply and 5V DC supply.

Finally!! the Smart Home System Is Ready

vlcsnap-2021-04-25-09h13m00s492.png
vlcsnap-2021-04-25-09h18m58s161.png
vlcsnap-2021-04-25-09h18m52s433.png

Now you can control your home appliances in a smart way.

I hope you have liked this Google and Alexa control home automation project. I have shared all the required information for this project.

I will really appreciate it if you share your valuable feedback. Also if you have any query please write in the comment section.

Thank you & Happy Learning.