往期
《ESP8266通信指南》3-常用AT指令详解-8266连WIFI-CSDN博客
《ESP8266通信指南》2-ESP8266 AT测试-CSDN博客
《ESP8266通信指南》1-ESP8266 简介-CSDN博客
1. 小节目标
通过 AT 指令使用 8266 进行 TCP 通信
2. 书接上回
复习以下,上一小节我们讲到了 8266 连接 WIFI,还记得指令吗?复习一下
现使用电脑开启一个移动热点
我的 WIFI 账号密码:
账号:ct-iot
密码:111222333
AT+CWJAP="ct-iot","111222333"
记得改成你自己的移动热点,才能连接哈,像下图一样,就连上去
3. TCP 连接介绍
在连接 TCP 之前,我们需要简单的介绍一下 TCP 的通信方式。
8266 进行 TCP 通信可以有两种,一种是作为 TCP Server 服务器,一种是作为 TCP Client(客户端),在本小节我们先介绍作为 TCP Client 的形式进行通信。
那么我们就需要在电脑上开启一个 TCP 服务器,可以使用以下软件
📎TCP调试组手.zip
4. 开启 TCP 服务器
工作模式选择 TCP 服务器,本地端口任意,建议 8010 或者其他符合格式的端口,然后点击打开就可以了
如下图,看到 TCP 监听端口 8010 成功就可以了,这个时候我们需要测试一下是否则正常,我们再打开一个(TCP服务器不要关)
选择工作模式为客户端,然后将 TCP 服务器的 IP 填写进去(在服务器的左下角)
TCP 服务器 IP 位置:
连接上去之后可以发现,服务器那边输出了一行字,就是以下这个
那么就说明,TCP 客户端和服务器都正常运行
5. 使用 ESP8266 作为 TCP 客户端连接 TCP 服务器
ESP8266 的 TCP 连接 AT 指令如下
AT+CIPSTART="TCP","192.168.101.110",1000
- TCP :指明使用 TCP 连接
- 192.168.101.110:TCP Server IP 地址
- 1000:TCP Server Port 端口
更改为我们自己的就是
AT+CIPSTART="TCP","192.168.137.1",8010
5.1. TCP 服务器发到 ESP8266
接着使用 TCP 服务器发送数据“213”,可以看到,串口那边接收到了数据 “213”,至此,ESP8266 可以接收到 TCP 服务器发来的发来的数据了
5.2. ESP8266 TCP Client 上报数据
- 设置数据要发送的长度
AT+CIPSENDEX=<length>
- 发送数据
比如我们要发送 123,那么就先发送
AT+CIPSENDEX=3
然后再发送 123
- 我们就可以看到,这里出现了 123,(两个是因为我刚刚发送了两次,所以才有两个 123)
6. 小结
到此,我们已经可以使用 ESP8266 发送数据到电脑上了,这个时候如果你用后端语言写一个 TCP 服务器,或者你用 C/C++写一个 TCP 服务器,就可以接收数据然后做处理了,也可以写几个简单的按钮,往 ESP8266 发送数据。
当然 ESP8266 的 TCP Client 数据上发还有一个透传的功能,有能力的同学自己可以学一学哈!!
7. 结语
在本小节中,我们介绍了 ESP8266 如何使用 AT 指令作为 TCP 客户端连接到 TCP 服务器,接着教大家如何使用 TCP 服务器往 ESP8266 发消息,使用 ESP8266 TCP Client 往 TCP 服务器发消息。
柴头物联网出品