esp8266,tcp通信实例详解
扫描二维码
随时随地手机看文章
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已同AP建立稳定的连接并且已获取到IP地址,可注册该事件的回调函数进行判定:
1.注册回调函数
2.注册定时器,对回调函数中的flag_sta_conip进行判定以确定是否已获得IP地址
网络层:
1. 检测ESP8266是否已同AP建立稳定连接,若是,则开始建立TCP client连接:
建立TCP client连接(在该设置中,需要知道远程server的IP地址及端口号),同时注册连接、收发数据的回调函数:
2. ESP8266开启server服务(在该步骤中,通过对espconn_accept()函数返回值的判定,TRUE则关闭设置server开启的定时器,FALSE则继续保持开通,直到开启成功)
接收数据的回调函数:
发送数据的回调函数:
实现效果: