蓝牙学习之亮度调节

cpp 复制代码
#define LIGHTNESS_SET		        	0x4C82
#define LIGHTNESS_LINEAR_SET		    0x5082

蓝牙设置亮度的opcode有以上两种

特性 LIGHTNESS_SET LIGHTNESS_LINEAR_SET
亮度语义 感知亮度(Perceived) 线性亮度(Physical)
符合人眼? ✅ 是(Gamma 校正) ❌ 否(物理线性)
0x8000 灯看起来是"柔和的一半亮度" 灯看起来接近"全亮的 2/3"
典型用途 用户手动调光 自动化、照度控制、多灯同步

1.先将两个蓝牙设备亮度调到最低。(一个0x0002,一个0x0004)

.. lightness_0001

<0000>16:43:14:739 INFO:(common)ExecCmd: e8 ff 00 00 00 00 02 00 ff ff 82 4c 01 00 00

<0001>16:43:14:771 INFO:(GATEWAY) gateway mesh cmd sendback src:0001 dst:ffff,opcode is 4c82: 01 00 37

<0002>16:43:15:189 INFO:(cmd_rsp)Status Rsp______________: 02 00 01 00 82 4e 01 00

<0003>16:43:15:252 INFO:(cmd_rsp)Status Rsp______________: 04 00 01 00 82 4e 01 00

<0002>举例说明:

02 00:源地址 0x0002

01 00:目标地址0x0001(gateway)

82 4e:opcode → #define LIGHTNESS_STATUS 0x4E82

01 00 :当前感知亮度 → 0x0001

2.分别使用LIGHTNESS_LINEAR_SET和LIGHTNESS_SET设置0x8000

LIGHTNESS_LINEAR_SET

<0000>16:51:04:552 INFO:(common)ExecCmd: e8 ff 00 00 00 00 02 00 02 00 82 50 00 80 00

<0001>16:51:04:586 INFO:(GATEWAY) gateway mesh cmd sendback src:0001 dst:0002,opcode is 5082: 00 80 38

<0002>16:51:04:618 INFO:(cmd_rsp)Status Rsp______________: 02 00 01 00 82 52 01 00 00 80 4a

<0002>举例说明:

02 00:源地址 0x0002

01 00:目标地址0x0001(gateway)

82 52:opcode → #define LIGHTNESS_LINEAR_STATUS 0x5282

01 00 :当前亮度→ 0x0001

00 80:目标亮度→ 0x8000

4a:过度时间→ 10秒

编码(Hex) 二进制 含义

0x00 00000000 无默认过渡(立即执行)

0x23 00100011 3 × 100ms = 300ms

0x45 01000101 5 × 1s = 5 秒

0x81 10000001 1 × 10s = 10 秒 (0x4A也是10秒)

0xC2 11000010 2 × 10min = 20 分钟

LIGHTNESS_SET

<0003>16:51:20:702 INFO:(common)ExecCmd: e8 ff 00 00 00 00 02 00 04 00 82 4c 00 80 00

<0004>16:51:20:754 INFO:(GATEWAY) gateway mesh cmd sendback src:0001 dst:0004,opcode is 4c82: 00 80 39

<0005>16:51:20:786 INFO:(cmd_rsp)Status Rsp______________: 04 00 01 00 82 4e 01 00 00 80 4a

3.获取两个设备的亮度值,肉眼看亮度是不一样的,实际获取的亮度值也是不一样的

LIGHTNESS_GET

<0006>16:52:08:497 INFO:(common)ExecCmd: e8 ff 00 00 00 00 02 00 ff ff 82 4b

<0007>16:52:08:538 INFO:(GATEWAY) gateway mesh cmd sendback src:0001 dst:ffff,opcode is 4b82NULL

<0008>16:52:08:789 INFO:(cmd_rsp)Status Rsp______________: 02 00 01 00 82 4e 04 b5

<0009>16:52:08:901 INFO:(cmd_rsp)Status Rsp______________: 04 00 01 00 82 4e 00 80

4.结论:SET 是给人看的,LINEAR 是给机器算的

0x0002:0xB504=46340,46340/65535=70% → 符合接近全亮的2/3

0x0004:0x8000=32768,32768/65535=50% → 符合一半亮度

相关推荐
通信小呆呆14 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick14 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee14 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn8614 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e14 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨14 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq14 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan14 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析
guslegend14 天前
理论学习:什么是 Coding Agent?
学习
自传.14 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding