2018年,写过一篇《用树莓派构建智能家居中枢 HomeAssistant HomeBridge》,2021年了,玩法更加简单灵活,更新一期,带你通过树莓派或其他设备的几个简单的命令,改造家里的老电器,完美实现智能家居。
树莓派镜像推荐
Debian-Pi-Aarch64是我用过以来,树莓派发挥性能最高的ARM64位操作系统了,底层是debian,上层镜像发布者做了大量的软件预装,挑选这个镜像的主要原因是,一方面系统性能优秀,另一方面我们一会要用到docker,如果对系统介意,大家也可以使用官方raspbian,安装docker
Debian-Pi-Aarch64下载地址:https://github.com/openfans-community-offical/Debian-Pi-Aarch64/
官方镜像有很多很炫酷的功能,比如win10虚拟机、深度桌面,有兴趣的可以体验一下,但对我们来说,下载无桌面增强版即可,我安装的也是这个版本。
测试项目 | ARM32/EXT4 | ARM64/EXT4 | 测试单位:时间/越小越好 |
---|---|---|---|
系统 | 2019-06-20 raspbian-buster | 2019-07-06 树莓派爱好者基地64位 2.0 Beta版 | 提升倍数 |
单线程 | 92.7292 | 6.7406 | 13.757 |
四线程 | 231.6591 | 16.8172 | 13.775 |
八线程 | 231.5002 | 16.8282 | 13.757 |
内存随机 | 2.4225 | 0.6086 | 3.980 |
内存连续 | 2.5631 | 0.9267 | 2.766 |
文件连续读写 | 6.3636 | 1.8859 | 3.374 |
文件随机读写 | 627.719 | 10.6036 | 59.199 |
互斥锁性能(4096) | 0.0206 | 0.0081 | 2.543 |
Docker
系统自带docker,如果不用该镜像,请自行安装docker。
我们要做的,就是配置docker注册表镜像服务。
vim /etc/docker/daemon.json
增加如下镜像地址:
{
"registry-mirrors": ["https://hub-mirror.c.163.com","https://mirror.baidubce.com"]
}
Homebridge
安装好系统后,我们创建docker专用目录,准备安装homebridge。
mkdir /docker
cd /docker
mkdir homebridge
cd homebridge
mkdir data
新建一个docker-compose.yml
文件,创建oznu/homebridge
镜像,以host的网络模式创建,确保树莓派与家中所有智能家居处于同一内网,端口是8581
。
version: '3'
services:
homebridge:
image: oznu/homebridge:ubuntu
restart: always
network_mode: host
ports:
- "8581:8581"
environment:
- PGID=1000
- PUID=1000
- HOMEBRIDGE_CONFIG_UI=1
- HOMEBRIDGE_CONFIG_UI_PORT=8581
- TZ=Canberra/Australia
volumes:
- ./data:/homebridge
配置
用户名 admin
密码 admin
iPhone 打开家庭app, 点击右上角加号+,添加配件。
这样,我们就可以在控制台中自由的添加家中的电器了,会自动同步到家庭app中。
插件
在插件页面中,通过搜索,可以快速添加家中的老设备,我来举个例子。
三星电视
我家的三星电视是2010年左右购入,设备较老,肯定没有homekit,搜索samsung,下载samsung tv conrol,安装。将家中电视连入Wi-Fi,参考readme,获取usn
,token
,点击插件的设置按钮,进行配置。
配置完毕后,即可在家庭app中查看到,可以开关电视、换台、调整音量。
Yeelight灯
Yeelight灯是之前心血来潮购入的,可惜只支持米家体系,我们通过搜索yeeligt关键字,安装yeelighter
插件,通过简单的配置,即可实现homekit控制。
该插件会自动搜索yeelight灯,自动配置,理论上安装后就能看到,具体微调参数如下:
米家扫拖机器人
米家扫拖机器人也是一样的,不支持homekit,搜索xiaomi
找到Homebridge Xiaomi Roborock Vacuum
插件,安装它,随后需要查看文档如何获取token,配置好ip和token后,立即可用。
可以实现远程控制扫拖,显示电量,美中不足的是,无法设置回家功能。
摄像头
其实你完全不需要额外购买其他设备,你只需要有一个usb摄像头,将它插入树莓派,并且安装Homebridge Camera FFmpeg
插件,搜索homebridge-camera-ffmpeg
并安装,设置你的USB Camera即可。
具体配置如下:
{
"platform": "Camera-ffmpeg",
"videoProcessor": "/usr/local/bin/ffmpeg",
"cameras": [
{
"name": "BasementCam",
"videoConfig": {
"source": "-re -f v4l2 -video_size 1280x720 -i /dev/video0",
"stillImageSource": "-f video4linux2 -input_format mjpeg -video_size 1280x720 -ss 0.9 -i /dev/video0 -frames:v 1",
"maxStreams": 2,
"maxWidth": 1280,
"maxHeight": 720,
"audio": false,
"vcodec": "h264_omx",
"debug": false
}
}
]
}
自动化
通过家庭APP,由于苹果考虑隐私和安全的权衡,美中不足的是无法远程控制。其实也非常简单,只要在家中的iPad设备一直在家,可以在iPad中设为家庭中枢,转发这些流量至互联网。
- 轻点“设置”>“[您的姓名]”>“iCloud”,确保您已使用在“家庭”App 中设置 HomeKit 配件时所用的 Apple ID 登录 iCloud。
- 向下滚动,然后确认“家庭”已打开。
- 轻点“设置”>“家庭”,然后打开“将此 iPad 用作家居中枢”。
此后,便可设置很多场景,根据iPad中的提示,可以设置自己舒心的自动化场景,将家中的家电串联起来。
别忘了,你还可以用Siri,睡觉时,只需要”Hey Siri,关灯“,超好用,享受现代生活。