主桥电磁锁
通过树莓派GPIO线控制电磁锁并暴露它 Apple Home作为一个锁机制。
2.0.2版本使用了一个Homebridge动态平台,它是为 Homebridge 2与Node.js 22.12或24。
安全的行为
- 在安全状态下直接请求GPIO线,包括请求 继电器校验。
- 配置完成后,锁自动恢复到安全状态 开启持续时间。
- Homebridge和HomeKit状态一起更新。
- GPIO故障显示为卡住锁定而不是主桥崩溃。
- 在关闭期间,插件在释放控件之前写入安全值 GPIO线。
测试继电器逻辑不连接锁定电源。硬件设计 必须在树莓派断电或GPIO线时提供安全状态 被释放。
需求
- Homebridge 2.倍
- node . js 22.12。X或24.x
- Raspberry Pi OS / Debian with libgpiodX开发包
- 一个适合树莓派3.3 V GPIO的中继接口
在Debian 12 /树莓派操作系统上:
sudo apt update
sudo apt install -y build-essential gpiod libgpiod-dev
Homebridge业务用户必须具有访问权限 /dev/gpiochip*。
在标准的树莓派操作系统安装中,这通常意味着加入
这个 gpio 组:
sudo usermod -aG gpio homebridge
sudo hb-service restart
安装
sudo npm install -g homebridge-electromagnetic-lock
Homebridge用户界面也可以通过搜索安装包
homebridge-electromagnetic-lock。
配置
新安装应使用动态平台:
{
"platform": "ElectromagneticLock",
"name": "Lock",
"lockPin": 18,
"gpioChip": 0,
"activeLow": true,
"unlockingDuration": 2
}
name: Apple Home显示的配件名称。lockPin: BCM GPIO / libgpiod行号,不是物理头引脚。gpioChip: libgpiod芯片号;正常情况下0。activeLow:true当GPIO值为0时激活继电器。unlockingDuration:自动重新锁定前的秒数,取值范围为1 ~ 3600。
例如,树莓派物理头引脚12是BCM GPIO 18,所以配置
"lockPin": 18。
升级
从2.0.1
旧的附件配置在2.0.2中仍然受支持,因此存在 安装继续启动:
{
"accessory": "ElectromagneticLock",
"name": "Lock",
"lockPin": 18,
"gpioChip": 0,
"activeLow": true,
"unlockingDuration": 2
}
要使用动态平台,请将该块从 accessories 然后加上
新建街区 platforms. 不要让两个配置都处于激活状态,因为两者都
将尝试保留相同的GPIO线。
从1.倍
版本2更改了后端 rpi-gpio/sysfs to libgpiod。这个
lockPin 选项现在是BCM GPIO行号,而不是物理标头
销。例如,将物理引脚12替换为 "lockPin": 18。
故障排除
- 确认芯片与线路的配合
gpioinfo。 - 确认Homebridge业务用户可以访问
/dev/gpiochip*。 - 安装
libgpiod-dev在安装NPM包之前,因为原生的 GPIO绑定是本地编译的。 - 在调试模式下运行Homebridge并查找插件的GPIO初始化 消息。