欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ESP8266 AT 连接阿里云

程序员文章站 2022-06-09 10:51:18
...

ESP8266 从购买到连接阿里云 ,使用AT

刷AT固件

1 资料获取 安信可

可能用到的资料

ESP8266 AT 连接阿里云

2 固件烧录工具 参考链接

ESP8266 AT 连接阿里云

3 打开烧录工具

ESP8266 AT 连接阿里云

4 下载AT固件

ESP8266 AT 连接阿里云

下载该固件 支持mqtt

ESP8266 AT 连接阿里云

烧录工具配置

ESP8266 AT 连接阿里云

5 连接硬件

引脚连接 官方给的

ESP8266 AT 连接阿里云

我实际连接

ESP8266 AT 连接阿里云

如果不行
ESP8266 AT 连接阿里云

6开始烧录固件

点击开始

ESP8266 AT 连接阿里云

完成

ESP8266 AT 连接阿里云

7打开串口调试工具

记得拔掉GPIO0的线,才是正常工作模式

ESP8266 AT 连接阿里云

发送AT 收到OK 就表示成功了,没有的话再刷一遍

ESP8266 AT 连接阿里云

创建阿里云产品

创建产品

ESP8266 AT 连接阿里云

创建设备

ESP8266 AT 连接阿里云

保存三元组信息

ProductKey:a1V0WObZHjP
Devicename:STM32andESP8266
Devicesecret:VhwbZXQtT57oEbVjV8PYjDF28TSUa2iz

了解阿里云mqtt连接方法

ESP8266 AT 连接阿里云

连接域名
a1V0WObZHjP.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883

配置以下信息
mqttClientId: clientId+"|securemode=3,signmethod=hmacsha1,timestamp=132323232|"
mqttUsername: deviceName+"&"+productKey
mqttPassword: sign_hmac(deviceSecret,content)

ESP8266 AT 连接阿里云

结果

mqttClientId: 123456789|securemode=3,signmethod=hmacsha1|
 
mqttUsername:STM32andESP8266&a1V0WObZHjP
 
mqttPassword:7739007E3C3B7930D9E2935251E57A59C9D97359
 

esp8266 阿里云

步骤1 发送AT+CWMODE=3设置为AP 兼 Station 模式

AT+CWMODE=3

步骤2 发送AT+RST 重启模块使AT+CWMODE=3模式生效

AT+RST  

步骤3 连接wifi

AT+CWJAP_DEF="WIFI名字","WIFI密码"

步骤4 查看网络状态

AT+CIPSTATUS
ESP8266 AT 连接阿里云

步骤5 使用 AT+CIPSTART—建⽴ TCP 连接, UDP 传输或 SSL 连接

ESP8266 AT 连接阿里云
AT+CIPSTART="TCP","a1V0WObZHjP.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,60

连接成功

ESP8266 AT 连接阿里云

步骤6 报文封装

CONNECT报文

ESP8266 AT 连接阿里云ESP8266 AT 连接阿里云ESP8266 AT 连接阿里云
mqttClientId: 123456789|securemode=3,signmethod=hmacsha1|

mqttUsername:STM32andESP8266&a1V0WObZHjP

mqttPassword:7739007E3C3B7930D9E2935251E57A59C9D97359

ESP8266 AT 连接阿里云

固定
10 h

ESP8266 AT 连接阿里云ESP8266 AT 连接阿里云ESP8266 AT 连接阿里云ESP8266 AT 连接阿里云

可变
?? 00 04 4D 51 54 54 04 C2 00 64
//00 64 是100s
负载(包含客户端ID,用户名、密码)
客户端ID(设备名称|securemode=3,signmethod=hmacsha1|) 长度43 及 2B 两字节 002B + 客户端id

00 2B 31 32 33 34 35 36 37 38 39 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C

用户名(设备名称&ProductKey)长度27–>1B + 用户名

00 1B 53 54 4D 33 32 61 6E 64 45 53 50 38 32 36 36 26 61 31 56 30 57 4F 62 5A 48 6A 50

