Alexa Echo + ESP 8266 = Smart Power Plug

3,625

33

11

Intro: Alexa Echo + ESP 8266 = Smart Power Plug

This instructable use ALEXA ECHO direct control ESP8266.

My server just support authorization ESP8266 to Amazon server.

My server do not backup your data.

Vote for me :D Thank you!

Step 1: Requirements

HARDWARE

SOFTWARE

Step 2: Flash New Frimware

1. Unplug ESP8266 from module

2.Connect module to USB to Uart module:

GND -------- | GND TX | -------- RX
------- | IO2 EN | -------- 3V3
GND ------- | IO0 RST | -------- BUTTON -------- GND
TX ------- | RX 3V3 | -------- 3V3

==================================================

BEFORE FLASH, PRESS BUTTON TO RESET
(IO0 alway connect to GND -> ESP8266 goto flash mode after reset)

==================================================

3.Flash my firmware

  • Download my sketch:

    https://github.com/kim7tin/ESP8266-Smart-Power-Plu...

  • Open in Arduino IDE, and change:
    • wifi_ssid: your wifi name
    • wifi_password: your wifi password
    • control_password: your secret password
    • friendlyName: your device name
    • ip/gateway/subnet: ESP8266 IP static for NAT
  • In Arduino IDE. Select Tool:
    • Board: Node MCU 0.9 ()
    • Upload Speed: 230400
    • Port: Select your USB to Uart port
  • Hit Upload icon (before hit, press reset button in step 2)

4.Connect ESP to module again

5.Connect power plug

Step 3: Config NAT & DDNS

We need open port (default 666) to control from Amazon server to our ESP8266.

I just illustrated with my router. You can find out how to open your router port on the internet and open TCP port 666 to the configured ip in step 2

https://m.wikihow.com/Open-Ports

if you do not have a fixed ip. You must use a dynamic domain name. You can find many free DDNS service providers.

Step 4: Control by ALEXA ECHO

1.Enable my skill named "ESP8266 Smart Power Plug

  • Alexa app > Select menu > Skill
  • Search Skill named "ESP8266 Smart Power Plug"
  • Click to Skill
  • Click ENABLE
  • Login with your Static IP or DDNS domains (include your port - default 666)

2.Discover device

  • Alexa app > Select menu > SmartHome

  • Click Add device and wait 20 seconds
  • Now you can see ESP8266

3.Control:

"Alexa, turn on/off <your ESP named in step 2>"

Voice Activated Challenge

Runner Up in the
Voice Activated Challenge

Share

    Recommendations

    • Fix It! Contest

      Fix It! Contest
    • Audio Contest 2018

      Audio Contest 2018
    • Furniture Contest 2018

      Furniture Contest 2018

    11 Discussions

    0
    None
    RaulS86

    Question 4 days ago on Introduction

    is there a way to have the power cord power the relay.. like a sonoff? so you only one cord.. instead of two?

    0
    None
    MohandM

    6 weeks ago

    hello, i can't find our Skill, i think it's dead :-(

    0
    None
    ChristianW102

    Question 2 months ago on Step 4

    Hi,

    Good job !

    Do you think it is possible to translate the skill into French? to control esp8266 in french?

    Thanks

    1 more answer
    0
    None
    ductinChristianW102

    Answer 2 months ago

    Ok, but I'm not really free now. Can you build one yourself?

    0
    None
    tomsav

    Question 2 months ago

    Hi

    Can you use multiple ESP8266 connected to Alexa?

    Does your skill support another port forwarding or only 666?

    1 more answer
    0
    None
    ductintomsav

    Answer 2 months ago

    Yes, you can change to another port on arduino code

    0
    None
    Stevieg1978

    8 months ago

    Hi this looks really good but I cannot locate the Alexa skill you refer to

    2 replies
    0
    None
    ductinStevieg1978

    Reply 8 months ago

    It now live. You can search it now :)

    0
    None
    ductinStevieg1978

    Reply 8 months ago

    I just submitted my skill. It may take a few days for you to find it.

    0
    None
    ductinJosephZ11

    Reply 8 months ago

    You can edit my sketch a bit. My relay controller module via uart. With sonoff you can be direct controlled by gpio