PC与esp32的通信
见博文 Haribit Intern day2 AT指令测试TCP连接
反思一
当时有出现错误:esp32模块连不上TCP服务器
错因 :TCP服务器所在主机与esp32不在同一网段。主机为有线网,而esp配网为无线网。故不在同一网段,无法连接。
解决方案 :TCP服务器所在主机连接至WiFi,esp32也连接至同一WiFi,再次尝试esp32作为client连接server,成功连接。
反思二
退出透传模式,需要发送+++,有且仅有三个加号,但实验时总是失败,将+++当做了消息发送给了服务器,经查阅,发现是因为这条指令发送时必须要把发送界面下面的发送新行 取消选中。发送其他指令时需要选中发送新行 。
手机与esp32的通信
通信原理
手机
esp32
建立服务器
作为客户端
AT+CIPSTART
CONNECT
“你好,我是esp32”
“你好,我是手机”
双方通信……
手机
esp32
步骤
1. 手机建立TCP服务器
下载app 桌岚物联 ,或者其他具有TCP服务器/客户端功能的网络调试助手软件。
打开软件 → 通讯测试 → TCP/IP 工作模式 : 选择TCP服务器 数据格式 : 选择字符 IP和端口号自动获取,点击打开
2. 模块连接手机
串口调试软件中输入指令:
AT+CIPSTART="TCP","172.16.249.155","8080"
3. 手机 → 模块
手机端通知连接成功,此时手机TCP端可以任意发送消息给模块,直接输入并发送即可
4. 模块 → 手机
模块想要向手机发送信息,有两种方式
第一种 ,发送前用AT+CIPSEND=X 说明要发送消息的长度(X为将要发送消息的字节数),在出现>提示符后开始发送消息,必须发送 X 字节数据,否则多余的数据会被丢掉,并返回 busy p…; 这种方法弊端是每次发送消息都要发送指令说明消息长度。
第二种 ,透传。
AT+CIPMODE=1
OK
AT+CIPSEND
OK
>
注意上图,最后手机收到了来自模块的+++ ,就是因为没有取消勾选发送新行 ,+++ 被当做消息传送给了手机。要特别注意。
|