可能用到的资料
下载该固件 支持mqtt
烧录工具配置
引脚连接 官方给的
我实际连接
点击开始
完成
记得拔掉GPIO0的线,才是正常工作模式
发送AT 收到OK 就表示成功了,没有的话再刷一遍
ProductKey:a1V0WObZHjP
Devicename:STM32andESP8266
Devicesecret:VhwbZXQtT57oEbVjV8PYjDF28TSUa2iz
连接域名
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
AT+CWMODE=3
AT+RST
AT+CWJAP_DEF="WIFI名字","WIFI密码"
AT+CIPSTATUS
AT+CIPSTART="TCP","a1V0WObZHjP.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,60
连接成功
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
AT+CIPSEND=2
E0 00
AT+CIPSEND=2
C0 00
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
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
建立连接
AT+CIPSTART="TCP","a1V0WObZHjP.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,60
查看网络状态
AT+CIPSTATUS
发放connect报文
AT+CIPSEND= 128
//数据
107E00044D51545404C20064002B3132333435363738397C7365637572656D6F64653D332C7369676E6D6574686F643D686D6163736861317C001B53544D3332616E64455350383236362661315630574F625A486A50002837373339303037453343334237393330443945323933353235314535374135394339443937333539
连接成功