密码(clientIddeviceNameproductKey# *替换为设备名称 #替换为ProductKey 并用用DeviceSecret做**,使用hmacsha1算法加密 )40 --> 28H + 密码

00 28 37 37 33 39 30 30 37 45 33 43 33 42 37 39 33 30 44 39 45 32 39 33 35 32 35 31 45 35 37 41 35 39 43 39 44 39 37 33 35 39

组合起来

10 ?? 00 04 4D 51 54 54 04 C2 00 64 00 2B 31 32 33 34 35 36 37 38 39 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C 00 1B 53 54 4D 33 32 61 6E 64 45 53 50 38 32 36 36 26 61 31 56 30 57 4F 62 5A 48 6A 50 00 28 37 37 33 39 30 30 37 45 33 43 33 42 37 39 33 30 44 39 45 32 39 33 35 32 35 31 45 35 37 41 35 39 43 39 44 39 37 33 35 39

ESP8266 AT 连接阿里云

根据MQTT协议中,计算报文的长度,超过127字节要特殊处理

10 7E 00 04 4D 51 54 54 04 C2 00 64 00 2B 31 32 33 34 35 36 37 38 39 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C 00 1B 53 54 4D 33 32 61 6E 64 45 53 50 38 32 36 36 26 61 31 56 30 57 4F 62 5A 48 6A 50 00 28 37 37 33 39 30 30 37 45 33 43 33 42 37 39 33 30 44 39 45 32 39 33 35 32 35 31 45 35 37 41 35 39 43 39 44 39 37 33 35 39

DISCONNECT报文

ESP8266 AT 连接阿里云

AT+CIPSEND=2

E0 00

PING报文

ESP8266 AT 连接阿里云

AT+CIPSEND=2
C0 00

PING响应报文

ESP8266 AT 连接阿里云

AT+CIPSEND=2
D0 00

订阅报文

SUBSCRIBE
TOPIC :/a1V0WObZHjP/STM32andESP8266/user/get
TOPIC LEN: 37—>25H
82 ?? 00 0A 00 25 2F 61 31 56 30 57 4F 62 5A 48 6A 50 2F 53 54 4D 33 32 61 6E 64 45 53 50 38 32 36 36 2F 75 73 65 72 2F 67 65 74 00

LEN :42—> 2AH
82 2A 00 0A 00 25 2F 61 31 56 30 57 4F 62 5A 48 6A 50 2F 53 54 4D 33 32 61 6E 64 45 53 50 38 32 36 36 2F 75 73 65 72 2F 67 65 74 00
SUBSCRIBE LEN : 44–>2CH

PUBLISH

topic:/a1V0WObZHjP/STM32andESP8266/user/update
topic-len: 40—>28h
msg:hello world 68 65 6C 6C 6F 20 77 6F 72 6C 64 0D
msg-len:12–>0ch

等级qos0
30 ?? 00 28 2F 61 31 56 30 57 4F 62 5A 48 6A 50 2F 53 54 4D 33 32 61 6E 64 45 53 50 38 32 36 36 2F 75 73 65 72 2F 75 70 64 61 74 65 68 65 6C 6C 6F 20 77 6F 72 6C 64 0D
len:54---->36h
??=36

30 36 00 28 2F 61 31 56 30 57 4F 62 5A 48 6A 50 2F 53 54 4D 33 32 61 6E 64 45 53 50 38 32 36 36 2F 75 73 65 72 2F 75 70 64 61 74 65 68 65 6C 6C 6F 20 77 6F 72 6C 64 0D
len=56
等级qos1
32 38 00 28 2F 61 31 56 30 57 4F 62 5A 48 6A 50 2F 53 54 4D 33 32 61 6E 64 45 53 50 38 32 36 36 2F 75 73 65 72 2F 75 70 64 61 74 65 00 0A 68 65 6C 6C 6F 20 77 6F 72 6C 64 0D
LEN = 58

步骤7 发送connect报文

建立连接

AT+CIPSTART="TCP","a1V0WObZHjP.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,60

查看网络状态

AT+CIPSTATUS

发放connect报文

AT+CIPSEND=<length> 128
//数据
107E00044D51545404C20064002B3132333435363738397C7365637572656D6F64653D332C7369676E6D6574686F643D686D6163736861317C001B53544D3332616E64455350383236362661315630574F625A486A50002837373339303037453343334237393330443945323933353235314535374135394339443937333539
ESP8266 AT 连接阿里云

连接成功

ESP8266 AT 连接阿里云
相关标签: 嵌入式 阿里云