内容简介:在这篇文章将从零开始,向你介绍如何通过在树莓派安装 HomeBridge,将几个典型的米家设备接入到 HomeKit 中。准备好了吗?那我们话不说,直接开始吧。在开始之前,我们首先得购买对应的硬件设备。在这个方案中,你需要准备的有这些东西:
在 如何让米家设备轻松接入 HomeKit? 这篇文章中,我看到了大家对于 HomeKit 的热情,不少小伙伴都表示,文章里主要介绍了不同的方向,但在实际操作过程,想要一份更清晰的「说明书」。想来上一次写接入 HomeKit 的文章已经是 2016 年,正好就趁着这个机会来更新一下。
这篇文章将从零开始,向你介绍如何通过在树莓派安装 HomeBridge,将几个典型的米家设备接入到 HomeKit 中。准备好了吗?那我们话不说,直接开始吧。
你需要准备的东西
在开始之前,我们首先得购买对应的硬件设备。在这个方案中,你需要准备的有这些东西:
- 一台电脑(此处以 Mac 为例子)
- 一个树莓派(建议 3B+ 及以上)
- 一张 16GB 以上的 TF 卡和读卡器(用来给树莓派装系统)
- 一根 MicroUSB 线(给树莓派连接电源,如果是树莓派 4,则需要准备一根 USB-C 线)
- 一个安卓模拟器
- 有了这些硬件设备之后,我们就可以开始在电脑上进行操作了
当然了,这里只是以我的环境作为例子,如果你想在其他平台上安装 HomeBridge 肯定也是没问题的,官方也给出了对应的安装指南。只不过考虑到要保持接入家居的实时可用性,就需要一台常开的设备来运行 HomeBridge,所以树莓派无论是在功耗还是性价比上,都是再合适不过的选择。
macOS 和 Linux 的小伙伴可以用系统自带的终端进行操作,而 Windows 的小朋友们可以选择刚推出不久的 Windows Terminal。
给树莓派安装系统
首先自然是给树莓派安装 Raspbian 系统。打开 这个网站 ,并选择「Raspbian Buster with desktop」进行下载。
至于为什么选择它的原因,主要有两点:一是「Raspbian Buster with desktop and recommended software」解压之后的系统镜像比较大,会占用更多空间,而它所推荐的软件都是我们不需要的;二是我并不确定 lite 版的系统是否缺失一些必要的支持,因此最保险的还是选择「Raspbian Buster with desktop」版本的系统。
下载好 zip 文件之后解压,可以获得一个 img 格式的镜像文件。这时候将我们的 TF 卡连接到电脑上,打开 balenaEtcher 这款软件,选择刚刚解压好的 Raspbian 系统,将它刷进 TF 卡中。
大约十分钟之后,你就拥有了一张能够让树莓派启动的「系统盘」了。不过这时候先不要着急着给树莓派开机,因为我们还需要做一些设置,好让电脑能够直接无线远程连接到树莓派,省去插拔 HDMI 和键鼠的麻烦。
将 TF 卡重新连接到电脑,可以看到一个名为 boot 的磁盘。接着,我们打开终端,依次输入下面的代码:
cd /Volumes/boot touch ssh touch wpa_supplicant.conf sudo nano wpa_supplicant.conf
输入完之后,会提示你需要密码。这里输入你电脑的登陆密码即可。 需要提醒的是,输入密码的过程中终端不会显示任何内容,输入完回车就行了。 完成之后,你会在终端进入到一个文本编辑器中。在编辑器内复制以下内容,并将对应 Wi-Fi 的 SSID 和密码改成你家的。
country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="你家Wi-Fi的名称" psk="你家Wi-Fi的密码" key_mgmt=WPA-PSK priority=1 }
需要提醒的是,如果你家的 ssid 是隐藏的,那么就需要在 priority=1
的后面加入一条 scan_ssid=1
的参数。
设置完成后,按下 ⌃control+X
,然后输入 y
并按下回车键进行保存,就可以将 TF 卡插入树莓派,连接电源开机启动了。回到 Mac 上,我们继续用终端进行操作。
安装 HomeBridge
要正式开始安装 HomeBridge 了。跟着下面的步骤一步一步来,你也可以在一杯咖啡的时间里,将 HomeBridge 轻松地安装在树莓派上。
不过在此之前,你需要到路由器后台,找到树莓派的局域网 IP 地址。接着在终端内输入
ssh pi@树莓派的IP地址
随后,电脑可能会向你问一个问题,不用管它问什么,直接输入 yes
,然后输入连接树莓派的 ssh 默认密码: raspberry 。
再次需要提醒的是,输入密码的过程中终端不会显示任何内容,输入完回车就行了。如果出现了下面的界面,说明连接就成功建立了。
第二步,是对树莓派内置软件源进行更换。由于众所周知的原因,Raspbian 在更新软件包时可能会遇到速度缓慢甚至是无法更新的问题,因此我们将国外的软件源更换为国内的清华镜像源,加快连接速度。替换软件源的很简单,按照下面的操作步骤执行即可。
sudo nano /etc/apt/sources.list
将原有的内容删除,或是加 # 进行注释,并替换为下面的内容:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
完成后,按下 ⌃control+X
,然后输入 y
回车进行保存。接着,继续修改 /etc/apt/sources.list.d/raspi.list
文件,输入:
sudo nano /etc/apt/sources.list.d/raspi.list
将里面内容用下面的内容取代,然后同样用上面的方法进行保存:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
完成后,先进行一遍软件源更新。在终端中依次输入以下代码:
sudo apt-get update sudo apt-get upgrade
中途会询问你,是否进行更新,输入 y
之后回车即可。好了,等待十分钟左右,你就可以将树莓派里的软件包都更新到最新的版本了。
现在,我们可以正式开始安装 HomeBridge,话不多说,直接依次在终端中执行下面的代码:
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - sudo apt-get install -y nodejs gcc g++ make python node -v sudo npm i -g npm sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x sudo hb-service install --user homebridge
需要注意,第二步和第五步由于需要从国外的服务器下载对应的软件包,因此建议大家配置一下网络环境,不然可能会十分慢。其次,第三步中, node -v
的含义是为了查看安装的 node 版本。如果输入之后得到类似 v12.X.X
的结果,那就说明 node 安装成功,可以进行下一步。
跑完所有代码之后,HomeBridge 便已经成功部署在了树莓派上,接下来我们就可以安装对应的插件,将米家设备接入到 HomeKit 中。
安装插件,编写 config.json
得益于安装了 homebridge-config-ui-x 这一款插件,现在你可以打开一个浏览器,输入上面返回的任意一个 IP 地址,进入 HomeBridge 后台管理界面(默认的账户密码都是 admin
)。
进入到这里之后,我们就可以在插件页面搜索对应的米家插件进行安装。这里我推荐来自「 deserteagle 」(GitHub 用户名为
银行码
YinHangCode)的米家插件,不仅种类较多,而且基本上都能长期稳定工作。这里我们以米家空气净化器和米家空调伴侣作为例子,演示如何将它们接入 HomeKit 中。
首先,在插件页面用关键词搜索到对应的插件,点击安装。两款插件安装完成后,来到配置页面,开始编写 config.json。
说到编写 config.json 这个文件,就到了新手最头疼的地方。但其实不用害怕,都是四级水平不到的英语,理解起来并不困难。 但请一定一定要认真阅读一遍作者的 Readme 和 config 例子,不然你必然会出现错误。
这里我贴出我的一部分 config.json,对里面的内容进行细致的讲解。不过需要注意的是,json 格式的文件并不支持注释,如果需要使用这份 config.json 文件,除了需要将对应内容更改为你的设备之外,还需要 删除掉 #
和后面的中文注释 。
另外还需要提醒大家的是,json 文件的 {}
、 []
、 ,
等符号一定不能弄错,否则一定会报错。如果是运行时提示 config 文件出现错误,首先检查自己是不是哪里打多了一个 ,
,或者是哪里遗漏了一个括号,再检查语法是否正确。
{ "bridge": { #homebridge基础设置,大部分都不需要修改 "name": "HomeBridge", "username": "00:00:00:00:00:02", "port": 58888, "pin": "199-71-226" #你在家庭应用进行配对时的配对码,支持自定义 }, "platforms": [ { "platform": "MiAirPurifierPlatform", #插件平台名称,固定不可更改 "deviceCfgs": [ { "type": "MiAirPurifier2S", #型号名称,固定不可更改 "ip": "192.168.1.195", #空气净化器的IP地址 "token": "b5d7120997c45761f3adac05887c5fc2", #空气净化器的token "airPurifierDisable": false, #是否在家庭应用中不显示空气净化器 "airPurifierName": "空气净化器", #在家庭应用中显示的名称 "silentModeSwitchDisable": false, #是否在家庭应用中不显示空净睡眠模式开关 "silentModeSwitchName": "空净睡眠模式", #在家庭应用中显示的名称 "temperatureDisable": false, #是否在家庭应用中不显示空净检测的环境温度 "temperatureName": "温度", #在家庭应用中显示的名称 "humidityDisable": false, #是否在家庭应用中不显示空净检测的环境湿度 "humidityName": "湿度", #在家庭应用中显示的名称 "buzzerSwitchDisable": true, #是否在家庭应用中不显示空净的静音开关 "buzzerSwitchName": "MiAirPurifier2S Buzzer Switch", #在家庭应用中显示的名称 "ledBulbDisable": true, #是否在家庭应用中不显示空净的屏幕显示开关 "ledBulbName": "空气净化器显示屏", #在家庭应用中显示的名称 "airQualityDisable": false, #是否在家庭应用中不显示空净检测的空气质量 "airQualityName": "空气质量" #在家庭应用中显示的名称 } ] },{ "name": "Config", #这部分不需要修改,是homebridge UI插件自动生成的 "port": 8581, "auth": "form", "theme": "pink", "tempUnits": "c", "platform": "config" } ], "accessories": [ #是使用「platform」还是「accessories」,需要根据插件的说明进行选择 { "accessory": "MiHeaterCooler", #插件名称,固定不可更改 "name": "空调", #在家庭应用中显示的名称 "address": "192.168.1.146", #空调伴侣的IP地址 "token": "5ff11db226e994e41a4b7653cd713c6f", #空调伴侣的token "ratedPower": 735 #空调的额定功率,非必须参数 } ] }
其中,获得 token 的操作相对麻烦一些,但却又是米家设备接入 HomeKit 必不可少的一项参数。那么,要如何获取对应设备的 token?如果你不了解,可以跟着下面的步骤操作:
- 第一步,我们打开准备好的安卓虚拟机,安装一个旧版的米家 app( 必须要旧版 ,建议找 2017 年左右的版本);
- 第二步,打开米家 App,登陆你的账号,检查你需要接入的设备是否显示在 App 中,然后简单进行操作,确定设备能够响应;
- 第三步,安装 RE 浏览器,进入到
/data/data/com.xiaomi.smarthome/databases/
目录下,找到miio2.db
文件,并将它复制到电脑上; - 第四步,打开 这个网站 ,将
miio2.db
文件上传,然后点击 submit,就可以获取到所有设备的 token 了。建议将这份表格保存好,以备后期万一出现 bug 时进行修复。
至此,将米家设备接入 HomeKit 的所有操作完成。你终于可以拿起 iPhone,将设备加入到家庭应用中,享受 Siri、快捷指令和家庭自动化带来的便利体验了。
总结
文章的篇幅看起来有一些长,但实际上莫过于就是三大步:「装系统 - 装 HomeBridge - 装插件并适配」,熟练之后,你可以轻松在半小时不到的时间里接入数个米家设备。
但落实到每一步来说,都需要你的细心和耐心,如果中途出错,不要急于放弃,好好阅读返回的报错内容,并学会用 Google、百度搜索一下,或者是再仔细阅读插件开发者所写的 Readme 文件,看看问题是出在了哪里,对症下药进行解决。
当然,如果实在是有一些你无法找到的 config.json 错误,私信我,带上你的 config 文件和报错内容,我也很乐意提供帮助。
也是不禁回想起过去,为了折腾一个 YeeLight 彩光灯,而耗费的一天时间。虽说现在 HomeBridge 已经默默为我服务多年,但当年成功点亮灯泡那一刻的喜悦,至今都记忆犹新。
> 下载少数派客户端、关注 少数派公众号,让你的生活更精彩 :tada:
> 特惠、好用的硬件产品,尽在 少数派sspai官方店铺
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Pureftpd操作指南
- Kafka运维操作指南
- 《算法互动编程》操作指南(二)
- 自底向上的web数据操作指南
- [最全操作指南] 在线六个项目全部迁移Linux
- 使用FRIDA为Android应用进行脱壳的操作指南
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java程序员修炼之道
[英] Benjamin J. Evans、[荷兰] Martijn Verburg / 吴海星 / 人民邮电出版社 / 2013-7 / 89.00元
本书分为四部分,第一部分全面介绍Java 7 的新特性,第二部分探讨Java 关键编程知识和技术,第三部分讨论JVM 上的新语言和多语言编程,第四部分将平台和多语言编程知识付诸实践。从介绍Java 7 的新特性入手,本书涵盖了Java 开发中最重要的技术,比如依赖注入、测试驱动的开发和持续集成,探索了JVM 上的非Java 语言,并详细讲解了多语言项目, 特别是涉及Groovy、Scala 和Cl......一起来看看 《Java程序员修炼之道》 这本书的介绍吧!