蓝牙服务

更新时间:2024-04-22 09:30:22下载pdf

Wi-Fi & 蓝牙标准协议接入中的蓝牙支持以下功能:

  • 在 Wi-Fi & 蓝牙双模模组无法连接云端同时也没有局域网连接时,打开蓝牙。
  • 可与蓝牙/Beacon 遥控器配对,控制设备。

蓝牙服务涉及以下协议指令:

命令字 命令说明
0x35(子命令 0x04) 报告设备蓝牙连接状态
0x35(子命令 0x05) 主动获取设备蓝牙连接状态
0x35(子命令 0x06) 蓝牙/Beacon 遥控器数据通知
0x35(子命令 0x07) 蓝牙/Beacon 遥控器绑定和解绑通知
0x35(子命令 0x08) 蓝牙子设备数据通知
0xF2(子命令 0x00) 蓝牙/Beacon 遥控器 DP 数据通知
0x35(子命令 0x01) 蓝牙功能性产测(扫描指定蓝牙信标)

蓝牙连接状态

报告设备蓝牙连接状态(0x35+0x04)

设备蓝牙状态 描述 状态值
状态 1 未绑定,未连接 0x00
状态 2 未绑定,已连接 0x01
状态 3 已绑定,未连接 0x02
状态 4 已绑定,已连接 0x03
状态 5 未知状态 0x04
  • 状态 1 和 2 是蓝牙配网阶段产生。

  • 模组自处理工作模式相应的 LED 显示含义如下:

    • 1:快闪状态
    • 23:长暗状态
    • 4:长亮
    • 5:慢闪状态

当模组检测到 MCU 重启或 MCU 断线再上线的过程,则主动下发蓝牙状态至 MCU。

  • 当模组的蓝牙状态发生变化,则主动下发 Wi-Fi 状态至 MCU。
  • 如果设置模组工作模式为 模组自处理,则 MCU 无需实现该协议。
  • 此命令字的发送,需要 MCU 上电发送 0x3700 命令字中 abv 字段的 bit0 使能
  • 上电默认为未知状态。

模组发送

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x35
数据长度 2 0x0002
数据 子命令 0x04
1 指示蓝牙工作状态:
  • 0x00:状态 1
  • 0x01:状态 2
  • 0x02:状态 3
  • 0x03:状态 4
  • 0x04:状态 5
  • 0x05:状态 6
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

示例55 aa 00 35 00 02 04 03 3d

MCU 返回

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x35
数据长度 2 0x0001
数据 子命令 0x04
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

示例55 aa 00 35 00 01 04 39

主动获取设备蓝牙连接状态(0x35+0x05)

设备蓝牙状态 描述 状态值
状态 1 未绑定,未连接 0x00
状态 2 未绑定,已连接 0x01
状态 3 已绑定,未连接 0x02
状态 4 已绑定,已连接 0x03
状态 5 未知状态 0x04

报告设备蓝牙连接状态 命令字功能状态保持一致。

MCU 发送

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x35
数据长度 2 0x0001
数据 Data 05
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

示例55 aa 03 35 00 01 05 3D

模组返回

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x35
数据长度 2 0x0002
数据 子命令 0x05
Data 指示蓝牙工作状态:
  • 0x00:状态 1
  • 0x01:状态 2
  • 0x02:状态 3
  • 0x03:状态 4
  • 0x04:状态 5
  • 0x05:状态 6
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

示例55 aa 03 35 00 02 05 00 3E

蓝牙/Beacon 遥控器

数据通知(0x35+0x06)

  • 该服务的前提是需要开启蓝牙遥控器服务。
  • 模组上电完成 0x02 命令字交互后即可进入待配对状态,蓝牙遥控器的配对时间为 30 秒,30 秒后关闭配对功能。
  • 遥控器最大配对数量为 5。若超出遥控器配对数量,会出现配对失败情况。

