PC与esp32的通信
见博文 Haribit Intern day2 AT指令测试TCP连接
反思一
当时有出现错误:esp32模块连不上TCP服务器
错因
:TCP服务器所在主机与esp32不在同一网段。主机为有线网,而esp配网为无线网。故不在同一网段,无法连接。
解决方案
:TCP服务器所在主机连接至WiFi,esp32也连接至同一WiFi,再次尝试esp32作为client连接server,成功连接。
反思二
退出透传模式,需要发送+++,有且仅有三个加号,但实验时总是失败,将+++当做了消息发送给了服务器,经查阅,发现是因为这条指令发送时必须要把发送界面下面的发送新行
取消选中。发送其他指令时需要选中发送新行
。
手机与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
>
注意上图,最后手机收到了来自模块的+++
,就是因为没有取消勾选发送新行
,+++
被当做消息传送给了手机。要特别注意。