ESP32支持WIFI及蓝牙通信,是过去几年里最受欢迎及实用的模块之一,是物联网项目的一种理想选择。开发上支持AT指令及SDK两种开发方式。
AT指令很简单,用串口发送几条指令,即可让模块进入串口透传模式,用户基本不用涉及复杂的TCP/IP协议。
SDK开发,相当于固件库开发,官方提供丰富的例子,有带操作系统和不带操作系统等等,代码可读性好,上手难度并不高。
这里,简要说明一下基于AT指令如何实现UDP透传的功能,实际指令如下:
1、在AP端(若只需要1对11连接(4)(5)(6)可不设置):
(1)AT+CWMODE=2 //设置WIFI模式为softAP模式
(2)AT+RST //重启模块,可不重启
(3)AT+CWSAP="ESP32_AP","12345678","1","4" //配置SoftAP参数(加密方式选择WPA_WPA2_PSK)
(4)AT+CIPMUX=0 // 单连接模式,默认为0,若需要一对多连接,需要根据实际需要发送此指令
(5)AT+CWDHCP=1,3 //启用DHCP
(6)AT+CWDHCPS=1,2000,"192.168.100.2","192.168.100.10" //设置SoftAP DHCP分配的IP地址及范围
(7)AT+CIPAP="192.168.100.1","192.168.100.1","255.255.255.0" //设置SoftAP的IP地址
(8)AT+CIPSTART="UDP","192.168.100.2",2233,1122,"192.168.100.1" //建立UDP传输
(9)AT+CIPMODE=1 //设置传输模式为WIFI透传接收模式
(10)AT+CIPSEND //UDP透传模式发送
(11)+++ //退出UDP透传
2、在STA端:
(1)AT+CWMODE=1 //设置WIFI模式为STA模式
(2)AT+RST //重启模块,可不重启
(3)AT+CWJAP="ESP32_AP","12345678" //连接AP
(4)AT+CIPMUX=0 //单连接模式,默认为0,若需要一对多连接,需要根据实际需要发送此指令
(5)CIP+START="UDP","192.168.100.1","1122","2233",,"192.168.100.2" //建立UDP传输
(6)AT+CIPMODE=1 //设置传输模式为WIFI透传接收模式
(7)AT+CIPSEND //UDP透传模式发送
(8)+++ //退出UDP透传
参考资料:
以下链接为ESP32官方的AT指令详细资料:
入门指南 - ESP32 - — ESP-AT 用户指南 latest 文档 (espressif.com)