CI23LC系列小程序交互协议与功能说明¶
CI23LC系列语音蓝牙芯片,可使用 “启英物联” 和 “AI语音智控” 微信小程序进行蓝牙连接设备控制,本文主要描述小程序与CI23LC语音蓝牙设备的控制协议与自定义小程序协议的内容。
1. 微信小程序使用¶
1.1 小程序区别¶
启英提供两款微信小程序,“启英物联” 和 “AI语音智控” 小程序,主要功能区别如下表,客户根据自身需求进行小程序选择。
小程序 | 启英物联 | AI语音智控 |
---|---|---|
ble蓝牙控制 | 支持 | 支持 |
设备端通过协议自定义按键 | 支持 | 支持 |
IOT控制 | 支持 | 不支持 |
启英平台功能 | 支持 | 不支持 |
启英泰伦信息特征 | 包含 | 不包含 |
1.2 微信小程序使用¶
- 打开微信,扫描小程序码或搜索 “启英物联” / “AI语音智控” 进入小程序。
- 打开蓝牙权限(部分手机需要开启位置权限)。
- 开启手机蓝牙。
- 添加设备,通过点击“+”号,或者“添加设备”按键,进行添加设备。
- 进入扫描设备界面,点击扫描到的设备(小程序已有:风扇、空调、取暖器、茶吧机,灯控等设备…)。
- 确定连接设备,并设备命名。
- 连接成功,返回首页。
- 点击添加的设备即可进入设备操作界面。
2. 设备与小程序交互协议¶
启英微信小程序与CI23LC/CI231X系列语音蓝牙设备的交互协议,根据设备不同应用领域,协议内容有一定的区别,已对一些设备应用的领域进行ID定义 ,语音端和小程序将根据领域ID进行对应的协议处理。
CI23LC系列语音SDK代码中,在app_ble\demo\cias_demo_config.h文件中对DEV_DRIVER_EN_ID进行修改。
#define DEV_DRIVER_EN_ID DEV_FAN_MAIN_ID //设为风扇领域设备
//主设备ID定义
#define DEV_IR_CONTROL_MAIN_ID 0x01 //红外遥控器
#define DEV_AIRCONDITION_MAIN_ID 0X02 //空调
#define DEV_LIGHT_CONTROL_MAIN_ID 0x03 //灯控
#define DEV_SOUND_MAIN_ID 0x04 //音响设备
#define DEV_TEA_BAR_MAIN_ID 0x05 //茶吧机
#define DEV_FAN_MAIN_ID 0x06 //风扇
#define DEV_HEATTABLE_MAIN_ID 0x07 //取暖桌
#define DEV_WARMER_MAIN_ID 0x08 //取暖器
#define DEV_WATERHEATED_MAIN_ID 0x09 //水暖毯
2.1 小程序设备类型¶
设备类型 | BLE蓝牙 |
---|---|
0x01 | 红外遥控器 |
0x02 | 空调 |
0x03 | 灯控 |
0x04 | 音响 |
0x05 | 茶吧机 |
0x06 | 风扇 |
0x07 | 取暖桌 |
0x08 | 取暖器 |
0x09 | 水暖毯 |
0x0A | 微波炉 |
0x0B | 窗帘 |
0x0C | 加湿器 |
0x0B | 足浴盆 |
2.2 设备页面主题修改协议¶
该协议适用于小程序各领域设备,但目前仅风扇领域实现该协议功能
协议格式:帧头(2Byte)+协议版本(1Byte)+标题数据长度(2Byte)+页面标题(nByte)+CRC16校验(2Byte)
帧头(2Byte) | 协议版本 (1Byte) | 标题数据长度(2Byte) | 页面标题 (nByte) | CRC16 (2Byte) |
---|---|---|---|---|
0xA55A | 0x05(页面标题修改) | byte0:高字节;byte1:低字节; | xx.....; |
CI23LC系列语音SDK代码中,直接在app_ble\demo\cias_demo_config.h文件中对APP_PAGE_TITLE进行修改。
#define APP_PAGE_TITLE "语音智能设备"//设备控制页面标题. 中文最大长度9,字母数字最大长度15
该协议相关函数代码在app_ble\demo\cias_ble_msg_deal.c文件中
/*
启英设备控制页面标题内容显示
协议格式:帧头(2Byte)+协议版本(1Byte)+标题数据长度(2Byte)+页面标题(nByte)+CRC16校验(2Byte)
*/
void app_title_set()
其页面主题修改效果图如下:
2.3 设备页面背景修改协议¶
该协议适用于小程序各领域设备,但目前仅风扇领域实现该协议功能
协议格式:帧头(2Byte)+协议版本(1Byte)+页面背景数据长度(2Byte)+页面背景-(nByte)+CRC16校验(2Byte)
帧头(2Byte) | 协议版本 (1Byte) | 页面背景数据长度(2Byte) | 页面背景(nByte) | CRC16 (2Byte) |
---|---|---|---|---|
0xA55A | 0x06(页面背景修改) | byte0:高字节;byte1:低字节; | xx.....; |
CI23LC系列语音SDK代码中,在app_ble\demo\cias_demo_config.h文件中对APP_PAGE_BACKGROUND进行修改。
#define APP_PAGE_BACKGROUND "1" //设备控制页面背景. "1":默认背景图; "2":灰色; "3":白黑渐变; "4":渐变; "5":开/关机-蓝/白切换;
该协议相关函数代码在app_ble\demo\cias_ble_msg_deal.c文件中
/*
启英设备控制页面页面背景
协议格式:帧头(2Byte)+协议版本(1Byte)+背景数据长度(2Byte)+页面背景(nByte)+CRC16校验(2Byte)
*/
void app_background_set()
其背景图效果如下:
2.4 小程序调用用户层事件回调函数协议¶
该协议适用于小程序各领域设备
协议格式:帧头(2Byte)+命令(1Byte)+CRC16校验(2Byte)
帧头 | 命令**(1Byte)** | CRC16 (2Byte) |
---|---|---|
0xA55B | 0x01(设备ble连接断开) | |
0xA55B | 0x02(小程序获取词条信息) |
该协议相关函数代码在app_ble\demo\cias_ble_msg_deal.c文件中
/**
* @brief 处理蓝牙接收到的手机端消息-只使用于启英物联加密交互,客户使用自己的私有协议
* @param recv_data 接收到的数据;
* @param len 接收数据长度;
*/
void ci_ble_recv_data_handle(uint8_t *recv_data, uint8_t len)
2.5 小程序和设备通信协议格式¶
帧头(2Byte) | 协议版本(1Byte) | 厂商ID(1Byte) | 设备类型(1byte) | 设备编号(1byte) | 功能类型(1Byte-高4位) 数据类型(1Byte)-低4位) |
功能ID (1Byte) | 数据长度(2Byte) | 数据(nbyte) | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|---|---|
0xA55A | 0x01-v1.0 | 0x01-启英泰伦 | 小程序支持的设备类型 参考2.1设备类型列表 |
默认0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 数据类型: 0x1-16进制数据 0x2-JSON格式数据 |
根据不同产品定义功能 参考2.6通信协议实例 |
每包数据长度 | 用户数据 | 整包校验 |
2.6 通信协议实例¶
2.6.1 空调设备¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x02-空调 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | ||
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x3 | 0x1 | 0x00(空调查询全属性) | 0x00,0x01 | 0x00; | |
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 | 0x04(空调温度) | 0x00,0x01 | 0x100x1E(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开 | |
A55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x08(播报音量) | 0x00,0x01 | 0x01,关 0x02,开 0xF1,音量增大 0xF2,音量减小 0xF3,音量最大 0xF4,音量最小 | |
A55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x09(空调风速) | 0x00,0x01 | 0x01自动风速;0x02低速风;0x03中速风;0x04高速风; | |
A55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x0A(强劲风速) | 0x00,0x01 | 0x01,强劲风关 0x02,强劲风开 | |
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1/0x2 | 0x1 | 0x0B(空调风向) | 0x00,0x01 | 0x01,左右扫风关 0x02,左右扫风开 0x03,上下扫风关 0x04,上下扫风开 0x05,左右上下扫风关 0x06,左右上下扫风开 | |
A55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1 | 0x1 | 0x0C(控制进入匹配) | 0x00,0x03 | byte0, 0x01:遥控器匹配方式 0x02:直接设置品牌码库配置**byte1, 一个byte(空调品牌ID) ****byte2, 一个byte(这个品牌里面第几个码库) ** | |
A55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x3 | 0x1 | 0x0D(查询空调匹配状态) | 0x00,0x02 | byte0, 0x01:当前已经遥控器匹配了 0x02:当前已经设置了空调品牌来匹配了 0x03:默认红外,暂无匹配**byte1(byte0:0x02时处理), **一个byte(空调品牌ID) | |
A55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1 | 0x1 | 0X0E(品牌匹配) | 0x00,0x01 | 0x00 :品牌匹配,空调没有反应0x01: 品牌匹配,空调有反应 | |
A55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x2 | 0x1 | 0X0F(遥控器匹配) | 0x00,0x01 | 0x00 :遥控器匹配,空调没有反应0x01: 遥控器匹配 , 空调有反应 | |
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x1 | 0x1 | 0xF1(OTA开始) | 0x00,0x02 | **byte0, OTA固件**数据长度低8位**byte1, OTA固件**数据长度高8位 | |
XX(OTA数据) | ||||||||||
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x01 | 0x01 | 0xF2(OTA结束) | 0x00,0x02 | **byte0, OTA固件CRC**低8位**byte1, OTA固件CRC**高8位 | |
0xA55A | 0x01 | 0x01 | 0x02 | 0x01 | 0x2 | 0x01 | 0xF3(OTA校验结果) | 0x00,0x01 | 0x01,OTA校验成功0x02,OTA校验失败 |
该协议相关函数代码在app_ble\demo\cias_aircondition_msg_deal.c文件中
/**
* @brief 识别语音词条,设备状态上行
* @param cmd_id 命令词ID;
*/
uint8_t aircondition_report(uint16_t cmd_id)
/**
* @brief 接收小程序下行控制设备数据
* @param msg 命令词ID;
*/
void aircondition_callback(ble_msg_V1_t msg)
/**
* @brief 接收小程序下行查询设备状态数据
* @param msg 命令词ID;
*/
void aircondition_query(ble_msg_V1_t msg)
2.6.2 灯控设备¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x03-灯控 | 0x07 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | ||
0xA55A | 0x01 | 0x01 | 0x03 | 0x07 | 0x1/0x2 | 0x1 | 0x00(灯控查询全属性) | 0x00,0x01 | 0x00; | |
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,十二小时 |
该协议相关函数代码在app_ble\demo\cias_rgb_msg_deal.c文件中
/**
* @brief 识别语音词条,设备状态上行
* @param cmd_id 命令词ID;
*/
uint8_t rgb_report(uint16_t cmd_id)
/**
* @brief 接收小程序下行控制设备数据
* @param msg 命令词ID;
*/
void rgb_callback(ble_msg_V1_t msg)
/**
* @brief 接收小程序下行查询设备状态数据
* @param msg 命令词ID;
*/
void rgb_query(ble_msg_V1_t msg)
2.6.3 茶吧机¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x05-茶吧机 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 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,温度最小 |
该协议相关函数代码在app_ble\demo\cias_tbm_msg_deal.c文件中
/**
* @brief 识别语音词条,设备状态上行
* @param cmd_id 命令词ID;
*/
uint8_t tbm_report(uint16_t cmd_id)
/**
* @brief 接收小程序下行控制设备数据
* @param msg 命令词ID;
*/
void tbm_callback(ble_msg_V1_t msg)
/**
* @brief 接收小程序下行查询设备状态数据
* @param msg 命令词ID;
*/
void tbm_query(ble_msg_V1_t msg)
2.6.4 风扇设备¶
帧头 | 协议版本(1Byte) | 厂商ID(1Byte) | 设备类型(1Byte) | 设备编号(1byte) | 功能类型(1Byte-高4位) | 数据类型(1Byte)-低4位) | 功能ID(1Byte) | 数据长度(2Byte) | 数据(nbyte) |
---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x06-风扇 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x3 | 0x1 | 0x00(风扇查询全属性) | 0x00,0x01 | 0x00; |
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三档风0x04四档风;0x05五档风;0x06六档风0xF0:风速中等; 0xF1:风速增大; 0xF2:风速减小; 0xF3:风速最大; 0xF4:风速最小; 0xF5,禁止风速控制 0xF6,允许风速控制 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x03(风扇风向) | 0x00,0x01 | 0x01,关;0x02,开 0x11,左右关;0x12,左右开 0x21,上下关;0x22,上下开 0x31,左右上下关;0x32,左右上下开 0xF5,禁止风向控制 0xF6,允许风向控制 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x04(风模式) | 0x00,0x01 | 0x01智能风;0x02宝宝风;0x03正常风; 0x04睡眠风;0x05自然风;0x06暴风模式; |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x05(左右摇头角度) | 0x00,0x01 | 0x1E,30度; 0x2D,45度; 0x3C,60度; 0x5A,90度; 0x78,120度; |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x06(上下摇头角度) | 0x00,0x01 | 0x1E,30度; 0x2D,45度; 0x3C,60度; 0x5A,90度; 0x78,120度; |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x07(风扇负离子) | 0x00,0x01 | 0x01关;0x02开0xF5,禁止负离子 0xF6,允许负离子 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x08(风扇定时关机) | 0x00,0x01 | 0x01,关;0xA1,一小时~0xB8,二十四小时; |
A55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x09(播报音量) | 0x00,0x01 | 0x01,关 0x02,开 0xF1,音量增大 0xF2,音量减小 0xF3,音量最大 0xF4,音量最小0xF5,禁止播报控制 0xF6,允许播报控制 |
A55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x0A(语音识别) | 0x00,0x01 | 0x01,关;0x02,开0xF5,禁止语音识别控制 0xF6,允许语音识别控制 |
A55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x4 | 0x1 | 0x0B(定时设置) | 0x00,0x01/0x02 | (数据长度:0x01)0xF5,禁止定时功能 0xF6,允许定时功能 (数据长度:0x02,定时范围设置) byte0(最小定时): 一小时二十四小时(0xA10xB8);byte0(最高定时): 一小时二十四小时(0xA10xB8); |
A55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x4 | 0x1 | 0x0C(风速设置) | 0x00,0x01/0x02 | (数据长度:0x01)0xF5,禁止风速控制功能 0xF6,允许风速控制功能 (数据长度:0x02,风速范围设置) byte0(最小风速): 一档风一百档风(0x010x64);byte1(最大风速): 一档风一百档风(0x010x64); |
A55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x4 | 0x1 | 0x0D(风模式设置) | 0x00,0x01~0x08 | (数据长度:0x01) 0xF5,禁止风模式控制 0xF6,允许风模式控制----------------------- (数据长度:0x01~0x08) 填入需要风类对应的数据(如智能风填入0x01) 0x01:智能风; 0x02:宝宝风; 0x03:正常风; 0x04:睡眠风; 0x05:自然风; 0x06:暴风风; |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x0E(风扇驱蚊) | 0x00,0x01 | 0x01关;0x02开0xF5,禁止负驱蚊 0xF6,允许负驱蚊 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x0F(风扇灯光/氛围灯) | 0x00,0x01 | 0x01关;0x02开 0xF1:亮一点; 0xF2:暗一点; 0xF5,禁止负灯光 0xF6,允许负灯光 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x10(风扇暖灯) | 0x00,0x01 | 0x01关;0x02开 0xF5,禁止暖灯 0xF6,允许暖灯 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x11(风扇加湿/雾化) | 0x00,0x01 | 0x01关;0x02开 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x12(风扇制冷) | 0x00,0x01 | 0x01关;0x02开 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x13(风扇温度显示) | 0x00,0x01 | 0x01关;0x02开 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x14(风扇屏显) | 0x00,0x01 | 0x01关;0x02开 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x15(3D摇头) | 0x00,0x01 | 0x01关;0x02开 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x16(节能) | 0x00,0x01 | 0x01关;0x02开 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x17(除湿) | 0x00,0x01 | 0x01关;0x02开 |
0xA55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x18(预约开机) | 0x00,0x01 | 0x01,关;0xA1,一小时~0xB8,二十四小时; |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x03(查询设备状态) | 0x01 | 0x01-0xFF | 0x00,0x01 | 0x00 |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x04(回复状态查询) | 0x01 | 0x01-0xFF | 0x00,0x0X | 0x01-0xFF(当前功能参数) |
该协议相关函数代码在app_ble\demo\cias_fan_msg_deal.c文件中
/**
* @brief 识别语音词条,设备状态上行
* @param cmd_id 命令词ID;
*/
uint8_t fan_report(uint16_t cmd_id)
/**
* @brief 接收小程序下行控制设备数据
* @param msg 命令词ID;
*/
void fan_callback(ble_msg_V1_t msg)
/**
* @brief 接收小程序下行查询设备状态数据
* @param msg 命令词ID;
*/
void fan_query(ble_msg_V1_t msg)
2.6.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,关;0x02,开 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,底板下降 | |
A55A | 0x01 | 0x01 | 0x07 | 0x01 | 0x1/0x2 | 0x1 | 0x0A(全控取暖) | 0x00,0x01 | 0x11,全控一档 0x12,全控二档 0x13,全控三档 0x14,全控四档 0x15,全控五档 | |
该协议相关函数代码在app_ble\demo\cias_heattable_msg_deal.c文件中
/**
* @brief 识别语音词条,设备状态上行
* @param cmd_id 命令词ID;
*/
uint8_t heattable_report(uint16_t cmd_id)
/**
* @brief 接收小程序下行控制设备数据
* @param msg 命令词ID;
*/
void heattable_callback(ble_msg_V1_t msg)
/**
* @brief 接收小程序下行查询设备状态数据
* @param msg 命令词ID;
*/
void heattable_query(ble_msg_V1_t msg)
2.6.6 取暖器¶
帧头 | 协议版本(1Byte) | 厂商ID (1Byte) | 设备类型 (1byte) | 设备编号 (1byte) | 功能类型 (1Byte-高4位) | 数据类型 (1Byte-低4位) | 功能ID (1Byte) | 数据长度 (2Byte) | 数据 (nbyte) | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x08-取暖器 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | 2Byte | |
A55A | 0x01 | 0x01 | 0x08(取暖器) | 0x01 | 0x3 | 0x1 | 0x01(查询取暖器全属性) | 0x00,0x01 | 0x00; | |
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,上下开0xF5,禁止摇头 0xF6,允许摇头 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x03(负离子功能) | 0x00,0x01 | 0x01,关 0x02,开0xF5,禁止负离子 0xF6,允许负离子 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x04(节能模式) | 0x00,0x01 | 0x01,关 0x02,开0xF5,禁止节能 0xF6,允许节能 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x05(睡眠模式) | 0x00,0x01 | 0x01,关 0x02,开0xF5,禁止睡眠 0xF6,允许睡眠 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x06(屏幕显示) | 0x00,0x01 | 0x01,关 0x02,开0xF5,禁止屏幕 0xF6,允许屏幕 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x07(氛围灯) | 0x00,0x01 | 0x01,关 0x02,开0xF5,禁止氛围灯 0xF6,允许氛围灯 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x08(档位调节) | 0x00,0x01 | 0x01,低档 0x02,中档 0x03,高档0xF5,禁止档位控制 0xF6,允许档位控制 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x09(干衣模式) | 0x00,0x01 | 0x01,关 0x02,开0xF5,禁止干衣 0xF6,允许干衣 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0A(消毒功能) | 0x00,0x01 | 0x01,关 0x02,开0xF5,禁止消毒 0xF6,允许消毒 | |
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,定时半小时0xF5,禁止定时功能 0xF6,允许定时功能 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0B(定时功能)-萨普取暖器 | 0x00,0x01 | 0x01,关0xA1,一小时~0xB8,二十四小时0xF5,禁止定时功能 0xF6,允许定时功能 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0C(目标温度) | 0x00,0x01 | 15℃45℃(0x0F0x2D) 0xF1,温度增大 0xF2,温度减小 0xF3,温度最大 0xF4,温度最小 0xF5,禁止温度调节 0xF6,允许温度调节 | |
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,湿度最小 0xF5,禁止湿度调节 0xF6,允许湿度调节 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0E(屏显火焰) | 0x00,0x01 | 0x01,关 0x02,开0x11,七彩色 0x12,红色 0x13,橙色 0x14,黄色 0x15,绿色 0x16,青色 0x17,蓝色 0x18,紫色0xF5,禁止屏显火焰 0xF6,允许屏显火焰 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x0F(播报音量) | 0x00,0x01 | 0x01,关 0x02,开 0xF1,音量增大 0xF2,音量减小 0xF3,音量最大 0xF4,音量最小 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x1/0x2 | 0x1 | 0x10(冷风控制) | 0x00,0x01 | 0x01,关 0x02,开0xF5,禁止冷风 0xF6,允许冷风 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x4 | 0x1 | 0x11(档位设置) | 0x00,0x01~0x03 | (依次填入所有要档位) 0x01,低档 0x02,中档 0x03,高档 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x4 | 0x1 | 0x12(定时设置) | 0x00,0x02 | **byte0(最小定时): **零小时二十四小时(0xA00xB8);**byte1(最高定时): **零小时二十四小时(0xA00xB8); | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x4 | 0x1 | 0x13(温度设置) | 0x00,0x02 | 默认步长1 byte0(最低温度):**15℃45℃(0x0F0x2D);**byte1(最高温度):15℃45℃(0x0F0x2D); | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x4 | 0x1 | 0x14(湿度设置) | 0x00,0x02 | 默认步长5 byte0(最低湿度): **湿度0湿度100(0x000x64);**byte1(最高湿度): 湿度0湿度100(0x000x64); | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x2 | 0x1 | 0x15(当前温度) | 0x00,0x01 | 15℃45℃(0x0F0x2D) | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x2 | 0x1 | 0x16(夜灯) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x2 | 0x1 | 0x17(变频) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x2 | 0x1 | 0x18(散热) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x06 | 0x01 | 0x1/0x2 | 0x1 | 0x19(语音识别) | 0x00,0x01 | 0x01,关;0x02,开 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01 | 0x4 | 0x1 | 0xFF(主动渲染) | 0x00,0x01 | 0x01,关主动渲染 0x02,开主动渲染 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x03(查询设备状态) | 0x01 | 0x01-0x14 | 0x00,0x01 | 0x00 | |
A55A | 0x01 | 0x01 | 0x08 | 0x01 | 0x04(回复状态查询) | 0x01 | 0x01-0xff | 0x00,0x0X | 0x01-0xFF(当前功能参数) |
该协议相关函数代码在app_ble\demo\cias_warmer_msg_deal.c文件中
/**
* @brief 识别语音词条,设备状态上行
* @param cmd_id 命令词ID;
*/
uint8_t warmer_report(uint16_t cmd_id)
/**
* @brief 接收小程序下行控制设备数据
* @param msg 命令词ID;
*/
void warmer_callback(ble_msg_V1_t msg)
/**
* @brief 接收小程序下行查询设备状态数据
* @param msg 命令词ID;
*/
void warmer_query(ble_msg_V1_t msg)
2.6.7 水暖毯¶
帧头 | 协议版本(1Byte) | 厂商ID (1Byte) | 设备类型 (1byte) | 设备编号 (1byte) | 功能类型 (1Byte-高4位) | 数据类型 (1Byte-低4位) | 功能ID (1Byte) | 数据长度 (2Byte) | 数据 (nbyte) | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x09-水暖毯 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | 2Byte | |
A55A | 0x01 | 0x01 | 0x09(水暖毯) | 0x01/0x02 | 0x1/0x2/0x3/0x4 | 0x1 | 0x01(水暖毯开关) | 0x00,0x01 | 0x01,关;0x02,开 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01/0x02 | 0x1/0x2/0x3/0x4 | 0x1 | 0x02(童锁) | 0x00,0x01 | 0x01,关;0x02,开 0xF5,禁止童锁 0xF6,允许童锁 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01 | 0x1/0x2 | 0x1 | 0x03(温度调节) | 0x00,0x01 | 10℃75℃(0x0A0x4B) 0xF1,温度增大 0xF2,温度减小 0xF3,温度最大 0xF4,温度最小 | |
A55A | 0x01 | 0x01 | 0x09 | 0x02 | 0x1/0x2 | 0x1 | 0x03(温度调节) | 0x00,0x02 | byte0(温区选择): **0x11,两边 0x12,左边 0x13,右边 byte1(温度设置):** 10℃75℃(0x0A0x4B) 0xF1,温度增大 0xF2,温度减小 0xF3,温度最大 0xF4,温度最小 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01/0x02 | 0x4 | 0x1 | 0x04(温度设置) | 0x00,0x02 | byte0(最低温度):**10℃75℃(0x0A0x4B);**byte1(最高温度):10℃75℃(0x0A0x4B); | |
A55A | 0x01 | 0x01 | 0x09 | 0x01 | 0x1/0x2 | 0x1 | 0x05(定时功能) | 0x00,0x01 | 0x01,关 0x02,开0xA1,一小时 0xA2,两小时 ......... 0xB7,二十三小时 0xB8,二十四小时 | |
A55A | 0x01 | 0x01 | 0x09 | 0x02 | 0x1/0x2 | 0x1 | 0x05(定时功能) | 0x00,0x01 | **byte0(温区选择):**0x11,两边 0x12,左边 0x13,右边**byte0(定时设置):**0x01,关 0x02,开0xA1,一小时 0xA2,两小时 ......... 0xB7,二十三小时 0xB8,二十四小时 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01/0x02 | 0x1/0x2/0x3/0x4 | 0x1 | 0x06(睡眠模式) | 0x00,0x01 | 0x01,关 0x02,开 0xF5,禁止睡眠模式 0xF6,允许睡眠模式 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01/0x02 | 0x1/0x2/0x3/0x4 | 0x1 | 0x07(速热模式) | 0x00,0x01 | 0x01,关 0x02,开 0xF5,禁止速热模式 0xF6,允许速热模式 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01/0x02 | 0x1/0x2/0x3/0x4 | 0x1 | 0x08(除螨模式) | 0x00,0x01 | 0x01,关 0x02,开 0xF5,禁止除螨模式 0xF6,允许除螨模式 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01 | 0x1/0x2/0x3/0x4 | 0x1 | 0x09(温区选择) | 0x00,0x01 | 0x11,两边 0x12,左边 0x13,右边 0xF5,禁止温区选择 0xF6,允许温区选择 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01 | 0x1/0x2/0x3/0x4 | 0x1 | 0x0A(负离子) | 0x00,0x01 | 0x01,关 0x02,开 0xF5,禁止负离子 0xF6,允许负离子 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01/0x02 | 0x1/0x2/0x3/0x4 | 0x1 | 0x0B(小夜灯) | 0x00,0x01 | 0x01,关 0x02,开 0x11,白色 0x12,红色 0x13,橙色 0x14,黄色 0x15,绿色 0x16,蓝色 0x17,紫色 0x18,青色 0x19,粉色 0x1A,夜灯变色 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01/0x02 | 0x4 | 0x1 | 0x0C(小夜灯设置) | 0x00,0x01~0x08 | (功能设置,数据长度:0x01) 0x01,禁止小夜灯 0x02,允许小夜灯 0x03,禁止小夜灯颜色切换 0x04,允许小夜灯颜色切换 ----------------------- (颜色设置,默认使能夜灯与夜灯颜色切换,数据段依次填入所有要切换颜色对应的数据,数据长度:0x02~0x08) 0x11,白色 0x12,红色 0x13,橙色 0x14,黄色 0x15,绿色 0x16,蓝色 0x17,紫色 0x18,青色 0x19,粉色 0x1A,夜灯变色 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01 | 0x1/0x2/0x3/0x4 | 0x1 | 0x0D(助眠声音) | 0x00,0x01 | 0x01,关 0x11,鸟鸣声 0x12,流水声 0x13,落雨声 0x14,雷雨声 0xF5,禁止助眠声音 0xF6,允许助眠声音 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01/0x02 | 0x1/0x2/0x3/0x4 | 0x1 | 0x0E(播报音量) | 0x00,0x01 | 0x01,关 0x02,开 0xF1,音量增大 0xF2,音量减小 0xF3,音量最大 0xF4,音量最小 0xF5,禁止播报音量量 0xF6,允许播报音量量 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01/0x02 | 0x4 | 0x1 | 0x0F(定时设置) | 0x00,0x01/0x02 | (数据长度:0x01)0xF5,禁止定时功能 0xF6,允许定时功能 (数据长度:0x02,定时范围设置) 最小定时: 零小时二十四小时(0xA00xB8);最高定时: 零小时二十四小时(0xA00xB8); | |
A55A | 0x01 | 0x01 | 0x09 | 0x02 | 0x1/0x2/0x3/0x4 | 0x1 | 0x10(烘被) | 0x00,0x01 | 0x01,关 0x02,开 0xF5,禁止烘被功能 0xF6,允许烘被功能 | |
A55A | 0x01 | 0x01 | 0x09 | 0x02 | 0x1/0x2/0x3/0x4 | 0x1 | 0x11(屏显) | 0x00,0x01 | 0x01,关 0x02,开 0xF5,禁止屏显功能 0xF6,允许屏显功能 | |
A55A | 0x01 | 0x01 | 0x09 | 0x03 | 0x1/0x2/0x3/0x4 | 0x1 | 0x12(15小时自动关机) | 0x00,0x01 | 0x01,关 0x02,开 0xF5,禁止该功能 0xF6,允许该功能 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01 | 0x4 | 0x1 | 0xFF(主动渲染) | 0x00,0x01 | 0x01,关主动渲染 0x02,开主动渲染 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01 | 0x03(查询设备状态) | 0x01 | 0x01-0x12 | 0x00,0x01 | 0x00 | |
A55A | 0x01 | 0x01 | 0x09 | 0x01 | 0x04(回复状态查询) | 0x01 | 0x01-0xFF | 0x00,0x0X | 0x01-0xFF(当前功能参数) |
该协议相关函数代码在app_ble\demo\cias_waterheated_msg_deal.c文件中
/**
* @brief 识别语音词条,设备状态上行
* @param cmd_id 命令词ID;
*/
uint8_t waterheated_report(uint16_t cmd_id)
/**
* @brief 接收小程序下行控制设备数据
* @param msg 命令词ID;
*/
void waterheated_callback(ble_msg_V1_t msg)
/**
* @brief 接收小程序下行查询设备状态数据
* @param msg 命令词ID;
*/
void waterheated_query(ble_msg_V1_t msg)
2.6.8 窗帘¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x0B-窗帘 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | 2Byte | |
A55A | 0x01 | 0x01 | 0x0B | 0x01 | 0x1/0x2 | 0x1 | 0x01(客厅-窗帘开关) | 0x00,0x01 | 0x01,关;0x02,开;0x03,停止 | |
A55A | 0x01 | 0x01 | 0x0B | 0x01 | 0x1/0x2 | 0x1 | 0x02(客厅-布帘开关) | 0x00,0x01 | 0x01,关;0x02,开;0x03,停止 | |
A55A | 0x01 | 0x01 | 0x0B | 0x01 | 0x1/0x2 | 0x1 | 0x03(客厅-纱帘开关) | 0x00,0x01 | 0x01,关;0x02,开;0x03,停止 | |
A55A | 0x01 | 0x01 | 0x0B | 0x01 | 0x1/0x2 | 0x1 | 0x04(客厅-百分之XX) | 0x00,0x01 | 0x01,10%; 0x02,20%; 0x03,30%; 0x04,40%; 0x05,50%; 0x06,60%; 0x07,70%; 0x08,80%; 0x09,90%; 0x0A,100%; | |
A55A | 0x01 | 0x01 | 0x0B | 0x01 | 0x03(查询设备状态) | 0x01 | 0x01-0xFF | 0x00,0x01 | 0x00 | A55A |
A55A | 0x01 | 0x01 | 0x0B | 0x01 | 0x04(回复状态查询) | 0x01 | 0x01-0xFF | 0x00,0x0X | 0x01-0xFF(当前功能参数) |
2.6.9 加湿器¶
帧头 | 协议版本 | 厂商ID | 设备类型 | 设备编号 | 功能类型 | 数据类型 | 功能ID | 数据长度 | 数据 | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x0C-加湿器 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | 2Byte | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x01(加湿器开关) | 0x00,0x01 | 0x01,关;0x02,开 | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x02(模式) | 0x00,0x01 | 0x01,普通;0x02,恒湿;0x03,睡眠; | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x03(喷雾量) | 0x00,0x01 | 0x01,低档;0x02,中档;0x03,高档; | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x04(负离子) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x05(热雾) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x06(UV杀菌) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x07(夜灯) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x08(定时) | 0x00,0x01 | 0x01,关 0x02,开0xA1,一小时 0xA2,两小时 ......... 0xAB,十一小时 0xAC,十二小时 | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x09(缺水提示) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x0A(设定湿度) | 0x00,0x01 | 40%90%(0x280x5A) | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x0B(环境湿度) | 0x00,0x01 | 0%100%(0x000x64) | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x1/0x2 | 0x1 | 0x0C(环境温度) | 0x00,0x01 | 0℃100℃(0x000x64) | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x4 | 0x1 | 0x0D(设定湿度范围) | 0x00,0x02 | byte0(最低湿度):**0%100%(0x000x64);**byte1(最高湿度):0%100%(0x000x64); | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x03(查询设备状态) | 0x01 | 0x01-0xFF | 0x00,0x01 | 0x00 | |
A55A | 0x01 | 0x01 | 0x0C | 0x01 | 0x04(回复状态查询) | 0x01 | 0x01-0xFF | 0x00,0x0X | 0x01-0xFF(当前功能参数) |
2.6.10 足浴盆¶
帧头 | 协议版本(1Byte) | 厂商ID (1Byte) | 设备类型 (1byte) | 设备编号 (1byte) | 功能类型 (1Byte-高4位) | 数据类型 (1Byte-低4位) | 功能ID (1Byte) | 数据长度 (2Byte) | 数据 (nbyte) | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|---|---|---|
0x01:V1.0 | 启英泰伦-0x01 | 0x0D-足浴盆 | 0x01 | 功能类型: 0x1-属性设置 0x2-事件上报 0x3-设备状态查询 0x4-应答消息 |
0x1-16进制编码数据 0x2-JSON数据 |
1Byte | 2Byte | nBytes | 2Byte | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x3 | 0x1 | 0x00(小程序全属性查询) | 0x00,0x01 | 0x00; | |
A55A | 0x01 | 0x01 | 0x0D(足浴盆) | 0x01 | 0x1/0x2 | 0x1 | 0x01(足浴盆开关) | 0x00,0x01 | 0x01,关;0x02,开 | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x1/0x2 | 0x1 | 0x02(温度) | 0x00,0x01 | 35℃46℃(0x230x2E) | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x1/0x2 | 0x1 | 0x03(定时) | 0x00,0x01 | 0x01,关 0x02,开0xA1,定时十分钟 0xA2,定时二十分钟 ......... 0xA5,定时五十分钟 0xA6,定时六十分钟 | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x1/0x2 | 0x1 | 0x04(按摩) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x1/0x2 | 0x1 | 0x05(冲浪) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x1/0x2 | 0x1 | 0x06(杀菌消毒) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x1/0x2 | 0x1 | 0x07(播报音量) | 0x00,0x01 | 0x01,关 0x02,开 0xF1,音量增大 0xF2,音量减小 0xF3,音量最大 0xF4,音量最小 | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x1/0x2 | 0x1 | 0x08(语音识别) | 0x00,0x01 | 0x01,关;0x02,开 | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x1/0x2 | 0x1 | 0x09(气泡) | 0x00,0x01 | 0x01,关 0x02,开 | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x03(查询设备状态) | 0x01 | 0x01-0xFF | 0x00,0x01 | 0x00 | |
A55A | 0x01 | 0x01 | 0x0D | 0x01 | 0x04(回复状态查询) | 0x01 | 0x01-0xFF | 0x00,0x0X | 0x01-0xFF(当前功能参数) |
2.7 设备状态全属性上报¶
支持设备端一条指令把状态全同步给小程序
协议格式:帧头(2Byte)+协议版本(1Byte)+功能状态(nByte)+CRC16校验(2Byte)
功能状态(nByte),可填入任意个功能,但功能位置顺序保持固定
帧头(2Byte) | 协议版本 (1Byte) | 功能状态(nByte) | CRC16 (2Byte) |
---|---|---|---|
0xA55A | 0x03(全属性上报) | xx.....; |
2.7.1 空调全属性上报¶
帧头(2Byte) | 协议版本 (1Byte) | 电源开关(1Byte) | 模式 (1Byte) | 预留 (1Byte) | 温度 (1byte) | 屏显 (1byte) | 健康 (1byte) | 睡眠 (1byte) | 播报音 (1byte) | 风速 (1byte) | 强劲风 (1byte) | 风向 (1byte) | ...... | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0xA55A | 0x03(全属性上报) | 0x01,关; 0x02,开; | 0x01制冷;0x02制热;0x03送风;0x04除湿;0x05自动 | 0x00; | 0x100x1E,(16℃30℃); | 0x01,关; 0x02,开; | 0x01,关; 0x02,开; | 0x01,关; 0x02,开; | 0x01,关; 0x02,开; | 0x01自动风速; 0x02低速风; 0x03中速风; 0x04高速风; | 0x01,关; 0x02,开; | 0x01,左右扫风关; 0x02,左右扫风开; 0x03,上下扫风关; 0x04,上下扫风开; 0x05,左右上下扫风关; 0x06,左右上下扫风开 |
该协议相关函数代码在app_ble\demo\cias_aircondition_msg_deal.c文件中
/**
* @brief 小程序查询设备状态,设备全属性上报
*/
void aircondition_query_all()
2.7.2 灯控全属性上报¶
帧头(2Byte) | 协议版本 (1Byte) | 灯控开关(1Byte) | 灯亮度 (1Byte) | 灯颜色模式 (1byte) | 定时 (1byte) | ...... | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|
0xA55A | 0x03(全属性上报) | 0x01,关; 0x02,开; | 0x00~0x64,灯亮度值(0-100); | 0x01:白色; 0x02:橙色;0x03:红色;0x04:紫色;0x05:蓝色;0x06:绿色;0x07:黄色;0x08:音乐; | 0x01,关; 0xA1~0xAC, 一小时~十二小时; |
该协议相关函数代码在app_ble\demo\cias_rgb_msg_deal.c文件中
/**
* @brief 小程序查询设备状态,设备全属性上报
*/
void rgb_query_all()
2.7.3 风扇全属性上报¶
帧头(2Byte) | 协议版本 (1Byte) | 风扇电源(1Byte) | 风扇风速 (1Byte) | 风扇风向 (1byte) | 风扇模式 (1byte) | 左右摇头角度(1byte) | 上下摇头角度(1byte) | 风扇负离子(1Byte) | 风扇定时关机(1Byte) | 播报音量(1Byte) | 语音识别(1Byte) | 定时关机范围设置(2byte) | 风速设置(2byte) | 风模式设置(1Byte) | 风扇驱蚊(1Byte) | 风扇灯光/氛围灯(1Byte) | 风扇暖灯(1Byte) | 风扇加湿/雾化(1Byte) | 风扇制冷(1Byte) | 风扇温度显示(1Byte) | 风扇屏显(1Byte) | 3D摇头(1Byte) | 节能(1Byte) | 除湿(1Byte) | 预约开机(1Byte) | 预约开机范围设置(2byte) | 主动渲染(1Byte) | ...... | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0xA55A | 0x03(全属性上报) | 0x01关; 0x02开; | 0x01~0xFF: 1档风~255档风 | 0x01,关;0x02,开; 0x11,左右关;0x12,左右开; 0x21,上下关;0x22,上下开; 0x31,左右上下关;0x32,左右上下开; | 0x01智能风;0x02宝宝风; 0x03正常风;0x04睡眠风; 0x05自然风;0x06暴风模式; | 0x1E,30度; 0x2D,45度; 0x3C,60度; 0x5A,90度; 0x78,120度; | 0x1E,30度; 0x2D,45度; 0x3C,60度; 0x5A,90度; 0x78,120度; | 0x01关; 0x02开; | 0x01,关; 0xA00xB8,零小时二十四小时; | 0x00 | 0x01关; 0x02开; | byte0(最小定时):零小时二十四小时(0xA00xB8);byte1(最高定时):零小时二十四小时(0xA00xB8); | byte0(最小风速):0x010xFF,1档风255档风;byte1(最高风速):0x010xFF,1档风255档风; | 0x00 | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0xA00xB8,零小时二十四小时; | byte0(最小定时):零小时二十四小时(0xA00xB8);byte1(最高定时):零小时二十四小时(0xA00xB8); | 0x01关; 0x02开;(开:界面点击界面主动改变. 关:界面接收协议再改变.) |
该协议相关函数代码在app_ble\demo\cias_fan_msg_deal.c文件中
/**
* @brief 小程序查询设备状态,设备全属性上报
*/
void fan_query_all()
2.7.4 取暖去全属性上报¶
帧头(2Byte) | 协议版本 (1Byte) | 电源开关(1Byte) | 摇头功能(1Byte) | 负离子 (1byte) | 节能模式 (1byte) | 睡眠模式(1byte) | 屏显功能(1byte) | 氛围灯(1Byte) | 档位调节(1Byte) | 干衣模式(1Byte) | 消毒功能(1Byte) | 定时功能(1Byte) | 目标温度(1Byte) | 湿度调节(1Byte) | 屏显火焰(1Byte) | 播报音量(1Byte) | 冷风控制(1Byte) | 档位设置(1Byte) | 定时设置(2Byte) | 温度设置 (2Byte) | 湿度设置(2Byte) | 当前温度 (1Byte) | 夜灯功能(1Byte) | 变频功能(1Byte) | 散热功能(1Byte) | 语音识别(1Byte) | 主动渲染(1Byte) | ...... | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0xA55A | 0x03(全属性上报) | 0x01关; 0x02开; | 0x01,关摇头; 0x02,开摇头; 0x11,左右摇头关; 0x12,左右摇头开; 0x21,上下摇头关; 0x22,上下摇头开; 0x31,左右上下摇头关; 0x32,左右上下摇头开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01,低档; 0x02,中档; 0x03,高档; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01,关; 0xA10xAC,定时一小时定时十二小时; | 15℃~45℃ (0x0F~0x2D); | 0x01,关闭; 0x02,打开; 0x280x50,湿度40湿度80(5的倍数); | 0x01,关闭; 0x02,打开; 0x11,七彩色; 0x12,红色; 0x13,橙色; 0x14,黄色; 0x15,绿色; 0x16,青色; 0x18,紫色; | 0x00;(小程序未处理) | 0x01关; 0x02开; | 0x00;(小程序未处理) | byte0(最小定时): 零小时二十四小时(0xA00xB8);byte1(最高定时): 零小时二十四小时(0xA00xB8); | byte0(最低温度): 0℃255℃(0x000xFF);byte1(最高温度): 0℃255℃(0x000xFF); | byte0(最低湿度):湿度0湿度100(0x000x64);byte1(最高湿度):湿度0湿度100(0x000x64); | 15℃~45℃ (0x0F~0x2D); | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开; | 0x01关; 0x02开;(开:界面点击界面主动改变. 关:界面接收协议再改变.) |
该协议相关函数代码在app_ble\demo\cias_warmer_msg_deal.c文件中
/**
* @brief 小程序查询设备状态,设备全属性上报
*/
void warmer_query_all()
2.7.5 足浴盆全属性上报¶
帧头(2Byte) | 协议版本 (1Byte) | 足浴盆开关(1Byte) | 温度 (1Byte) | 定时 (1byte) | 按摩 (1byte) | 冲浪(1byte) | 杀菌消毒(1byte) | 播报音量(1Byte) | 语音识别(1Byte) | 设备型号(1Byte) | 设置最高温度(1Byte) | 气泡(1byte) | ...... | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0xA55A | 0x03(全属性上报) | 0x01关; 0x02开; | 35℃~46℃ (0x23~0x2E) | 0x01,关 0x02,开0xA1,定时十分钟 0xA2,定时二十分钟 ......... 0xA5,定时五十分钟 0xA6,定时六十分钟 | 0x01,关 0x02,开; | 0x01,关 0x02,开 | 0x01,关 0x02,开 | 0x01,关 0x02,开 0xF1,音量增大 0xF2,音量减小 0xF3,音量最大 0xF4,音量最小 | 0x01,关;0x02,开 | 0x000xFF(0x000xFF) | 0%100%(0x000x64) | 0x01,关 0x02,开 |
2.8 设备小程序功能设置¶
支持设备端通过协议,选择小程序设备控制界面要展示的功能按键
协议格式:帧头(2Byte)+协议版本(1Byte)+功能设置(nByte)+CRC16校验(2Byte)
帧头(2Byte) | 协议版本 (1Byte) | 功能设置(nByte) | CRC16 (2Byte) |
---|---|---|---|
0xA55A | 0x04(功能设置) | xx.....; |
2.8.1 风扇功能性设置¶
帧头(2Byte) | 协议版本 (1Byte) | 风扇电源(1Byte) | 风扇风速 (1Byte) | 风扇风向 (1byte) | 风扇模式 (1byte) | 左右摇头角度(1byte) | 上下摇头角度(1byte) | 风扇负离子(1Byte) | 风扇定时关机(1Byte) | 播报音量(1Byte) | 语音识别(1Byte) | 风扇驱蚊(1Byte) | 风扇灯光/氛围灯(1Byte) | 风扇暖灯(1Byte) | 风扇加湿/雾化(1Byte) | 风扇制冷(1Byte) | 风扇温度显示(1Byte) | 风扇屏显(1Byte) | 3D摇头(1Byte) | 节能(1Byte) | 除湿(1Byte) | 预约开机(1Byte) | 语音指令(1Byte) | ...... | CRC16 (2Byte) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0xA55A | 0x04(功能设置) | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | bit0(左右摇头):0,隐藏;1,显示;bit1(上下摇头):0,隐藏;1,显示;bit2~bit7:xxxx | bit0(智能风):0,隐藏;1,显示;bit1(宝宝风):0,隐藏;1,显示;bit2(正常风):0,隐藏;1,显示;bit3(睡眠风):0,隐藏;1,显示;bit4(自然风):0,隐藏;1,显示;bit5(暴风风):0,隐藏;1,显示;bit6(xx风):0,隐藏;1,显示;bit7(xx风):0,隐藏;1,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; | 0x01,隐藏; 0x02,显示; |
该协议相关函数代码在app_ble\demo\cias_fan_msg_deal.c文件中
/**
* @brief 小程序查询设备功能设置状态
*/
void fan_app_set()