2.单片机通过AT指令控制ESP8266+TCP 实现收发数据

目录

 前言

ESP8266模式

AP 模式

 station 模式

AP + station 共存模式

透传功能

透传需要先建立连接

无线网络参数

TCP连接参数

加密

UART 成帧机制

AT指令介绍

什么是AT指令?

 AT指令类型

 常用AT指令

ESP8266+TCP的AT指令示例

模块的客户端与服务器

模块的AP模式与Station模式

模块作为客户端 STA

模块作为服务器 STA

模块作为客户端 AP

模块作为服务器 AP

代码示例

模块为客户端STA

模块为服务器AP


 前言

固件烧录

1.ESP8266 模块 AT(含MQTT)固件下载教程-CSDN博客

硬件接线(本篇代码基于2篇)

2.STM32通过串口发送AT命令控制ESP8266连接阿里云的代码-CSDN博客

主控芯片STM32f103c8t6,WIFI模块为ESP8266-01s

ESP8266模式

ESP8266 支持 softAP 模式,station 模式,softAP + station 共存模式三种。 利用 ESP8266 可以实现十分灵活的组网方式和网络拓扑。

AP 模式

AP:无线接入点,是一个无线网络的中心节点。通常使用的无线路由器就是一个无线接入点。

ESP8266 作为 AP,手机、电脑、用户设备、其他 ESP8266 station 接 口等均可以作为 station 连入ESP8266,组建成一个局域网。

 station 模式

Station:即无线终端,是一个无线网络的终端。

ESP8266 作为 station,通过路由器(AP)连入 internet ,可向云端服务 器上传、下载数据。用户可随时使用移动终端(手机、笔记本等),通过云端监控 ESP8266 模块的状况,向 ESP8266 模块发送控制指令。

AP + station 共存模式

ESP8266 支持AP+station 共存的模式,用户设备、手机等可以作为 station 连入 ESP8266 的 softAP 接口,同时,可以控制 ESP8266 的 station 接口通过路由器(AP)连入 internet。

透传功能

透传,即透明传输功能。Host 通过 uart 将数据发给 ESP8266,ESP8266 再 通过无线网络将数据传出去;ESP8266 通过无线网络接收到的数据,同理通过 uart 传到Host。ESP8266 只负责将数据传到目标地址,不对数据进行处理,发送方和接收方的数据内容、长度完全一致,传输过程就好像透明一样。

透传需要先建立连接

无线网络参数

 网络名称(SSID)

 安全模式

 密钥(password)

TCP连接参数

 协议类型

 连接类型        客户端(Client)或服务端(Server)

 目的IP地址

 目的端口

加密

ESP8266 支持多种无线网络加密方式 

WEP (only station)

WPA-PSK/TKIP

WPA-PSK/AES

 WPA2-PSK/TKIP

 WPA2-PSK/AES

UART 成帧机制

ESP8266 判断 UART 传来的数据时间间隔,若时间间隔大于20ms,则认为一 帧结束;否则,一直接收数据到上限值2KB,认为一帧结束。ESP8266模块判断 UART 来的数据一帧结束后,通过WIFI接口将数据转发出去。 成帧时间间隔为20ms,一帧上限值为2KB。

AT指令介绍

什么是AT指令?

AT 指令(AT Commands)最早是由发明拨号调制解调器的贺氏公司为了控制拨号调制解调器而发明的控制协议。后来随着网络带宽的升级,速度很低的拨号调制解调器基本退出市场,但是 AT 指令被保留了下来。

在嵌入式开发中,经常是使用 AT 命令去控制各种通讯模块,比如 ESP8266 模块、4G 模块、GPRS 模块等等。一般就是主芯片通过硬件接口(比如串口、SPI)发送 AT 指令给通讯模块,模块接收到数据之后回应响应的数据。

 AT指令类型

AT 指令分为四种类型:

类型 格式 功能
测试指令 AT + < X > = ? 查询设置命令或内部程序设置的参数及其取值范围
查询指令 AT + < X > ? 返回参数的当前值
设置指令 AT + < X > = < ... > 设置用户自定义的参数值
执行指令 AT + < X > 执行受模块内部程序控制的变参数不可变

AT 指令有近百条,但常用的就十几条,理解起来也非常简单,现在举例一些常用指令,并使用这些指令一步一步的通过 TCP 实现收发数据。

 常用AT指令

AT指令 功能
AT 测试是否正常启动
AT+CWMODE=1 设置 STA 模式
AT+CWMODE=2 设置 AP 模式
AT+CWMODE=3 设置 AP+STA 模式
AT+RST 重启生效
AT+CWSAP=”SSID”,”password”,1,4 设置 AP 参数:账号为SSID ,密码为password,通道号为 1,加密方式为:WPA_WPA2_PSK
AT+CIPMUX=0 开启单连接
AT+CIPMUX=1 开启多连接
AT+CIPSERVER=1,8080 开启 SERVER 模式,设置端口为 8080
AT+CIPSTART=“TCP”,"192.168.X.XXX”,8080

建立 TCP 连接到”192.168.X.XXX”,8080

AT+CIPSTART="协议模式","服务端IP地址",端口号   

AT+CIPSTART=“UDP”,“192.168.X.XXX”,8080 建立 UDP 连接到”192.168.X.XXX”,8080
AT+CIPCLOSE 断开 TCP 连接
AT+CW
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值