ESP8266 从购买到连接阿里云 ,使用AT
刷AT固件
1 资料获取 安信可
可能用到的资料
2 固件烧录工具 参考链接
3 打开烧录工具
4 下载AT固件
下载该固件 支持mqtt
烧录工具配置
5 连接硬件
引脚连接 官方给的
我实际连接
如果不行
6开始烧录固件
点击开始
完成
7打开串口调试工具
记得拔掉GPIO0的线,才是正常工作模式
发送AT 收到OK 就表示成功了,没有的话再刷一遍
创建阿里云产品
创建产品
创建设备
保存三元组信息
ProductKey:a1V0WObZHjP
Devicename:STM32andESP8266
Devicesecret:VhwbZXQtT57oEbVjV8PYjDF28TSUa2iz
了解阿里云mqtt连接方法
连接域名
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)
结果
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
步骤5 使用 AT+CIPSTART—建⽴ TCP 连接, UDP 传输或 SSL 连接
AT+CIPSTART="TCP","a1V0WObZHjP.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,60
连接成功
步骤6 报文封装
CONNECT报文
mqttClientId: 123456789|securemode=3,signmethod=hmacsha1|
mqttUsername:STM32andESP8266&a1V0WObZHjP
mqttPassword:7739007E3C3B7930D9E2935251E57A59C9D97359
固定
10 h
可变
?? 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
根据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报文
AT+CIPSEND=2
E0 00
PING报文
AT+CIPSEND=2
C0 00
PING响应报文
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
连接成功