IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> WIFI模块_ESP82xx常用命令整理 -> 正文阅读

[网络协议]WIFI模块_ESP82xx常用命令整理

参考连接 https://docs.espressif.com/projects/esp-at/zh_CN/latest/AT_Command_Set/index.html

没有特殊说明,基本上每条指令都已回车换行结尾进行发送。

连接wifi

1.设置wifi工作模式

发送:(AP+STATION模式)

AT+CWMODE=3

返回:

AT+CWMODE=3

OK

2.连接wifi

发送:

AT+CWJAP="XXXXX","YYYYY"

返回:
1.SSID或者密码错误:

WIFI DISCONNECT

busy p...
+CWJAP:4

ERROR

注意在输出 busy p… 会有一定的延时

2.成功:

WIFI CONNECTED
WIFI GOT IP

OK

3.已连接再次连接(正确的SSID和密码):

WIFI DISCONNECT
WIFI CONNECTED
WIFI GOT IP

OK

注意在DISCONNECT 后会有一定延时

3.查询本地ip地址和MAC地址

发送:

AT+CIFSR

返回:

+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"c6:4f:33:d6:45:fb"
+CIFSR:STAIP,"192.168.3.241"
+CIFSR:STAMAC,"c4:4f:33:d6:45:fb"
OK

注意一般取STAIP

4.电脑连接模块发出的wifi (可选)

后续可以搭配手机客户段,完成一些对单片机的配置。

连接后会输出mac和ip:

+STA_CONNECTED:"08:5b:d6:91:41:82"
+DIST_STA_IP:"08:5b:d6:91:41:82","192.168.4.3"

5.扫描当前可用AP

AT+CWLAP

返回

AT+CWLAP
+CWLAP:(3,"HUAWEI-B315-E82C",-49,"30:45:96:2f:e8:2c",7)
+CWLAP:(4,"TP_LINK",-59,"08:bd:43:c8:5f:6f",11)
。。。。

OK

6.断开wifi

AT+CWQAP

返回

WIFI DISCONNECT

OK

7.上电自动连接到AP

发送

AT+CWAUTOCONN=1
或者
AT+CWAUTOCONN=0
  • 1.自动连接 0不连接

8.查看当前连接AP信息(信号强度)

发送

AT+CWJAP?

返回

+CWJAP:"wifi-ssid","04:40:a9:4d:a5:10",11,-62,0,0,0,0

OK

含义:

+CWJAP:<ssid>,<bssid>,<channel>,<rssi>,<pci_en>,<reconn_interval>,<listen_interval>,<scan_mode>,<pmf>
OK

9.Airkiss配网

发送

AT+CWSTARTSMART=3   //支持ESP-Touch和Airkiss智能配网 

返回

OK

然后手机连接要配网的无线wifi,打开安信可公众号,选择微信配网,点击开始配置按钮,等待配网完成,再次过程中,esp芯片会输出想干信息,如下:

smartconfig type:AIRKISS
Smart get wifi info
ssid:xxxxxxxxxxx   //wifi名称
password:yyyyyyyyyyy  //wifi 密码
WIFI CONNECTED
WIFI GOT IP
smartconfig connected wifi
AT+CIPSTATUS
STATUS:2

OK

TCP 客户端

以 连接通信猫服务器为例进行测试,连接远端服务器于此相同。

通信猫测试网页为:http://tongxinmao.com/App/Detail/id/1

打开后获取端口和ip信息

1.连接服务器

发送

AT+CIPSTART="TCP","120.76.100.197",10002

返回:

失败:


ERROR

成功:

CONNECT

OK

2.发送数据

发送分两步,与ec20相同,先发配置和字节长度, 等到收到>号后再发具体的数据,超过字节长度的数据会被截断。

发送第一步(配置):

AT+CIPSEND=10

返回:

错误:

ERROR

正确:

OK

>

发送第二步(数据):

0123456789

返回:

busy p...

Recv 10 bytes

SEND OK

注意有一定的延时,可以根据 是否具有 SEND OK来判断发送是否成功。

3.接收数据

收到数据格式为:++IPD,长度:数据,比如:

+IPD,10:0123456789

表示收到10个字节,数据为:0123456789

MQTT 连接

1.配置参数

发送

AT+MQTTUSERCFG=<LinkID>,<scheme>,<"client_id">,<"username">,<"password">,<cert_key_ID>,<CA_ID>,<"path">

