實驗現象
手機端安裝APP,打開WIFI,連接到WIFI模塊,打開APP,先連接,然後分別點擊"開","關"按鈕控制LED燈的亮滅。
理論學習
wifi模塊配置
實驗準備
arduino主板-1
麪包板-1
數據線-1
ESP8266 WIFI模塊-1
Led燈-1
220Ω電阻-1
跳線若干
連接電路
ESP8266 WIFI模塊 | Arduino主板 |
---|---|
3V3 | 3.3V |
EN | 3.3V |
GND | GND |
TX | 8 |
RX | 9 |
Led燈一腳接13,一腳連通電阻接GND。
實驗代碼
#include <SoftwareSerial.h>
#define WIFI_TX 9
#define WIFI_RX 8
#define LED 13
SoftwareSerial wifi(WIFI_RX, WIFI_TX); //RX, TX
String _comdata_wifi = ""; //for incoming wifi serial data
void setup() {
pinMode(LED,OUTPUT);
digitalWrite(LED,LOW);
Serial.begin(9600);
wifi.begin(115200);
Serial.println("system is ready!");
wifi.println("AT+CWMODE=3\r\n");
delay(500);
wifi.println("AT+CIPMUX=1\r\n");
delay(500);
wifi.println("AT+CIPSERVER=1,5000\r\n");
delay(500);
}
void loop() {
getWifiSerialData();
if(Serial.available()){
String order = "";
while (Serial.available()){
char cc = (char)Serial.read();
order += cc;
delay(2);
}
order.trim();
wifi.println(order);
}
if(_comdata_wifi!=""){
Serial.println(_comdata_wifi);
Serial.println("\r\n");
// for(int a=0;a<_comdata_wifi.length();a++)
// {
// Serial.println(a);
// Serial.println(_comdata_wifi[a]);
// }
if((_comdata_wifi[2]=='+')&&(_comdata_wifi[3]=='I')&&(_comdata_wifi[4]=='P'))//MCU接收到的數據爲+IPD時進入判斷控制0\1來使小燈亮與滅
{
if((_comdata_wifi[5]=='D')&&(_comdata_wifi[8]==','))
{
if(_comdata_wifi[11]=='0')
{
digitalWrite(LED,LOW);//0 燈滅
Serial.println("燈滅");
wifi.println("燈滅");
//wifi模塊向pc端或手機端 發送"燈滅
}
else if (_comdata_wifi[11]=='1')
{
digitalWrite(LED,HIGH); //1 燈亮
wifi.println("燈亮");
Serial.println("燈亮");
//wifi模塊向pc端或手機端 發送"燈亮"
}
}
}
_comdata_wifi = String("");
}
}
void getWifiSerialData(){
while (wifi.available() > 0){
_comdata_wifi += char(wifi.read()); //get wifi data
delay(4);
}
}
連上ESP8266 WIFI,密碼:123456123456
三種連接方式
- 非自寫軟件
鏈接: https://pan.baidu.com/s/1HfMeR10nuzkSKEn5SGN06g 提取碼: uyeh
- 安裝Tcp的軟件
點擊右上角的connect
輸入IP地址和端口號
- 自寫軟件
輸入IP地址和端口號
源代碼文件分享–>可以進行後續開發,美化
鏈接: https://pan.baidu.com/s/1d3INe8u4ssgyJJPNX7biog 提取碼: 53y8
APK文件分享
鏈接: https://pan.baidu.com/s/1MZLmPnQWtvQ7siAS2_IS8g 提取碼: mz6f