模组发送

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x35
数据长度 2 0x0007
数据 1 子命令 0x06
N
  • Data [0]:品类 ID,1 字节。
  • Data[1]:控制命令,1 字节。
  • Data[2]-Data[5]:控制数据,4 字节(控制命令及控制数据详情见 控制命令表
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

示例55 aa 03 35 00 02 05 00 3E

MCU 返回

字段 长度 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x35
数据长度 2 0x0001
数据 1 0x06(子命令)
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

示例55 aa 03 35 00 02 05 00 3E

控制命令表


控制命令字
(1 字节)

控制命令(1 字节)
以下为通用命令

控制数据(4 字节)没用到补 0

品类 ID

全品类:0xFF



单个品类

照明:0x01

插座/排插:0x02

窗帘开关:0x03

晾衣架:0x04

风扇:0x05

浴霸:0x06

空调:0x07

车库控制:0x08

水阀控制:0x09

消毒控制:0x0A

温控插座:0x0B

调光开关:0x0C

情景灯插座:0x0D

开关:0x0E

窗帘通断器:0x0F

键值发送:0x01

字节 1:type(0 单击,1 双击,2 长按,3 长按保持,4 长按抬起)

字节 2:键值

开关:0x04

字节 1:0 关闭,1 开启,2 暂停

字节 2:路数,路数为 0 时表示总控

喜好收藏:0x05

字节 1:1 收藏状态,2 切换到该收藏

字节 2:收藏号:0-3

倒计时功能:0x06

字节 1、2:倒计时时间,秒为单位(0 为取消倒计时),大端格式

字节 3:字节定时执行功能:暂时不用,待功能标号确定,默认关灯功能

一键群组查询:0x07

用于子设备广播通知已加入的群组

照明开关:0x08

字节 1:0 关闭,1 开启

字节 2:0 总开关,1 白光开关,2 彩光开关

亮度调节:0x09

字节 1:0 亮度值,1 亮度+,2 亮度-

字节 2:0 设备当前模式亮度,1 白光模式亮度

字节 3:字节 1 为 0 时表示亮度百分比(1-100%),字节 1 为 1 和 2 时表示亮度步进值(1-100%)

亮度无极调节:0x0A

字节 1:0 连续加开始,1 连续减开始,2 连续结束

字节 2:0 设备当前模式亮度,1 白光模式亮度

字节 3:速率(每 1s 调节的百分比)

字节 4:无极调节目标值

色温调节:0x0B

字节 1:0 色温值,1 色温+,2 色温-

字节 2:字节 1 为 0 时表示色温百分比(0-100%),字节 1 为 1 和 2 时表示色温步进值(0-100%)

色温无极调节:0x0C

字节 1:0 连续加开始,1 连续减开始,2 连续结束

字节 2:速率(每 1s 调节的百分比)

字节 3:无极调节目标值

七彩调节:0x0D

字节 1:0 相对切换,1 具体颜色,2 循环调节开始,3 循环调节结束

字节 2:具体颜色时的具体颜色 ID

H 值调节:0x0E

字节 1:0 H 百分比值,1 步进加+,2 步进减 -

字节 2:字节 1 为 0 时表示 H 百分比值(0-100%),字节 1 为 1 和 2 时表示 H 步进值(0-100%)

H 值无极调节:0x0F

字节 1:0 连续加开始,1 连续减开始,2 连续结束

字节 2:速率(每 1s 调节的百分比)

字节 3:无极调节目标值

S 值调节:0x10

字节 1:0 S 百分比值,1 步进加 +,2 步进减 -

字节 2:字节 1 为 0 时表示 S 百分比值(0-100%),字节 1 为 1 和 2 时表示 S 步进值(0-100%)

S 值无极调节:0x11

字节 1:0 连续加开始,1 连续减开始,2 连续结束

字节 2:速率(每 1s 调节的百分比)

字节 3:无极调节目标值

V 值调节:0x12

字节 1:0 V 百分比值,1 步进加 +,2 步进减 -

字节 2:字节 1 为 0 时表示 V 百分比值(1-100%),字节 1 为 1 和 2 时表示 V 步进值(1-100%)

V 值无极调节:0x13

字节 1:0 连续加开始,1 连续减开始,2 连续结束

字节 2:速率(每 1s 调节的百分比)

字节 3:无极调节目标值

HSV 控制:0x14

字节 1:H 百分比值(0-100%)

字节 2:S 百分比值(0-100%)

字节 3:V 百分比值(1-100%)

场景调节:0x15

字节 1:0 相对切换,1 具体场景,2 循环调节开始,3 循环调节结束

字节 2:具体场景时的场景 ID

照明模式设置:0x16

字节 1:1 小夜灯模式

电机转动行程调节:0x20

字节 1:0 正转,1 反转,2 暂停

字节 2:行程百分比(0-100%) 0 表示连续转动

字节 3:路数(0 表示总路数)

电机行程设置:0x21

字节 1:0 进入行程点设置,1 进入微调行程点,2 确认行程点

字节 2:0 上行程设置,1 下行程设置,2 中间行程设置

字节 3:路数(0 表示总路数)

电机速度调节:0x22

字节 1:0 档位值,1 步进 +,2 步进 -

字节 2:具体档位或步进档位,字节 3:路数(0 表示总路数)

电机速度无极调节:0x23

字节 1:0 连续加开始,1 连续减开始,2 连续结束

字节 2:速率(每 1s 调节的百分比)

字节 3:无极调节目标值,字节 4:路数(0 表示总路数)

温度调节:0x24

字节 1:0 温度值,1 步进 +,2 步进 -

字节 2 和 3:字节 1 为 0 时具体温度,字节 1 为 1 和 2 时步进温度(两字节温度值,大端表示,最高位表示正负,其他位的值表示温度单位值,以 0.1 摄氏度为单位,相乘得到具体温度)

温度无极调节:0x25

字节 1:0 连续加开始,1 连续减开始,2 连续结束

字节 2:速率(每 1s 调节的百分比)

字节 3 和 4:无极调节目标值,温度值同上

湿度调节:0x26

字节 1:0 湿度值,1 步进 +,2 步进 -

字节 2:具体档湿度或步进湿度

湿度无极调节:0x27

字节 1:0 连续加开始,1 连续减开始,2 连续结束

字节 2:速率(每 1s 调节的百分比)

字节 3:无极调节目标值

以下为品类定制命令

定制品类(1 字节)

定制命令(1 字节)

参数(3 字节)

照明定制:0xFF

RGBY 控制:0x01

字节 1:0 向 R 色调节,1 向 G 色调节,2 向 B 色调节,3 向 Y 色调节

风扇定制:0xFE

风扇模式切换:0x01

字节 1:0:手动风,1:自然风,2:睡眠风

浴霸定制:0xFD

浴霸模式切换:0x01

字节 1:0 暖风,1 换气,2 干燥,3 吹风

空调定制:0xFC

睡眠:0x01

字节 1:0:off,1:on

绑定和解绑通知(0x35+0x07)

该服务的前提是需要开启蓝牙遥控器服务。

模组发送

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x35
数据长度 2 0x0003
数据 1 子命令 0x07
数据 1
  • 0x00:解绑
  • 0x01:绑定
数据 1 群组 ID
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

MCU 返回

字段 长度 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x35
数据长度 2 0x0001
数据 1 0x07(子命令)
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

DP 数据通知(0xF2+0x00)

模组发送

字段 长度(字节) 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0xF2
数据长度 2 0x0007 + N
数据 1 子命令 0x00
6 MAC 地址(6 字节)
N DP data 数据
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

MCU 返回

字段 长度 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0xF2
数据长度 2 0x0001
数据 1 0x00(子命令)
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

DP data 数据格式

字段 长度 说明
DP ID 1 -
DP TYPE + DP LEN 1 DP TYPE 高 4 bit,DP LEN 低 4 bit
DP数据 N -

关于 DP TYPE 的定义,参考命令下发 DP 格式

蓝牙子设备

数据通知(0x35+0x08)

模组发送

字段 长度(byte) 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x35
数据长度 2 0x0001 + N
数据 1 子命令 0x08
数据 N 蓝牙子设备数据:
  • mac:6 字节
  • seq:4 字节
  • data:数据
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

蓝牙功能测试

关于蓝牙功能测试使用详情,参考设备产测页面 蓝牙功能性产测(扫描指定蓝牙信标)