其中

  • :当前仅支持 link ID 0。
    • 1: MQTT over TCP;
    • 2: MQTT over TLS(不校验证书);
    • 3: MQTT over TLS(校验 server 证书);
    • 4: MQTT over TLS(提供 client 证书);
    • 5: MQTT over TLS(校验 server 证书并且提供 client 证书);
    • 6: MQTT over WebSocket(基于 TCP);
    • 7: MQTT over WebSocket Secure(基于 TLS,不校验证书);
    • 8: MQTT over WebSocket Secure(基于 TLS,校验 server 证书);
    • 9: MQTT over WebSocket Secure(基于 TLS,提供 client 证书);
    • 10: MQTT over WebSocket Secure(基于 TLS,校验 server 证书并且提供 client 证书)。
  • <client_id>:MQTT 客户端 ID,最大长度:256 字节。

  • :用户名,用于登陆 MQTT broker,最大长度:64 字节。

  • :密码,用于登陆 MQTT broker,最大长度:64 字节。

  • <cert_key_ID>:证书 ID,目前 ESP-AT 仅支持一套 cert 证书,参数为 0。

  • <CA_ID>:CA ID,目前 ESP-AT 仅支持一套 CA 证书,参数为 0。

  • :资源路径,最大长度:32 字节。

普通使用:

发送:

AT+MQTTUSERCFG=0,1,"i_am_esp_wif","username","password",0,0,""

返回:

OK

2.连接

发送:

AT+MQTTCONN=0,"82.156.12.133",1883,1
  • 最后一个1 表示自动重连mqtt

返回

正确

+MQTTCONNECTED:0,1,"82.156.12.133","1883","",1

OK

错误:

+MQTTDISCONNECTED:0

ERROR

注意:有一定的时间延迟

3.订阅

发送

AT+MQTTSUB=0,"rcv_topic",1

返回

OK

当收到订阅主题的消息时:

+MQTTSUBRECV:0,"rcv_topic",195,{
    "device_addr":"868704043803038",
    "device_version":"20210106_v_1.0.12",
    "device_commond":"05",
    "device_packageno":3,
    "data":{
    "pos_speed":"?",
    "num_3_col":"?"
    }
}

包含主题、字节长度、具体数据

4.发布数据

发送第一步:

AT+MQTTPUBRAW=0,"pc_topic",10,2,0

返回

正确

OK
>

错误

ERROR

发送第二步(发送具体的数据):

0123456789

返回

成功

+MQTTPUB:OK

失败

+MQTTPUB:FAIL

4. 主动断开连接

AT+MQTTCLEAN=0

返回

OK

断开连接后发送发布订阅指令返回的都是ERROR

5.意外断开

如果mqtt被服务器主动提出,那么会收到

+MQTTDISCONNECTED:0

6.通信时间说明

  • 一般来说,AT MQTT 命令都会在 10 秒内响应,但 AT+MQTTCONN 命令除外。例如,如果路由器不能上网,命令 AT+MQTTPUB 会在 10 秒内响应,但 AT+MQTTCONN 命令在网络环境不好的情况下,可能需要更多的时间用来重传数据包。
  • 如果 AT+MQTTCONN 是基于 TLS 连接,每个数据包的超时时间为 10 秒,则总超时时间会根据握手数据包的数量而变得更长。
  • 当 MQTT 连接断开时,会提示 +MQTTDISCONNECTED:<LinkID> 消息。
  • 当 MQTT 连接建立时,会提示 +MQTTCONNECTED:<LinkID>,<scheme>,<"host">,port,<"path">,<reconnect> 消息。

HTTP 通信

主要用于OTA下载固件

1.获取url资源大小

发送:

AT+HTTPGETSIZE="http://www.fengfengiot.cn/box-wifi/output-crc_new.bin"

返回:

+HTTPGETSIZE:4755

OK

2.GET数据

发送

AT+HTTPCLIENT=2,1,"http://www.fengfengiot.cn/box-wifi/output-crc_new.bin",,,1

返回

+HTTPCLIENT:262,数据
+HTTPCLIENT:512,数据

...

OK
  • 如果返回的资源数据总数大于512,那么会分多次返回,第一次先返回总数对512取余数的个数,然后再返回剩下的n个512个字节。

待续。。。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-29 12:01:15  更:2021-07-29 12:02:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 7:22:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码