person
新年好呀~来更新一下许久未更新的博客。

前言

家中因为家电买的早,也没有什么换的机会,就打算把家中的设备改造成智能设备。
之前就有看到过HomeBridge这个项目,但是大多数教程都是 米家->AppleHome的教程
故鸽了一段时间,最开始也想过模拟ZigBee协议,但是一看ZigBee实现还需要额外成本。
就这样,在除夕前夕研究了一下HomeBridge,故有了本文。

演示设备:
树莓派3B
温湿度DHT11
红外传感器..淘宝搜 树莓派红外传感器 就行,不记得型号了
继电器记得买带GPIO口的!

你需要准备...

一个IOS/MacOS设备,用于连接HomeKit。
一个树莓派或其他支持GPIO的开发板。
以上是基础,你必须得有的。
以下是实现智能家居的一些模块
一个红外接收/发射模块
一个温湿度传感器(DHT11)
一个人体红外传感器
继电器若干?

成果

唔...因为昨晚一直没记录过程,教程的图片可能是网上搜来的(抱歉啦
享受这个过程吧!
QQ图片20190205124424.jpg
通过Siri操作的快乐!!(虽然真的很傻)
QQ图片20190205124622.jpg

大冬天的正在让房子变凉...

开干~

配置树莓派

​​‌‌​​​‌‌​‌​​‌‌‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​‌​‌‍‌​‌‌​​​‌‍‌​​‌​​​​‍‌‌​‌‌‌‌‌‍‌​‌‌​‌‌‌‍‌​​‌​​​​‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​‌‌​‌​​‍‌​​‌​‌‌​‍‌​​​‌​‌‌‍‌‌​​​​​​‍‌​‌‌​​​‌‍‌​​‌​​​​‍‌‌​‌‌‌‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​‌‍‌​​‌​​​​‍‌​​‌‌‌​‌‍‌​​‌​​‌‌‍‌​​‌‌​‌​‍‌​​‌​​‌​‍‌‌​‌‌‌‌​‍‌‌​‌‌‌‌‌‍‌‌​​‌‌‌‌‍​​‌‌​​‌‌​​​​‌​‌‍​‌‌‌‌‌‌‌​​​​​​‌​‍​‌​​‌​​​‌‌‌​​‌‌‍​‌​‌‌‌​‌​​‌​‌‌‌‍​​‌‌​‌‌‌‌​‌​​‌​‍​‌​​​​‌​​​​​‌​‌‍​​‌‌​​‌‌​​​​‌​‌‍​‌‌‌‌‌‌‌​​​​​​‌​‍​‌​​‌​​​‌​​‌​​‌‍​‌​​​‌‌‌​‌‌‌​‌​‍​​​​​​​​‌‌‌‌‌‌‌​‍​​‌‌‌‌‌‌‌‌​‌​​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​​‌​​​​‍‌​​​‌​‌​‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​‌​‌‌​‍‌​​‌​​‌​‍‌​​‌‌​‌​‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌‌​‍‌‌​​​‌‌​‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌‌​‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌​‌​‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌‌‌​‌‍‌​​‌​​‌‌‍‌​​‌​​​​‍‌​​‌‌​​​‍‌‌​‌​​​‌‍‌​​​‌​‌‌‍‌​​‌​‌‌​‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​​​‌​​​‍‌​​‌​‌​​‍‌‌​‌​​​‌‍‌​​‌‌‌​​‍‌​​‌​​​‌‍‌​‌​​​‌‌‍‌​​‌‌​‌​‍‌​​​​‌‌‌‍‌​​​‌‌‌‌‍‌​‌​​​‌‌‍‌‌​​‌‌​‌‍‌‌​​‌‌​​‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌‍​​‌‌‌‌‌‌‌‌‌‌​‌‍‌​‌​‌​‌‌‍‌​​‌​‌‌​‍‌​​‌​​‌​‍‌​​‌‌​‌​‍‌​‌​‌​‌‌‍‌​​​‌‌​‌‍‌​​‌‌​‌​‍‌​​‌‌​‌​‍‌​‌​‌‌​​‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌​​‌‌​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​​‍​​​‌‌​‌‌​‌‌​‌‌‌‍​​‌‌​​​‌​‌‌‌‌​​‍​​‌‌‌​‌‌​‌‌‌‌‌‌‍​​‌‌​​​‌‌‌‌​‌‌​

这步我们省去吧..
大概就是配置时区和更换软件源到国内。

安装HomeBridge

安装Nodejs

树莓派是ARM7,所以我们去官网下载对应安装包。

wget -O nodejs.tar.gz https://npm.taobao.org/mirrors/node/v10.15.1/node-v10.15.1-linux-armv7l.tar.gz

然后解压

tar -xzvf nodejs.tar.gz

Nodejs的安装很简单,移动目录就行。

mv 刚刚解压出来的目录 /usr/local/node

然后测试一下 node -vnpm -v
就安装完成了。

另一种方法?

唔,其实有更简单的方法哈哈哈

sudo apt-get install nodejs
sudo apt-get install npm

安装完成。

安装HomeBridge

sudo npm install -g --unsafe-perm homebridge

一条命令就可以了~
接下来的模块安装,都要记得带上 -g 和 --unsafe-perm 不然可能会遇到问题。(这两个参数一个是全局安装,一个是忽略权限问题。)

启动HomeBridge

安装完成后,键入命令

homebridge

即可启动HomeBridge,启动完成后,就可以打开"家庭"APP,去添加设备了。
屏幕上会有 xxx-xx-xxx 的配对码,新版本还会有二维码可供扫描。
如果发现添加不了,请确保树莓派与你在同一网段内。
QQ截图20190205125842.png

个性化你的HomeBridge

HomeBridge的配置文件存放在

~/.homebridge

目录下的 config.json
研究了一会,一共是有3个节点
"bridge"、"platforms"和"accessories"
分别是 HomeBridge本身配置,提供服务的平台配置,和家居模块配置。

"bridge": {
                "name": "HomeBridge的名字",
                "username": "六组2位16进制以冒号分隔的ID?",
                "port": 启动端口,
                "pin": "xxx-xx-xxx的配对码"
        },

以上是HomeBridge的配置块
以下是我的配置

"bridge": {
                "name": "TimeHome",
                "username": "CC:22:3D:E3:CE:23",
                "port": 51826,
                "pin": "021-62-160"
        },

以上,就完成了HomeBridge的自定义。

Config.json的讲解

这是一个比较重要的部分,所以放到前头来讲。
一共三个配置块,一般来说配置好"homebridge"和"accessories"即可
"patforms"是用于提供服务的,如开放一个HTTP服务器,能够查询到HomeBridge的工作状态信息。
整体配置结构是这样子的:

{
    "bridge": { //HomeBridge配置
        "name": "TimeHome",
        "username": "CC:22:3D:E3:CE:23",
        "port": 51826,
        "pin": "021-62-160"
    },
    "platforms": [ //平台配置块
    { //第一个元素,也就是第一个平台模块
        "platform": "对应平台模块名",
            /*平台的配置*/
    }

],

    "accessories": [{
            一个模块
        },
        {
            第二个
        },
        {
            第三个
        },
        {
            第四个
        }
    ]
}

便于观察,我拆开来了一些括号。
这就是配置新模块的方式。
配置项一般会在项目中提及,一般都会有配置示例。

安装模块

如何安装?以及如何寻找?

寻找非常简单,https://www.npmjs.com/
点一下,玩一年!(误)
HomeBridge的模块大多数开发者会上传到NPMJS平台上,
所以我们很方便的可以用 homebridge+关键词搜索到我们需要的东西。
比如 homebridge http
就可以搜出来很多通过HTTP控制模块的插件,
通过HTTP可以让很多不会Nodejs的萌新轻松上手自己的智能家居。
那么安装呢?

npm i -g [模块名] --unsafe-perm

done!

我所用到的模块

https://www.npmjs.com/package/homebridge-http-switch
HTTP控制开关。
https://github.com/Taosky/homebridge-lirc-aircon
通过LIRC控制空调
https://www.npmjs.com/package/homebridge-dht-rpi
DHT11温湿度传感器模块
https://www.npmjs.com/package/homebridge-hc-sr501
人体传感器

Tips:homebridge + 模块型号 可以准确找到你需要的模块!

继电器部分就通过HTTP来控制啦~

玩得愉快~Enjoy it!

新评论