esp8266,tcp通信实例详解

esp8266,tcp通信实例详解,第1张

  TCP Client模式

  ESP8266工作在staTIon模式下,需确认ESP8266已经连接AP(路由器)并分配到IP地址,启用client连接

  ESP8266工作在soft-AP模式下,需确认连接ESP8266的设备已被分配到IP地址,启用client连接

  ESP8266 TCP Client模式配置流程

  程序实现内容:

  1.在staTIon模式下,ESP8266作为client、server进行TCP连接

  2.实现数据的发送、接收(同时回传)

  实现思路:

  TCP网络通信分层为:应用层、网络层、数据链路层、物理层;

  1. 设置ESP8266为staTIon模式,在数据链路层连接AP,获取IP地址;

  2. 在网络层进行TCP连接:作为client连接远程server,作为server监听远程client信息;

  数据链路层:

  1. 设置ESP8266为staTIon模式:wifi_set_opmode(STATION_MODE);

  2. 配置连接到AP的相关参数,在该步骤中,需要知道AP的名称( ssid )、密码( password ): 官方所给的SDK中,该配置执行后,wifi模块自动与AP进行连接

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第2张

  为确保ESP8266已同AP建立稳定的连接并且已获取到IP地址,可注册该事件的回调函数进行判定:

  1.注册回调函数

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第3张

  2.注册定时器,对回调函数中的flag_sta_conip进行判定以确定是否已获得IP地址

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第4张

  网络层:

  1. 检测ESP8266是否已同AP建立稳定连接,若是,则开始建立TCP client连接:

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第5张

  建立TCP client连接(在该设置中,需要知道远程server的IP地址及端口号),同时注册连接、收发数据的回调函数:

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第6张

  2. ESP8266开启server服务(在该步骤中,通过对espconn_accept()函数返回值的判定,TRUE则关闭设置server开启的定时器,FALSE则继续保持开通,直到开启成功)

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第7张

  接收数据的回调函数:

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第8张

  发送数据的回调函数:

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第9张

  实现效果:

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第10张

  esp8266,tcp通信实例详解,esp8266,tcp通信实例详解,第11张

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2704702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-16
下一篇 2022-08-16

发表评论

登录后才能评论

评论列表(0条)

保存