【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主板
3V33.3V
EN3.3V
GNDGND
TX8
RX9

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

  • 17
    点赞
  • 174
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏小泡泡#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值