Wifi based Home Automation using ESP8266: Few weeks ago I posted Home Automations projects using various techniques such as Serial communication with PC home automation , Bluetooth based home automation, Infrared communication based home automation, Voice controlled home devices control system and home automation from web page using Ethernet. Now I am using ESP8266 wifi module to control the devices using S Remote Android Application. S remote application is free to download from Google Play store. In this wifi based home automation project over cloud using esp8266 wifi module, I will using wifi as wireless communication to control home devices. In this wifi based home automation system, we are using Arduino Uno R3. We have also posted a similar project using pic microcontroller based home automation over wifi. you may also like to check it.
- ESP8266 Wifi Module: ESP8266 is a wifi chip that provides Transfer Control Protocol (TCP) and Internet Protocol (IP). There are different ESP8266 modules available in the market. In this project we are using the first model. It has 6 pins and operates on 3.3v. ESP8266 was initialized via the following commands:
- AT+CWMODE = 3
- AT+CIPMUX = 1
- ESP8266 was then connected to the mobile hotspot by the following commands:
- AT+CWLAP (returns the list of the available Wi-Fi networks available)
- AT+CWJAP = “SSID”, “password” Example: AT+CWJAP = “PTCL-BB”, “12345467”
- Arduino Uno: Arduino is development boards build around ATmega 328P. Arduino is perfect for this project as it provides much pins to interface relay module,16×2 LCD and ESP8266 wifi module
- 4 channel Relay Module: Relay is used to switch on and off higher voltages devices by using low dc voltages such as signal from Arduino digital pin. In this project we used 4 channel relay module it is easy to interface with Arduino instead of connecting each relay separately. It can bears up to 250VAC and 10 amps of current.
- 16X2 LCD: 16×2 LCD is used to display 16 characters in two lines. It is easy to interface with Arduino due to its available library. In this project this LCD is used to display the status of the appliances whether it is on or off.
- VSS to ground.
- VDD to supply voltage.
- VO to adjust pin of 10k potentiometer.
- RS to Pin A0.
- RW to ground.
- Enable to Pin A1.
- LCD D4 to Pin A2.
- LCD D5 to Pin A3.
- LCD D6 to Pin A4.
- LCD D7 to Pin A5.
- Ground one end of potentiometer.
- 5v to other end of potentiometer.
4 Channel Relay modules:
- External 5 volt to JD VCC.
- Ground to ground.
- Ini1 to Pin 3.
- Ini2 to Pin 4.
- Ini3 to Pin5.
- Vcc to Arduino 5v.
- Connect one terminal of all bulbs to normally open terminal of relays.
One end of 220VAC to all common terminals of relay and other end with other terminal of bulbs.
ESP8266 wifi module to Arduino:
- Module Vcc to 3.3v.
- Module CH_PD to 3.3v.
- Module Ground to Arduino ground.
- Module Tx to Arduino Rx.
- Module Rx to Arduino Tx.
Working: Download the S Remote application from Google Play Store. Open the application, go to Setting>>Advance>>Layout and select the Button according to your desire. Then select IP and enter the IP address which is get when we initialize ESP8266 wifi module using this command “AT+CIFSR”. IP address is written in third line such as “192.168.10.4”. Then write the port which is “80” in port option. Go to Setting>>Keys and then select key1 and write the label to display on button and then the data which you want to send to Arduino. Click the TCP button. Similarly write the label and data in others keys. If you connect everything correctly then power up the circuit and open serial monitor, it takes few seconds to initialize wifi module. Press the button on application, the data is send by application to Arduino through Wifi and then Arduino performs operations according to instructions and the status on devices are display on LCD.