准备工具


涉及到的工具如下:

  • 带灯配件(购于淘宝)
  • USB扩展器
  • ----------如果不需要自动控制,下面的工具就不需要了------
  • 树莓派
  • 继电器
  • 杜邦线(导线)
  • 剪线钳
  • 螺丝刀
  • 镊子
  • 绝缘胶布
  • 焊台、焊锡和松香(可选,如果想让接线更牢固,建议使用)

改装加灯

原始状态


官方原图
参考购买链接: 京东网上商城

带灯配件

我是直接在淘宝上搜的乐高宠物店灯,找到的一家店。买过来的配件会自带安装说明书,每一步讲的都很详细。另外如果不需要用树莓派自动控制,直接配一个USB HUB就可以亮起来了!

开始改装加灯

因为说明书里面会讲的很详细,我这里就不赘述了,简单的放几张过程图。

上来先测一下灯都是OK的

开始拆解左侧楼

装完一层外墙灯

盖上二楼

盖上三楼

通电测试

拆解右侧楼

一层待安装灯状态

一层安装好灯后状态

右侧外墙灯通电测试


安装完外墙灯、室内灯和路灯后的整体通电测试。
到这一步,就完成了改装加灯过程,不需要自动控制的,通过控制USB HUB开关就可以了。

继电器接线

输出端接线

参考图中所示,我们将USB线的其中一根线剪短,分别接到继电器的"公共端"和"常闭端"(从省电考虑其实这里应该接"常开端",在继电器断电的情况下,灯光是关闭的,但是这里我比较懒就随便接了)

我这里接线之后,用焊锡固定了一下


然后再用绝缘胶布缠一下,完成。当然还有其他专业的接线方式,我这属于野路子,大佬们不要喷我

控制端接线


这个四路继电器控制端共有6个接线端口,从VCC开始到GND。分别接线是:

  • 5V
  • 控制4
  • 控制3
  • 控制2
  • 控制1
  • 接地

接到树莓派对应的GPIO管脚就可以了,例如我这次接的就是

  • 5V 对应 2号管脚
  • 控制4 对应 22号管脚(GPIO6)
  • 控制3 对应 18号管脚(GPIO5)
  • 控制2 对应 16号管脚(GPIO4)
  • 控制1 对应 12号管脚(GPIO1)
  • 接地 对应 14号管脚

通过树莓派控制GPIO

安装WiringPi


否则可以按照官网的步骤安装一下,参见: Raspberry Pi | Wiring | Download & Install | Wiring Pi

了解线路

通过输入gpio readall命令来查看针脚对应的GPIO编号

控制GPIO输出

当树莓派和继电器接线接好之后,就可以通过gpio write 1 1 这个命令向继电器的1号控制器发送高电平,同时点亮该控制器对应的灯光。

配置HomeKit

安装homebridge

如果想通过HomeKit来控制继电器,就要通过树莓派上安装的homebridge来进行HomeKit设备的桥接。具体的安装方法参见项目地址吧: https://github.com/nfarina/homebridge

安装homebridge控制gpio包

homebridge-gpio-wpi2  -  npm

修改homebridge配置config.json

修改后的配置如下:

{
  "bridge": {
    "name": "网关桥",
    "username": "A8:1B:6A:3A:09:DB",
    "port": 51826,
    "pin": "111-11-111"
  },
  "platforms": [{
      "platform": "WiringPiPlatform",
      "name": "Pi GPIO (WiringPi)",
      "overrideCache": "true",
      "autoExport": "true",
      "gpiopins": [{
          "name": "路灯",
          "pin": 18,
          "enabled": "true",
          "mode": "out",
          "pull": "down",
          "inverted": "false",
          "duration": 3600000,
          "polling": "true"
        }, {
          "name": "室内灯",
          "pin": 23,
          "enabled": "true",
          "mode": "out",
          "pull": "down",
          "inverted": "false",
          "duration": 3600000
        },
        {
          "name": "室内灯",
          "pin": 24,
          "enabled": "true",
          "mode": "out",
          "pull": "down",
          "inverted": "false",
          "duration": 3600000
        },
        {
          "name": "外墙灯",
          "pin": 25,
          "enabled": "true",
          "mode": "out",
          "pull": "down",
          "inverted": "false",
          "duration": 3600000
        }

      ]
    }    
  ]

}

这里需要注意的是这里的pin值不是管脚号,也不是GPIO编号,而是表中的BCM值

完成配置

当这些都配置完之后,启动homebridge,然后打开iOS的"家庭"应用来查看相关设备,如下如所示:

完成收工

简单录了个视频: