Arduino设置esp8266实现局域网通信

硬件准备

  • Arduino UNO主板
  • Esp8266 01s
  • 面包板
  • 杜邦线若干

软件准备

  • Arduino IDE
  • 网络调试助手(PS端或手机均可,手机可在应用市场搜索网络调试精灵)

接线

在这里插入图片描述在这里插入图片描述

Arduino esp8266 01s
3.3V VCC
GND GND
3 TX
2 RX
3.3V CH_PD / EN

使用esp8266只要5个针脚就可以了,分别是 GND、VCC、TX、RX、CH_PD

注意,电源接的是 3.3V;否则会烧坏WiFi 模块
请添加图片描述

AT指令配置程序

#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 2); // RX, TX 配置 3、2 为软串口
void setup()
{
  Serial.begin(9600);//设置硬串口波特率
  Serial.println("ESP8266 WIFI Test");
  while (!Serial) {//串口是否准备好。
    ;
  }
  Serial.println("hardware serial!");
  mySerial.begin(115200);//设置8266的波特率为115200,初始默认是115200
  mySerial.println("software serial!");
}
void loop()
{
  if (mySerial.available())//获取从软串口读取有效的字节数
  {
    Serial.write(mySerial.read());//硬串口写软串口中读取的数据
  }
  if (Serial.available()) {//获取从硬串口读取有效的字节数
    mySerial.write(Serial.read());//软串口写硬串口中读取的数据
  }
}

在这里插入图片描述

出现上面情况,表示esp无法使用,请检查线路是否接错,或者电压是否保证3.3V

在这里插入图片描述

出现3到4行则表示成功,esp8266可以使用

在这里插入图片描述

修改结束符为 NR 和 CR,发送AT;

在这里插入图片描述

虽然我们测试成功了,但是我们发现回复信息中会出现乱码,原因是软串口(i/o 模拟出来)所能支持的波特率有限,最大支持 9600,因此我们需要修改esp8266波特率为9600

AT+UART=9600,8,1,0,0

在这里插入图片描述

接下来我们修改一下程序中软串口的波特率为9600,重新上传程序试试

mySerial.begin(9600);

在这里插入图片描述
在这里插入图片描述

配置

1.接下来我们来设置esp为混合模式,配置 ESP8266 模块为 AP+STA 模式,开启 wifi 热点

AT+CWMODE=3

在这里插入图片描述

  1. 重启模块使 AP 模式生效
AT+RST

在这里插入图片描述

3.设置模块的AP,热点名字和密码,通道号以及加密方式

AT+CWSAP="Lime","12345678",1,4

在这里插入图片描述

通道号为 1,加密方式为:WPA_WPA2_PSK

在这里插入图片描述

4.启动多连接,esp作为服务器,最多支持 5 个客户端的链接,id 分配顺序是 0-4

AT+CIPMUX=1

在这里插入图片描述

5.开启服务器模式,端口号 8080

AT+CIPSERVER=1,8080

在这里插入图片描述

6.设置服务器超时时间,超时时间1200s

AT+CIPSTO=1200

在这里插入图片描述

7.查看ESP8266 的 IP

AT+CIFSR

在这里插入图片描述

  1. 手机与esp建立连接和通信,手机下载一个网络调试助手,手机连接esp8266的热点,热点名:Lime,密码:12345678,输入查询到ip 192.168.4.1和设置好端口8080,连接成功后可发送消息到esp8266

在这里插入图片描述在这里插入图片描述

9.esp8266 使用AT发送数据
先输入 AT+CIPSEND=clientid,length
说明:先发送准备发送的命令,再发需要发送的数据

参数 client:是连接序号(0-4)

参数 data:发送的数据长度

比如发送12345
先输入指令

AT+CIPSEND=0,5

在输入

12345

在这里插入图片描述在这里插入图片描述

  1. 通信过程

arduino局域网通讯

版权声明:本文为CSDN博主「沸腾石灰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37738838/article/details/121523192

硬件准备

  • Arduino UNO主板
  • Esp8266 01s
  • 面包板
  • 杜邦线若干

软件准备

  • Arduino IDE
  • 网络调试助手(PS端或手机均可,手机可在应用市场搜索网络调试精灵)

接线

在这里插入图片描述在这里插入图片描述

Arduino esp8266 01s
3.3V VCC
GND GND
3 TX
2 RX
3.3V CH_PD / EN

