Академический Документы
Профессиональный Документы
Культура Документы
Living
Outside
Play
Technology
Workshop
Table of Contents
Use ESP8266 to Internet enabled AC Appliances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Step 1:
..................................................................................................................
Step 2:
..................................................................................................................
Step 3:
..................................................................................................................
Step 4:
..................................................................................................................
Step 5:
..................................................................................................................
Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
http://www.instructables.com/id/Use-ESP8266-to-Internet-enabled-AC-Appliances/
Author:shinteo
Step 1:
Computer Networking
Parts needed: WiFi Router Note: ESP8266 defaults to IP address of 192.168.1.XYZ out of the box. Both the ESP9266 with Arduino Mega and the server will connect to
this WiFi Router network of 192.168.1.XYZ/24. Ensure that firewall rules are removed temporarily or a permit all are applied during testing.
1. setup WiFi Router to issue IP Address via DHCP using the IP address pool 192.168.1.XYZ; subnetmask set to /24 e.g 255.255.255.0. With the router available on
hand, it is configured to allocate IP address in the range of 192.168.1.2 to 99 to PC. Just a matter of personal preference.
2. setup WiFi security, OPEN, WEP, or WPA. Current setup on existing WiFi Access Point/Router. For the sale of simplicity during testing, OPEN can be configured. For
long term usage, it is recommended to configure for WPA.
3. Configuration on different brands of WiFi Router might be slightly different from one and another. RTFM. Alternative: Modify the settings in ESP8266 to suit the network
address on the existing WiFi Router network.
http://www.instructables.com/id/Use-ESP8266-to-Internet-enabled-AC-Appliances/
Step 2:
Electrical & Electronics
Parts needed: IoT inspired Multiplug modified with SSR; ESP8266 connected to Arduino Mega.
Th details steps of modifying a multiplug with SSR is available on instructables http://www.instructables.com/id/IoT-inspired-multiplug-using-SSR/ or here http://shinajaran.blogspot.sg/2014/11/iot-inspired-multi-plug-modified-with.html
The details steps of connecting an ESP8266 to Arduino Mega is available on instructables http://www.instructables.com/id/noobs-guide-to-ESP8266-with-Arduino-Mega2560-or-U/ or here http://shin-ajaran.blogspot.sg/2014/12/noobs-guide-to-esp8266-with-arduino.html
once these two building blocks are ready, connect pin7 of arduino mega with the signal pin of the SSR. VCC on the SSR to 5V on arduino and GND to GND on arduino.
Ensure all components are connected to the common ground.
Step 3:
Software (Programming)
There are 2 pieces of software necessary for setting up this apparatus. One, the firmware that is residing in the Arduino Mega with ESP8266 and controlling the SSR in
the multiplug, and the other is the software residing in the linux server to send a "command" via a website.
The firmware deals with the necessary parameters of ESP8266 to connect to a WiFi network, and waits for the "command" from the server via TCP port 8266. The port
number is a deliberate choice, but it is not recommended to choose ports that are in the "well known" e.g port number < 1024. Choose ports that are in the ephemeral
ports region if it pleases you. The "command" is a keyword sent by the server side software, e.g "LED". Upon receiving this keyword by the ESP8266 and Arduino Mega,
pin7 is held high for 2 seconds and then held low for testing purposes. The "command" is a variable that can be customized. Out of convenience, and also the discovery
of the LEDServer software on github, the keyword "LED" is used.
The server side software is obtained from github out of the convenience. why reinvent the wheel??? Many thanks to contributor! Please follow the github URL below for a
detailed descriptions on the static html page and python. Every time the button send is pressed, the string "LED, R, G, B" is sent to ESP8266. Essentially, only the "send"
button and the keyword "LED" are used by this setup in particular. The original intention of this server side software is to use the variable R, G, B that is of type integer
measuring from 0-255 for setting the colour of neopixel LED strip.
Alternatively, and for the sake of simplifying the server side software for testing there is an opensource tool sockettester v3.0 can be used. URL here
http://sockettest.sourceforge.net/ The ESP8266 LED Server software is used as an example for the sake of complicity to the explanations of this IoT setup.
code for firmware here: https://gist.github.com/teos0009/60d9d10b9441cc2bc0a2
code for server software on linux here https://github.com/Doomhammer458/ESP8266-LED-Server
http://www.instructables.com/id/Use-ESP8266-to-Internet-enabled-AC-Appliances/
Step 4:
Administering OS
Since the chosen server side software mentioned earlier runs off linux; there are several pre-requisite steps needed. In this setup, a virtual machine running ubuntu 14.04
desktop is assumed, and a USB WiFi adapter is connected to this virtual machine. The server side software requires python, Tornado webserver that can be installed via
pip.
1. Configure USB WiFi adapter to connect to the WiFi router. This step varies, depending on the WiFi security setup such as OPEN, WEP or WPA.
Existing WiFi network is using WPA, so it has to be set up accordingly.
apt-get install wpasupplicant wireless-tools
nano /etc/network/interfaces
#add in the following ssid and wpa password
auto wlan0 iface wlan0 inet dhcp
wpa-ssid "the_SSID"
wpa-psk "the_password"
#restart
2. install pip (if it is not installed) sudo apt-get install python-pip
3. install tornado (if it is not installed) pip install tornado
4. execute the server side software as per the instructions in github. The following diagram describes this operation.
http://www.instructables.com/id/Use-ESP8266-to-Internet-enabled-AC-Appliances/
Step 5:
Testing/Troubleshooting
check IP address of the devices from WiFi Router's management console, and ping the devices. The following screenshot describes this operation of ping.
Test ESP8266 for functionality using AT commands.
The following diagram describes the AT commands used for testing.
http://www.instructables.com/id/Use-ESP8266-to-Internet-enabled-AC-Appliances/
Related Instructables
A newbie's
guide to setup
ESP8266 with
Arduino Mega
2560 or Uno by
shinteo
ESP8266 WiFi
temperature and
humidity sensor
by EasyIoT
ESP8266 WiFI
water leak
sensor by
EasyIoT
ESP8266 WiFi
relay switch by
EasyIoT
Advertisements
Comments
2 comments
Add Comment
shinteo says:
hi akin, you are more than welcome to use the data uploaded :)
http://www.instructables.com/id/Use-ESP8266-to-Internet-enabled-AC-Appliances/