ZigbeeTLc按钮功能详解:4种操作模式让设备控制更简单

ZigbeeTLc按钮功能详解:4种操作模式让设备控制更简单

【免费下载链接】ZigbeeTLcCustom firmware for Zigbee 3.0 IoT devices on the TLSR825x chip项目地址: https://gitcode.com/gh_mirrors/zi/ZigbeeTLc

ZigbeeTLc是一款针对TLSR825x芯片的Zigbee 3.0物联网设备自定义固件,通过简单的按钮操作即可实现设备状态查询、参数配置和系统重置等核心功能。本文将详细介绍该固件支持的4种按钮操作模式,帮助用户轻松掌握设备控制技巧。

一、短按:快速发送数据报告 📊

短按设备按钮(通常按压时间小于2秒)是最常用的操作模式,主要功能是立即发送当前温度、湿度和电池状态数据。这种操作适用于需要实时了解环境数据的场景,例如:

  • 检查刚安装设备的工作状态
  • 验证传感器是否正常采集数据
  • 手动触发数据上报以排除网络延迟问题

实现此功能的核心代码位于src/app_ui.c文件的按键检测逻辑中,当检测到短按事件时,系统会调用app_set_thb_report()函数触发数据上报流程。

二、长按2秒:切换温度单位 🌡️

长按按钮2秒可快速切换温度显示单位(摄氏度/华氏度),切换结果会立即在设备屏幕上更新。操作步骤:

  1. 长按按钮直到屏幕闪烁(约2秒)
  2. 释放按钮后温度单位将切换(℃ ↔ ℉)
  3. 新设置会自动保存,重启设备后仍生效

此功能通过src/app_ui.c中的温度显示模式控制实现:

g_zcl_thermostatUICfgAttrs.TemperatureDisplayMode ^= 1; show_th(); update_lcd();

温度单位设置也可通过Zigbee集群(ClusterID: 0x0204, Attr: 0x0000)进行远程配置,支持0(摄氏度)和1(华氏度)两种取值。

三、长按7秒:Zigbee网络重置 🔄

当设备需要重新加入网络或解决连接问题时,可长按按钮7秒执行Zigbee网络重置。操作特征:

  • 长按7秒后屏幕显示"ooo"(部分设备)
  • 设备将清除现有网络配置并进入待配对状态
  • 重置后需在 Zigbee 网关中重新添加设备

实现代码位于src/app_ui.c:

else if((g_sensorAppCtx.key_on_flag & 2) && clock_time_exceed(g_sensorAppCtx.keyPressedTime, 6900 * 1000)) { show_reset_screen(); tl_bdbReset2FN(); // 执行网络重置 }

注意:此操作仅清除网络配置,用户的其他设置(如温度单位、显示模式)将保留。

四、长按15秒:恢复出厂设置 🗑️

长按按钮15秒将执行完全出厂重置,适用于以下场景:

  • 设备频繁出现异常
  • 需要清除所有用户配置
  • 准备将设备转让给他人使用

操作效果:

  • 清除所有网络配置和用户设置
  • 恢复默认的温度单位、测量间隔等参数
  • 设备重启后进入初始配对状态

实现逻辑在src/app_ui.c中:

if(clock_time_exceed(g_sensorAppCtx.keyPressedTime, 14900 * 1000)) { nv_resetModule(NV_MODULE_APP); // 清除应用配置 init_nv_app(); // 初始化配置 drv_pm_longSleep(PM_SLEEP_MODE_DEEPSLEEP, PM_WAKEUP_SRC_TIMER, 3*1000); }

重置完成后,建议通过ZigbeeTLc OTA工具检查并更新到最新固件版本。

按钮操作注意事项 ⚠️

  1. 设备兼容性:部分无物理按钮的设备(如LYWSD03MMC)可通过短接RESET和GND引脚实现相同功能
  2. 操作反馈:E-Ink屏幕设备可能需要等待刷新完成才能看到操作结果
  3. 电池供电:低电量状态下可能导致长按操作检测不准确,建议先更换电池
  4. 固件版本:按钮功能需固件版本0.1.1.1及以上支持,旧版本用户可通过Zigbee OTA更新获取新功能

通过掌握这四种按钮操作模式,您可以轻松管理ZigbeeTLc固件设备的日常使用和维护。如需了解更多高级配置选项,可参考项目README.md文档中的"Additional settings"章节。

【免费下载链接】ZigbeeTLcCustom firmware for Zigbee 3.0 IoT devices on the TLSR825x chip项目地址: https://gitcode.com/gh_mirrors/zi/ZigbeeTLc

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考