【Arduino】基於ESP8266 WIFI模塊自寫手機App控制LED燈亮滅

實驗現象
手機端安裝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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章