前言
论坛里不少人说需要一个DIY固件的教程,这不,它来了,对于教程中说的不清楚的地方,请大家积极回应,我一有时间就会解答的。
因为PTVO只支持TI方案,使用其他模块的,只能看看或绕路。
最重要的一点,因为原软件是英文的,虽然支持多语言,但是中文实在没办法看,打了几天教程底稿觉得不合适,于是联系作者,重新制作了一个符合汉化的语言包,老外己在2023-11-17以后的软件中更新,如后续大家对于汉化中觉得哪不好,我会对汉化包进行专门维护的。
基础描述
PTVO软件为了让固件更符合多方面的应用。做了不少的定义规则。
指示灯的默认定义
- 当指定了LED灯的GPIO后,LED是分默认状态和设定状态。优先级是先默认状态,再设定状态
- 常规状态:闪3次快闪3次闪9次停4秒(注:此种方式与作者说的有些差异,还待核实中)
- 失去连接状态:快闪3次(注:作者说是当与协调器失联时会出现,还待核实中)
配对的默认定义
- 刷新固件会复位后自动进入配对状态,只需要在z2m或者zha打开添加新设备后就可以
- 终端设备或路由器固件在 30 分钟内尝试连接到网络。如果所有尝试都失败,将暂停15 分钟。(注:暂停期间,是搜索不到新硬件的)
- 具有节能功能的固件(PSM)尝试连接 1 分钟,在尝试失败后进入深度睡眠模式。你可以通过点击设定的“输入 1 ”按钮来延长连接周期
重配对的默认定义
- 方法一:通电2秒,断电,重复三次。(注:如果固件生成时,选择了“禁止通过电源开/关方式重置设备”,则此方法无效)
- 方法二:在“输入 1 ”上配置了 GPIO 或“外部唤醒”按钮,按住该按钮 10 秒钟。将进入重新配对模式
第一篇:GPIO输入输出
基础:上拉与下拉
软件作者有希望大家深入了解GPIO的上拉与下拉的定义,特地告诉大家从
https://en.wikipedia.org/wiki/pull-up_resistor去看一下基本介绍
由于cc2530的内部上拉和下拉有很多限制,少了很多灵活性,所以推荐大家使用外部的上拉和下拉
官方推荐外部上拉和外部下拉的电阻值为4.7K
GPIO 输入
GPIO输入在电路中最常用的方式是接入开关。为方便学习,以下基本上以开关作为介绍

注意:“输入1”,被默认定义为“重置键”,在设置成轻触开关模式时,长按10秒,会进入出厂设置。
- 输入类型:两种类似互斥
- A、开关型:指通过给GPIO接高低电平,形成相应的开、关状态
- B、按钮型:指通过触发按键,形成点击、双击、三击的触发类状态信息

说明
- 反转:默认情况下,固件将输入引脚上的低电平状态作为按钮的按下状态。如果启用此选项,则高电平状态表示按下按钮。此选项与“上拉或下拉”模式结合使用。例如,如果你选择下拉模式并设置“反转”选项,则逻辑反转两次,固件将把输入上的低状态作为按钮的按下状态
- 链接到输出X:输入立即控制链接的输出状态(例如,输入 1–输出 1)。设备将输出的开/关状态发送到协调器
- 开关:输入作为开关工作。仅 ON(按下)/OFF(释放)状态。如果输入链接到相应的输出,则此选项有效。当开关改变状态时,固件立即报告输出的状态。输出可以是虚拟的,并分配给任何未使用的引脚
- 长按:相当于单击,固件检测并向协调器报告长时间点击(2000 毫秒)。当按钮未按下时,固件还会发送释放 ** 事件
- 双击:固件检测并报告双击(两次单击之间最长间隔 500 毫秒)
- 三击:固件检测并报告三次点击(点击之间最多 500 毫秒)
- 切换:此选项显示为开关输入。开关的工作原理类似于切换按钮。但是因为可以通过外部命令来改变开/关状态,所以物理按钮位置可以不同于输出状态
GPIO 输出

说明
- 反转:默认情况下,当逻辑状态开启时,固件将输出引脚设置为高电平。你可以使用此选项反转该逻辑
- 记住状态:固件将输出状态保存到 NVRAM,并在电源关闭/打开后恢复。此外,此选项适用于某些传感器(计数器、PWM)
- 角色:一般默认使用“通用”。此选项允许你指定相应输出的角色。配置器仅在为 Z2M 创建自定义转换器时使用此选项。因此,输出可能在前端或家庭助理中具有不同的图标和相关联的动作
为大家准备了几个“小玩具”,方便大家学习和调试:
- 扩展底板:

- 特点:
- 短接帽插到左边,切换到按键模式(外部上拉);
- 短接帽查到右边,切换到LED灯模式(外部上拉),方便同一个GPIO输入与输出的切换测试;
- led灯采用了不同的颜色,方便测试者查看状态,防止多路gpio输出时,需要反复确认gpio的状态;
- 电源接口采用目前通用的TypeC接口供电,通用性比较强;
- SmartRf04EB烧录夹

- 模块+底板+烧录夹

- 模块+烧录夹
