To do that we will use some “AT Commands”.Ĭhanging the ESP8266-01 communication speedįirst step: Upload an empty program to the Arduino board So, we need to reprogram our wifi module to set the communication speed to 9600 baud which works pretty good with the “SoftwareSerial” library. But, there’s a small problem here! the ESP8266-01 wifi module comes from the factory programmed to communicate at speed 115, 200 baud which is somehow hard at the “SoftwareSerial” library to communicate at. “SoftwareSerial” library works great as long as the transmission speed is less than 19, 200 baud. For example, by using this library I can set the pins 2, 3(SoftwareSerial) as Rx and Tx alongside the pins 0, 1(Hardware Serial).
There’s a library called “ SoftwareSerial ” which developed to allow serial communication on other digital pins of the Arduino, using software to replicate the functionality. So, we need to find another two Serial communication pins to use them with the ESP8266-01.įortunately, Arduino made this easy. But the problem here is that these pins will be busy because we will use the Arduino Serial monitor alongside the ESP8266-01 for debugging purposes.
And according to the incoming data, the Arduino board will take some actions like turning on the bulb, turning off the TV and in this part, we will use:Īs we stated before, we need our Arduino board to get connected to the Internet but the Arduino Nano the version which we are using today doesn’t have that feature.
The web page sends some orders to the ESP8266-01 which is working as a web server connected to the Arduino board. We will build a simple web page that will work as a control panel for the user allows him to control any home appliance connected to our system.