蓝牙学习之亮度调节

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% → 符合一半亮度

相关推荐
你想知道什么?2 小时前
线性回归-学习笔记
笔记·学习·线性回归
鱼毓屿御2 小时前
从「只会聊」到「边想边做」的跃迁
前端·学习·react.js
AOwhisky3 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
minglie15 小时前
zynq中linux系统的自动登录和免密登录
学习
茯苓gao5 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
我想我不够好。6 小时前
监控学习 7.23 1.5hour
学习
泰勒朗斯8 小时前
Helicopter FBI-405尾电机版本设置
学习
piaoyiren9 小时前
基于 STM32F103 蓝牙遥控云台超声波避障小车
stm32·单片机·嵌入式硬件·蓝牙·超声波测距·直流电机
minglie19 小时前
香橙派zero3配个iic屏显示ip
linux·学习
YUS云生10 小时前
Python学习笔记·第37天:Streamlit入门——用Python直接写网页
笔记·python·学习