更新时间:2025-10-21 06:39:37下载pdf
本文介绍如何使用 MCU 通用协议接入,为设备获取天气数据。天气服务是智能设备最重要的功能之一,涂鸦 MCU 标准协议接入可通过蓝牙低功耗(Bluetooth LE)模组获取到相关的天气数据。
蓝牙模组通过手机或者网关连接到云端后,MCU 可通过发送指令获取天气数据。值得注意的是,模组不支持订阅天气变化,因此,MCU 需要定期调用命令来查询天气数据,以便获取最新的天气信息。
天气数据的地区是基于配网手机所在的经纬度。
MCU 发送
| 序号 | 字节数 | 字段 | 说明 |
|---|---|---|---|
| 0 1 |
2 | 帧头 | 0x55 0xAA |
| 2 | 1 | 版本号 | 0x00 |
| 3 | 1 | 命令字 CMD | 0xB6 |
| 4 5 |
2 | 数据长度 Len | Len 高 8 位 Len 低 8 位 |
| 6~6+Len-1 | Len | Data | 见说明 |
| 6+Len | 1 | CRC8 | 从帧头开始按字节求和得出的结果对 256 求余 |
Data 说明:
| 位置 | 天气参数 | 预报天数 |
|---|---|---|
| 1 字节 | 4 字节 | 1 字节 |
位置:
0x01:配网位置0x02:当前位置(手机)天气参数
(1 << 0), /**< temperature. */
(1 << 1), /**< high temperature. */
(1 << 2), /**< low temperature. */
(1 << 3), /**< humidity. */
(1 << 4), /**< weather condition. */
(1 << 5), /**< pressure. */
(1 << 6), /**< sensible temperature. */
(1 << 7), /**< uvi. */
(1 << 8), /**< sunrise. */
(1 << 9), /**< sunset. */
(1 << 10), /**< unix time, used with sunrise and sunset. */
(1 << 11), /**< local time, used with sunrise and sunset. */
(1 << 12), /**< wind speed. */
(1 << 13), /**< wind direction. */
(1 << 14), /**< wind speed scale/level. */
(1 << 15), /**< aqi. */
(1 << 16), /**< tips. */
(1 << 17), /**< Detailed AQI status and national ranking. */
(1 << 18), /**< pm10. */
(1 << 19), /**< pm2.5. */
(1 << 20), /**< o3. */
(1 << 21), /**< no2. */
(1 << 22), /**< co. */
(1 << 23), /**< so2. */
(1 << 24), /**< weather condition mapping id. */
预报天数:需要预报天数(n 表示需要预报的天数,1 ≤ n ≤ 7,1 表示当天),详情见附录。
模组返回
| 序号 | 字节数 | 字段 | 说明 |
|---|---|---|---|
| 0 1 |
2 | 帧头 | 0x55 0xAA |
| 2 | 1 | 版本号 | 0x00 |
| 3 | 1 | 命令字 CMD | 0xB6 |
| 4 5 |
2 | 数据长度 Len | Len 高 8 位 Len 低 8 位 |
| 6~6+Len-1 | Len | Data | 见说明 |
| 6+Len | 1 | CRC8 | 从帧头开始按字节求和得出的结果对 256 求余 |
Data 说明:Status(1 字节)+ weather_values(0 字节或 Len-1 字节)。
Status:
0x00:成功
0x01:参数错误
0x02:请求失败
0x03:请求超时
0x04:重复请求
0x05:状态错误
Weather_values:天气值,仅当 Status 为 0x00 时有该字段,格式见下表。
| {某天 | 天气参数(小端) | 数据类型 | 数据长度 x | 数据} | …… | 依以上格式循环 |
|---|---|---|---|---|---|---|
| 1 字节 | 4 字节 | 1 字节 | 1 字节 | x 字节 | …… | 依以上格式循环 |
数据类型:
0x00:整形0x01:字符串示例:
MCU > 模组:55 AA 00 B6 00 06 01 00 00 00 0F 01 CC
模组 > MCU:55 AA 00 B6 00 2D 00 01 01 00 00 00 00 04 00 00 00 21 01 02 00 00 00 00 04 00 00 00 24 01 04 00 00 00 00 04 00 00 00 1C 01 08 00 00 00 00 04 00 00 00 44 AA
| 编号 conditionNum | 天气(中文) condition | 中文 UTF-8 编码(16 进制) |
|---|---|---|
| 120 | 晴 | E699B4 |
| 101 | 大雨 | E5A4A7 E99BA8 |
| 102 | 雷暴 | E99BB7 E69AB4 |
| 103 | 沙尘暴 | E6B299 E5B098 E69AB4 |
| 104 | 小雪 | E5B08F E99BAA |
| 105 | 雪 | E99BAA |
| 106 | 冻雾 | E586BB E99BBE |
| 107 | 暴雨 | E69AB4 E99BA8 |
| 108 | 局部阵雨 | E5B180 E983A8 E998B5 E99BA8 |
| 109 | 浮尘 | E6B5AE E5B098 |
| 110 | 雷电 | E99BB7 E794B5 |
| 111 | 小阵雨 | E5B08F E998B5 E99BA8 |
| 112 | 雨 | E99BA8 |
| 113 | 雨夹雪 | E99BA8 E5A4B9 E99BAA |
| 114 | 尘卷风 | E5B098 E58DB7 E9A38E |
| 115 | 冰粒 | E586B0 E7B292 |
| 116 | 强沙尘暴 | E5BCBA E6B299 E5B098 E69AB4 |
| 117 | 扬沙 | E689AC E6B299 |
| 118 | 小到中雨 | E5B08F E588B0 E4B8AD E99BA8 |
| 119 | 大部晴朗 | E5A4A7 E983A8 E699B4 E69C97 |
| 121 | 雾 | E99BBE |
| 122 | 阵雨 | E998B5 E99BA8 |
| 123 | 强阵雨 | E5BCBA E998B5 E99BA8 |
| 124 | 大雪 | E5A4A7 E99BAA |
| 125 | 特大暴雨 | E789B9 E5A4A7 E69AB4 E99BA8 |
| 126 | 暴雪 | E69AB4 E99BAA |
| 127 | 冰雹 | E586B0 E99BB9 |
| 128 | 小到中雪 | E5B08F E588B0 E4B8AD E99BAA |
| 129 | 少云 | E5B091 E4BA91 |
| 130 | 小阵雪 | E5B08F E998B5 E99BAA |
| 131 | 中雪 | E4B8AD E99BAA |
| 132 | 阴 | E998B4 |
| 133 | 冰针 | E586B0 E99288 |
| 134 | 大暴雨 | E5A4A7 E69AB4 E99BA8 |
| 136 | 雷阵雨伴有冰雹 | E99BB7 E998B5 E99BA8 E4BCB4 E69C89 E586B0 E99BB9 |
| 137 | 冻雨 | E586BB E99BA8 |
| 138 | 阵雪 | E998B5 E99BAA |
| 139 | 小雨 | E5B08F E99BA8 |
| 140 | 霾 | E99CBE |
| 141 | 中雨 | E4B8AD E99BA8 |
| 142 | 多云 | E5A49A E4BA91 |
| 143 | 雷阵雨 | E99BB7 E998B5 E99BA8 |
| 144 | 中到大雨 | E4B8AD E588B0 E5A4A7 E99BA8 |
| 145 | 大到暴雨 | E5A4A7 E588B0 E69AB4 E99BA8 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