文章目录
ESP32固件
ESP-WROOM-32(ESP-WROOM-32 是 ESP32-WROOM-32 的曾用名)模块,4MB Flash,无 PSRAM。
上图仅作示意,根据实际固件情况组装。连接好后,将起到UART作用的USB口插入主机,可将固件内部TTL电平信号输入主机并提供通信串口。
用AT指令测试TCP连接
1. 下载netassist
下载net assist网络调试助手
运行软件。建立主机的TCP服务器。
2. 配置TCP服务器
协议类型选择 TCP server
本地主机地址 192.168.137.1
本地主机端口8080
(本地主机地址可以自动检测)
开启TCP服务器
注意主机和固件处于同一网络环境下。
3. ESP32连网
AT 模块连接 AT 串口到 PC,并上电,确定 AT 功能正常。
发送
AT
收到
OK
设置 AT 模块为 STA 模式(STA 模式下才能连接路由器 AP 热点)
发送
AT+CWMODE=1
收到
OK
(进入 STA 模式,1 为 STA,2 为 AP,3 为 AP+STA。)
发送 AT+CWJAP=“SSID”,“PWD” 连接路由器,SSID 为路由器 AP 热点名称,PWD 为路由器热点密码。
发送
AT+CWJAP="ssid","password"
收到
WIFI CONNECTED
WIFI GOT IP
OK
查询模块 ip 地址,判断是否与 PC 在同一网段下
发送
AT+CIFSR
收到
+CIFSR:STAIP,"192.168.50.15"
+CIFSR:STAMAC,"30:ae:a4:04:75:f0"
OK
连接 TCP Server
AT+CIPSTART="TCP","192.168.50.190",8089
CONNECT
OK
4. 模块发送命令给TCP server
模块发数据给 TCP Server
先发送 AT 命令 AT+CIPSEND=x,其中 x 表示要发送的数据长度,告诉 AT 解析器,我要发 x 字节的数据,你准备好接收。
AT 解析器成功识别之后返回OK
发送
AT+CIPSEND=6
收到
OK
>
当看到 > 的时候,就可以发数据了,但一定要发送 x 字节数据,否则多余的数据会被丢掉,并返回 busy p…
5. TCP server 发送消息给模块
TCP Server 直接发数据就可以,WiFi 模块收到后,显示 +IPD,x:data 格式的信息。其中 +IPD 表示 WiFi 模块收到了对端的数据,x 表示收到的数据长度,data 表示收到的数据内容。
+IPD,32:This is from server!
6. 模块透传
首先设置数传模式为透传模式,指令 AT+CIPMODE=1。1:透传模式;0:普通模式。他们的主要区别是在透传模式可以在 AT+CIPSEND 指令后一直发送数据(直到退出透传发送),而普通模式下每次发送数据必须使用 AT+CIPSEND=x 来指定数据长度。
AT+CIPMODE=1
OK
AT+CIPSEND
OK
>
##退出透传
发送 +++ 后停顿 1 秒。使用串口工具一次性发送 +++ 而不是手动一个个发送,否则会导致误检测成数据。
这是 AT 指令的一个标准约定。
如果此时想切换成 普通数传模式,发送 AT+CIPMODE=0 指令。
总结
完成AT基于指令集的WiFi模块操作。
明天根据eclipse的开发插件配置开发环境。
遇到了电源线断了的情况,重新焊上即可。目前固件运行几秒就关机了,怀疑是没电了,明天换换电池试试。
教程来自于文章:
固件TCP连接测试