启英物联小程序使用指南¶
一. BLE蓝牙设备接入启英物联小程序流程¶
二. BLE蓝牙广播数据协议¶
设备连接前需要发送蓝牙广播信息, 广播数据如下:
实例:
2.1 启英BLE蓝牙设备广播包解析(‘020106’为蓝牙 SIG 规定协议,固定值不能修改)¶
设备广播包(0x02010605FF00000801070943495F424C45) | |||
---|---|---|---|
序号 | 名称 | 值 | 描述 |
1 | len | 0x05 | 数据长度(根据数据计算) |
2 | 数据类型 | 0xFF | (厂商代码,填充对应芯片的厂商代码) |
3 | 无 | 0x00 | 预留 |
4 | Config_type | 0x00 | 0x1-为需要配网设备,其他值忽略 |
5 | dev_type | 0x08 | 设备类型:0x08-取暖器 |
6 | dev_id | 0x01 | 设备编号:0x01-设备编号 |
7 | 设备名称广播 | (070943495F424C45) | |
0x07 | 数据长度(根据数据计算) | ||
0x09 | (蓝牙 SIG 规定)固定值不能修改 | ||
0x43 | 字符“C” | ||
0x49 | 字符“I” | ||
0x5f | 字符“_” | ||
0x42 | 字符“B” | ||
0x4c | 字符“L” | ||
0x45 | 字符“E” |
小程序扫描到蓝牙的名称为“CI_BLE”,BLE名称最大长度为18字节
2.2 BLE设备名称设置有两种方式¶
-
通过代码函数设置,函数名称为:bool ble_name_init(char* name);
-
通过打包固件设置硬件名称设置,如下图:
三. 蓝牙service协议¶
蓝牙连接上之后,BLE板要运行一个service(包含两个characteristic)和小程序进行通信。
Service定义: uuid 0xAE3A(用户可根据需求自定义)
Characteristics定义如下:
UUID | Properties | 描述 |
---|---|---|
0xAE3B(用户可根据需求自定义) | WRITE NO RESPONSE | 写数据 |
0xAE3C(用户可根据需求自定义) | NOTIFY,READ | 读数据 |
实例:
四. 设备通讯协议¶
4.1 设备类型¶
设备类型 | 红外遥控器 |
---|---|
0x01 | 红外遥控器 |
0x02 | 空调 |
0x03 | 灯控 |
0x04 | 音响 |
0x05 | 茶吧机 |
0x06 | 风扇 |
0x07 | 取暖桌 |
0x08 | 取暖器 |
4.2 启英物联小程序和设备通信协议格式¶
帧头(2Byte) | 协议版本(1Byte) | 厂商ID(1Byte) | 设备类型(1byte) | 设备编号(1byte) |
---|---|---|---|---|
0xA55A | 0x01-v1.0 0x02-v1.1 0x03-v1.2 0x04-v1.3 |
0x01-启英泰伦 | 启英物联支持的设备类型 参考4.1设备类型列表 |
默认0x01 |
功能类型(1Byte-高4位) 数据类型(1Byte-低4位) |
功能ID(1Byte) | 数据长度(2Byte) | 数据(nbyte) | CRC16(2Byte) |
功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 数据类型: 0x1-16进制数据 0x2-JSON格式数据 |
根据不同产品定义功能 参考4.3通信协议实例 |
每包数据长度 | 用户数据 | 整包校验 |
4.3 通信协议实例:¶
4.3.1 空调设备:¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x02-空调 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
nBytes | ||||
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x01(空调开关) | 0x00,0x01 | 0x01,关;0x02,开 | |
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x02(空调模式) | 0x00,0x01 | 0x01制冷;0x02制热;0x03送风;0x04除湿;0x05自动 | |
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x03(空调风向风速) | 0x00,0x01 | 01左右扫风;02上下扫风;03自动风速;04低速风;05中速风;06高速风;07强劲风 | |
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x04(空调温度) | 0x00,0x01 | 16~30; 0xF1,温度增大 0xF2,温度减小 0xF3,温度最大 0xF4,温度最小 | |
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x05(空调灯光) | 0x00,0x01 | 0x01关;0x02开 | |
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x06(空调健康) | 0x00,0x01 | 0x01关;0x02开 | |
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x07(空调睡眠) | 0x00,0x01 | 0x01关;0x02开 |
4.3.2 灯控设备¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x03-灯控 | 0x03 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
2Byte | nBytes | |||
0xA55A | 0x01 | 0x01 | 0x03 | 0x07 | 0x1/0x2 | 0x1 | 0x01(灯控开关) | 0x00,0x01 | 0x01:关灯; 0x02:开灯; | |
0xA55A | 0x01 | 0x01 | 0x03 | 0x07 | 0x1/0x2 | 0x1 | 0x02(灯亮度) | 0x00,0x01 | 灯亮度值(0-100); 0xF1:亮一点; 0xF2:暗一点; 0xF3:最高亮度; 0xF4:最低亮度; | |
0xA55A | 0x01 | 0x01 | 0x03 | 0x07 | 0x1/0x2 | 0x1 | 0x03(灯属性模式) | 0x00,0x06 | byte0,R byte1,G byte2,B byte****3,E byte4,S byte5,模式( 1:白色 2:橙色 3:红色 4:紫色 5:蓝色 6:绿色 7:黄色 8:音乐) | |
0xA55A | 0x01 | 0x01 | 0x03 | 0x07 | 0x1/0x2 | 0x1 | 0x04(灯控定时) | 0x00,0x01 | 0x01,关 0xA1,一小时 0xA2,两小时 0xA3,三小时 0xA4,四小时 0xA5,五小时 0xA6,六小时 0xA7,七小时 0xA8,八小时 0xA9,九小时 0xAA,十小时 0xAB,十一小时 0xAC,十二小时0xAD,定时半小时 |
4.3.3 茶吧机¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x05-茶吧机 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
2Byte | nBytes | |||
0xA55A | 0x01 | 0x01 | 0x05 | 0x01 | 0x1/0x2 | 0x1 | 0x01(茶吧机开关) | 0x00,0x01 | 0x01:关; 0x02:开 | |
0xA55A | 0x01 | 0x01 | 0x05 | 0x01 | 0x1/0x2 | 0x1 | 0x02(童锁) | 0x00,0x01 | 0x01:关; 0x02:开 | |
0xA55A | 0x01 | 0x01 | 0x05 | 0x01 | 0x1/0x2 | 0x1 | 0x03(左壶) | 0x00,0x01 | 0x01,结束取水 0x02,结束保温 0x03,结束制冷 0x11,开始取水 0x12,开始保温 0x13,开始制冷 | |
0xA55A | 0x01 | 0x01 | 0x05 | 0x01 | 0x1/0x2 | 0x1 | 0x04(右壶) | 0x00,0x01 | 0x01,结束自动烧水 0x02,结束取水 0x03,结束加热 0x11,开始自动烧水 0x12,开始取水 0x13,开始加热 | |
0xA55A | 0x01 | 0x01 | 0x05 | 0x01 | 0x1/0x2 | 0x1 | 0x05(调温) | 0x00,0x01 | 0x28,40℃ 0x2D,45℃ 0x32, 0x37, 0x3C, 0x41, 0x46, 0x4B, 0x50, 0x55, 0x5A, 0x5F,95℃ 0x64,100℃ 0xF1,温度增大 0xF2,温度减小 0xF3,温度最大 0xF4,温度最小 |
4.3.4 风扇设备¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x06-风扇 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
2Byte | nBytes | |||
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x01(风扇开关) | 0x00,0x01 | 0x01:关; 0x02:开 | |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x02(风扇风速) | 0x00,0x01 | 0x01一档风;0x02二档风;0x03三档风 0xF1:风速增大; 0xF2:风速减小; 0xF3:风速最大; 0xF4:风速最小; | |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x03(风扇风向) | 0x00,0x01 | 0x01,关;0x02,开 0x11,左右关;0x12,左右开 0x21,上下关;0x22,上下开 | |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x04(正常风模式) | 0x00,0x01 | 0x01关;0x02开 | |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x05(睡眠风模式) | 0x00,0x01 | 0x01关;0x02开 | |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x06(自然风模式) | 0x00,0x01 | 0x01关;0x02开 | |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x07(风扇负离子) | 0x00,0x01 | 0x01关;0x02开 | |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x08(风扇定时) | 0x00,0x01 | 0x01,关 0xA1,一小时 0xA2,两小时 0xA3,三小时 0xA4,四小时 0xA5,五小时 0xA6,六小时 0xA7,七小时 0xA8,八小时 0xA9,九小时 0xAA,十小时 0xAB,十一小时 0xAC,十二小时0xAD,定时半小时 |
4.3.5 取暖桌¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x07-取暖桌 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | 2Byte | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x01(取暖桌开关) | 0x00,0x01 | 0x01,关;0x02,开 | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x02(前取暖) | 0x00,0x01 | 0x01,关;0x02,开 0x11,一档 0x12,二档 0x13,三档 0x14,四档 0x15,五档 | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x03(后取暖) | 0x00,0x01 | 0x01,关;0x01,开 0x11,一档 0x12,二档 0x13,三档 0x14,四档 0x15,五档 | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x04(左取暖) | 0x00,0x01 | 0x01,关;0x02,开 0x11,一档 0x12,二档 0x13,三档 0x14,四档 0x15,五档 | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x05(右取暖) | 0x00,0x01 | 0x01,关;0x02,开 0x11,一档 0x12,二档 0x13,三档 0x14,四档 0x15,五档 | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x06(下层取暖) | 0x00,0x01 | 0x01,关;0x02,开 0x11,一档 0x12,二档 0x13,三档 0x14,四档 0x15,五档 | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x07(保暖) | 0x00,0x01 | 0x01,关;0x02,开 0x11,一档 0x12,二档 0x13,三档 | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x08(调温) | 0x00,0x01 | 0x28, 40℃ 0x2D, 45℃ 0x32, 50℃ 0x37, 55℃ 0x3C, 60℃ 0x41, 65℃ 0x46, 70℃ 0xF1,温度增大 0xF2,温度减小 0xF3,温度最大 0xF4,温度最小 | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x09(调高) | 0x00,0x01 | 0x01,桌面停止 0x02,桌面上升 0x03,桌面下降0x11,中层停止 0x12,中层上升 0x13,中层下降0x21,底板停止 0x22,底板上升 0x23,底板下降 |
4.3.6 取暖器¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x08-取暖器 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | 2Byte | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x01(取暖器开关) | 0x00,0x01 | 0x01,关;0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x02(摇头功能) | 0x00,0x01 | 0x01,关 0x02,开 0x11,左右关 0x12,左右开 0x21,上下关 0x22,上下开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x03(负离子功能) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x04(节能模式) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x05(睡眠模式) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x06(屏幕显示) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x07(氛围灯) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x08(档位调节) | 0x00,0x01 | 0x01,低档 0x02,中档 0x03,高档 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x09(干衣模式) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0A(消毒功能) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0B(定时功能) | 0x00,0x01 | 0x01,关0xA1,一小时 0xA2,两小时 0xA3,三小时 0xA4,四小时 0xA5,五小时 0xA6,六小时 0xA7,七小时 0xA8,八小时 0xA9,九小时 0xAA,十小时 0xAB,十一小时 0xAC,十二小时0xAD,定时半小时 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0C(温度调节) | 0x00,0x01 | 15℃45℃(0x0F0x2D) 0xF1,温度增大 0xF2,温度减小 0xF3,温度最大 0xF4,温度最小 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0D(湿度调节) | 0x00,0x01 | 0x01,关闭 0x02,打开0x28, 湿度40 0x2D, 湿度45 0x32, 湿度50 0x37, 湿度55 0x3C, 湿度60 0x41, 湿度65 0x46, 湿度70 0x4B,湿度75 0x50,湿度80 0xF1,湿度增大 0xF2,湿度减小 0xF3,湿度最大 0xF4,湿度最小 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0E(屏显火焰) | 0x00,0x01 | 0x01,关 0x02,开0x11,七彩色 0x12,红色 0x13,橙色 0x14,黄色 0x15,绿色 0x16,青色 0x17,蓝色 0x18,紫色 |