使用esp8266只要5个针脚就可以了,分别是 GND、VCC、TX、RX、CH_PD

注意,电源接的是 3.3V;否则会烧坏WiFi 模块
请添加图片描述

AT指令配置程序

#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 2); // RX, TX 配置 3、2 为软串口
void setup()
{
  Serial.begin(9600);//设置硬串口波特率
  Serial.println("ESP8266 WIFI Test");
  while (!Serial) {//串口是否准备好。
    ;
  }
  Serial.println("hardware serial!");
  mySerial.begin(115200);//设置8266的波特率为115200,初始默认是115200
  mySerial.println("software serial!");
}
void loop()
{
  if (mySerial.available())//获取从软串口读取有效的字节数
  {
    Serial.write(mySerial.read());//硬串口写软串口中读取的数据
  }
  if (Serial.available()) {//获取从硬串口读取有效的字节数
    mySerial.write(Serial.read());//软串口写硬串口中读取的数据
  }
}

在这里插入图片描述

出现上面情况,表示esp无法使用,请检查线路是否接错,或者电压是否保证3.3V

在这里插入图片描述

出现3到4行则表示成功,esp8266可以使用

在这里插入图片描述

修改结束符为 NR 和 CR,发送AT;

在这里插入图片描述

虽然我们测试成功了,但是我们发现回复信息中会出现乱码,原因是软串口(i/o 模拟出来)所能支持的波特率有限,最大支持 9600,因此我们需要修改esp8266波特率为9600

AT+UART=9600,8,1,0,0

在这里插入图片描述

接下来我们修改一下程序中软串口的波特率为9600,重新上传程序试试

mySerial.begin(9600);

在这里插入图片描述
在这里插入图片描述

配置

1.接下来我们来设置esp为混合模式,配置 ESP8266 模块为 AP+STA 模式,开启 wifi 热点

AT+CWMODE=3

在这里插入图片描述

  1. 重启模块使 AP 模式生效
AT+RST

在这里插入图片描述

3.设置模块的AP,热点名字和密码,通道号以及加密方式

AT+CWSAP="Lime","12345678",1,4

在这里插入图片描述

通道号为 1,加密方式为:WPA_WPA2_PSK

在这里插入图片描述

4.启动多连接,esp作为服务器,最多支持 5 个客户端的链接,id 分配顺序是 0-4

AT+CIPMUX=1

在这里插入图片描述

5.开启服务器模式,端口号 8080

AT+CIPSERVER=1,8080

在这里插入图片描述

6.设置服务器超时时间,超时时间1200s

AT+CIPSTO=1200

在这里插入图片描述

7.查看ESP8266 的 IP

AT+CIFSR

在这里插入图片描述

  1. 手机与esp建立连接和通信,手机下载一个网络调试助手,手机连接esp8266的热点,热点名:Lime,密码:12345678,输入查询到ip 192.168.4.1和设置好端口8080,连接成功后可发送消息到esp8266

在这里插入图片描述在这里插入图片描述

9.esp8266 使用AT发送数据
先输入 AT+CIPSEND=clientid,length
说明:先发送准备发送的命令,再发需要发送的数据

参数 client:是连接序号(0-4)

参数 data:发送的数据长度

比如发送12345
先输入指令

AT+CIPSEND=0,5

在输入

12345

在这里插入图片描述在这里插入图片描述

  1. 通信过程

arduino局域网通讯

版权声明:本文为CSDN博主「沸腾石灰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37738838/article/details/121523192

生成海报
点赞 0

沸腾石灰

我还没有学会写个人说明!

暂无评论

相关推荐

Arduino设置esp8266实现局域网通信

硬件准备 Arduino UNO主板Esp8266 01s面包板杜邦线若干 软件准备 Arduino IDE网络调试助手(PS端或手机均可,手机可在应用市场搜索网络调试精灵) 接线 Arduin

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

立创EDA从零开始教学

结合自己为公司设计的产品的经验上,推出一套立创EDA的硬件教学设计课程。或者说是一系列文章。# 系列文章目录第一章 前言和软件介绍# 前言 大家可以叫我小刘,我大学是自动化专业,在大二开始接触单片机&#

2022寒假自学蓝桥杯嵌入式

2022寒假自学蓝桥杯嵌入式 欢近似从0开始准备2022年4月份省赛 学习记录分享 2022/1/22晚 硬件部分的认识(国信长天) 液晶屏,芯片在液晶屏下 电源选择跳线 下载调试文件接口