ESP8266TCP单连接透传
一.什么是透传
透传,即透明传输,指的是在通讯或数据传输过程中,不对传输的内容进行修改、处理或解释,而是将数据或信号原样传递,转发或传输到目的地址或设备。这种传输方式确保了数据的准确性和完整性,特别是在需要直接将数据传递给下游设备或系统时。
ESP8266 AT默认仅在TCP client 单连接或UDP传输模式时,支持透传
二.配置
1.配置WiFi模式
AT+CWMODE=3
响应:ok
2.连接路由器
AT+CWJAP=“SSID”,“password”
响应:ok
3.查询ESP8266设备的IP地址
AT+CIFSR
响应:
+CIFSR: APIP, "192.168.4.1"
+CIFSR: APMAC, "1a: fe: 34: a5:8d: c6"
+CIFSR: STAIP, "192.168.3.133"
+CIFSR: STAMAC, "18: fe: 34: a5: 8d: c6"
OK
SSCOM软件上的端口号选择UDP,远程哪里填写我们8266设备的地址
4.PC与ESP8266设备连接同一路由器
电脑和8266要连接同一个wifi才可以使用!
在PC端使用网络调式工具,建立一个UDP传输
假设PC创建的UDP自身地址为192.168.101.116,端口为8080.
以上四部做好后去到电脑端软件中倾听和配置端口8080,在进行第五步
5.ESP8266设备作为TCP client连接到上述服务器
AT+CIPSTART=“TCP”,“192.168.3.116”,8080 192.168.3.116为电脑地址
响应:ok
6.使能透传模式
AT+CIPMODE=1
响应:ok
进入透传模式后,AT指令集便不好使了,输入AT它将AT发送到电脑端,这就需要单独输入+++退出透传模式下的传输,发送+++时要取消掉发送新行,发送后不会提示我们已经断开了
7.ESP8266 设备向服务器器发送数据
AT+CIPSEND
> //From now on, data received from UART will be transmitted to server automatically
透传模式下输入一次发送指令集就可以一直发数据,要输入+++才能退出传输
注意:
• 发送数据时,如果输⼊入的字节数超过了了设置⻓长度(n):
- 系统将提示 busy,并发送数据的前 n 个字节,发送完成后响应 SEND OK。
- 超出⻓长度的部分数据被认为是⽆无效数据,不不被接受。
透传模式不用指定数据长度,但是还是有长大长度
进入透传模式发送数据,每包最大2048守节,或者每包数据以20ms 间隔区分。
当输入单独一包 +*+时,返回普通 AT 指令模式。发送 +*+ 退出透传时,请至少间隔1秒再发下一条 AT 指令。
本指令必须在开启透传模式以及单连接下使用。
若为 UDP 透传,指令 AT+CIPSTART 参数<UDP modes必须为0。
8. 退出发送数据
在透传发送数据过程中,若识别到单独的⼀一包数据 “+++”,则退出透传发送。
- 如果使⽤用键盘打字输⼊入 “+++” ,可能耗时太⻓长,不不被认为是连续的三个 “+”,建议使
⽤用串串⼝口⼯工具⼀一次性发送 “+++”,并请注意不不要携带空格或换行符等不常见字符。之后,请⾄至少间隔 1 秒,再发下⼀一条 AT 指令。
“+++“ 退出透传发送数据,回到正常 AT 指令模式。此时,TCP 连接仍然是保持的,可以再发 AT+CIPSEND指令,重新开始透传。
9. 退出透传模式
AT+CIPMODE=0
响应 :
OK
10.断开 TCP 连接
AT+CIPCLOSE
响应 :
CLOSED
OK