esp8266,tcp通信实例详解

网络协议

14人已加入

描述

  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

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

  1.注册回调函数

  ESP8266

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

  ESP8266

  网络层:

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

  ESP8266

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

  ESP8266

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

  ESP8266

  接收数据的回调函数:

  ESP8266

  发送数据的回调函数:

  ESP8266

  实现效果:

  ESP8266

  ESP8266

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分