Quantcast
Channel: 少数派
Viewing all articles
Browse latest Browse all 13768

从米家到 HomeKit,你只需要一个树莓派

$
0
0

iOS Home App 还是米家?

HomeKit 相信各位都非常熟悉了,得益于它原生自带,在 iOS 上可以说是十分优秀的。无论是你可以告诉 Siri 我回家了,早上好等这样的文字激活你设置好的场景,还是可以直接从控制中心看到和控制你所有支持的设备,比起其他第三方智能家居 App 使用体验都更佳。

米家则是小米很早就推出的智能家庭系统,其最大的特点是便宜和基础。它的很多设备说实话,可以做到绝大多数目前支持 HomeKit 的设备正在卖,并高价卖的功能。如 D-link 推出的 180 度家庭摄像机,售价 1600 多。除了可以直接看完 180 度,无需旋转机器,还可以设置网格内点特别关注功能以外,其他对比小米,或者国内很多品牌真的没有什么特点可言,因此米家也成为了用户进入智能家庭领域的入门首选。

小米曾经自己推出米家 - HomeKit 的工具,只可惜限定了小米路由器硬盘版,且十分不稳定,不知道看到这篇文章的还有没有使用该插件的朋友。而小米自己的米家 App 不仅无法快速控制(部分设备支持)且 App 内有商城广告等信息,界面冗杂。因此是时候我们动起手来将它手动桥街到 HomeKit 了,这里使用的是小米公司的合作企业 (?) 绿米开放的 API。

完成以下的操作,你只需要一个树莓派,或者永不关机(或者你需要的时候不关机的)Mac Windows 或 Linux 设备。整个过程可能需要 30 分钟,我特别录制了一个完整的从 0 到全的教程视频,以 macOS 举例。Windows 可以在 GitHub 找到 HomeBridge 项目并了解如何安装,并安装对应的插件,然后在 Windows 中使用与视频类似的方法完成。

操作之前

1. 文中提到的树莓派是英国树莓派基金会开发的 Linux 单板机电脑,售价便宜,其目的是用于教育行业降低学校教学生编程的成本。也得益于此,很多人也用它来做小型开发。这里用它主要是看中了它一直不关机功耗较低的特点,HomeBridge 本身可以在任何系统运行(包含 Windows)但是如果你将一台自用的电脑一直开机,不仅对硬件有些损耗,电消耗也是较大的。

2. 你最好有一定使用 Linux 或者 macOS 终端的基础,这样接下来的操作你不仅不会觉得困难,反而会感到非常熟悉。如果没有也不要紧,请紧跟视频教程操作。

3. 以下看似复杂的操作其实做起来都很简单,你知道第一次做好之后,以后只需要当你树莓派关机之后重启的时候重新打开一下 Homebridge 就好了(甚至你可以写一个开机自启动连这步都不需要)你就可以一直享受 HomeKit 带给你的方便。

项目地址

核心 HomeBridge 和 插件 HomeBridge-Aqara

视频教程

YouTube 或 优酷强烈建议跟随视频教程操作,视频中在获取 sid 和 password 过程中说掉了一步的启动方法,见文字教程。

文字教程

以下直接做一个上面视频的文字版本,流程也按照视频上的来:

大家好,这个视频是教你如何将米家的设备通过树莓派 HomeBridge 连接到你 iOS 设备的 Home App 上的,首先我们要明确它支持的设备

[门窗传感器] 是类似 Apple 在销售的 Elgato Eve Door & Window 是很类似的,它是由一个磁铁一样的,当磁铁激活的时候也就是门和墙壁靠近连接上,它就认为你关门了,如果磁铁断开就表明你开着门。

[圆形的开关] 主要是和小米的米家其他设备联动,但是很遗憾这个不支持今天要讲的 HomeKit。

[温湿度传感器] 可能北方用的比较多,南方大概会少一些,字面意思理解就可以。

两个 插座 有基础班和 Zigbee 版,你需要购买因为只支持 Zigbee 版,Zigbee 是刚刚说的传感器的传输协议,也是为什么只有 Zigbee 版才能支持今天说的 HomeKit 的原因。

还有就是 Yeelight 的几个设备,但是你可能需要了解另一篇文章。因为 HomeBridge 实际上支持众多插件,Yeelight 与接下来用到的插件不相同,可以参考少数派稍早前选过的文章,虽然方法类似但是也是有区别的。

另外支持的设备还有 Aqara 墙壁开关,上述设备可以在小米之家,小米官网,米家 App 中购买。

在你使用这些传感器之前,你需要购买这个 149 元的网关,这是使用这些传感器的基础,是必备的,不能单独只购买传感器,如果你已经有网关了,可以单独购买这些传感器增加它们的监测点。

其实 Apple 在卖的 Elgato 系列为什么这么贵呢?有一个原因是它自带网关,HomeBridge 其实就是有点类似网关的东西。

在开始之前,你一定要能够用 SSH 登陆上你的 Pi,注意 2016 年 11 月的新版本系统之后,树莓派默认禁用 SSH,你需要手动开启。如果你没有屏幕,请将 SD 卡连上读卡器,找到 boot 这个分区,创建一个叫做 ssh 的空白文件,方法是 cd 到该文件夹,然后执行下面命令。

sudo touch ssh

好的,我们回到刚刚的 GitHub 项目(HomeBridge)找到 Wiki,点击右边的 More,找到 Running HomeBridge on a Raspberry Pi。第一步是安装 C++ 14,如果你知道你是 Raspberry Jessie版本,这不可以跳过,如果你不清楚你的版本,运行这个命令检测一下 gcc -v

如果你是 4.9.2 就可以不用管了,否则执行以下命令:

sudo apt-get install gcc

接下来安装 NodeJS,Wiki 上有很大一部分是手动方法,你只需要输入以下命令就可以。如果你发现速度很慢,你可能需要更改中国软件源,参考文章:Raspbian 中国软件源

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - 
sudo -E bash -sudo apt-get install -y nodejs

接下来是安装 Avahi,当然也只需要简单的复制一行代码就可以:

sudo apt-get install libavahi-compat-libdnssd-dev

最后安装 HomeBridge 本体,不同于 Wiki 写的,只需要以下这一步就足够了:

sudo npm install -g --unsafe-perm homebridge

安装好后便可以直接输入 homebridge 回车看能否正常运行,如果你看到灰色底和数字 031-45-154 就可以按 Ctrl+C(注意以下涉及到 Ctrl 的,均为 Mac 也需要使用 Ctrl 而不是 Command)停止运行。接下来执行以下命令创建一个文件夹:

mkdir ~/.homebridge (可能提示已经创建 则可以忽略本步骤)
cd ~/.homebridge (定位到该文件夹)
nano config.json (如果你喜欢 vi 编辑器也可以)

然后复制进入以下文字:

{"bridge":{"name":"Homebridge","username":"CC:22:3D:E3:CE:23","port":51826,"pin":"233-62-666"},"platforms":[{"platform":"AqaraPlatform","sid":[""],"password":[""]}]}

其中 name是你在 iOS 家庭 App 上可以看到的桥(你一般不会看到)的名字,我建议就叫 Homebridge,username需要是类似 MAC 的格式,但是文字可以随意填写,所以你也不需要更改了。port 随意,确保不要被占用。pin随意,为密码,需要是 8 位数字,格式为 xxx-xx-xxx,比如 123-45-678。下面的 platform 也是无所谓修改不修改,sidpassword是什么,这就需要在手机上操作了,首先按 Ctrl+O回车保存。

在手机上打开米家 App,点击你的网关,右上角三个 ···,并狂按底部空白区域(视频说掉了,重要),直到出现局域网通信协议和套装版本,主版本,网管信息为止。

点击局域网通信协议,打开,并刷新一个密码,改为全部小写,如本截图中的文字处理后的结果就是 cb30a01c1bcc4b3c,记录这段文字。

返回,点击网关信息,找到 mac: 后的文字,如本截图中的 28:6C:07:85:B3:0E去掉 : 并全部改为小写,也记录这段文字,如本截图中的文字处理后的结果就是 286c0785b30e

第一个文字就是你的 password,第二个就是 sid。如果你有多个网关用逗号链接,比如 cb30a01c1bcc4b3c, dc41b12d2cdd5c4d, ed52c23e3dee6d5e,password 同理。打开刚刚在树莓派编辑的 config.json 输入上面获得的文字,并 Ctrl+O 保存。

然后你就可以再次直接运行 homebridge 了,你会发现它包含以下文字:Loading 1 platforms... Initializing AqaraPlatform platform..,并有一个你设置好的新密码,电脑上的操作就到这里了(不要关闭终端窗口)

打开 iPhone, iPad 等设备上的家庭 App,点击添加配件,点击 Homebridge,手动输入你设置的八位密码(一般来说用相机扫描不太能成功……)并可以配对成功。

接下来你就可以手动设置你的设备,更改名字,位置和类型,下面的包含在个人收藏可以让你在控制中心快速访问这些配件。

全部配置完毕后,你的 Home 已经全部配置成功。

你可以在控制中心快速控制或者查看设备状态。

在 Home App 中长按会有更多选项界面。

最后你会发现,你的 HomeBridge 一旦 SSH 窗口关闭就会停止,你可以安装 screen 来解决这个问题。apt-get 安装即可:sudo apt-get install screen

安装完毕后 screen -S(注意是大写)窗口名字可以随意取,如:screen -S homebdg

然后在这里面运行 homebridge

即使关闭 SSH,只要树莓派开机都会保持运行,或者你也可以直接设置为开机启动,详细可单独搜索方法,教程到这里也就结束了。

如果在过程中遇到任何问题,欢迎在评论提出。如果文章有毛病,也可以向我提修改建议 :)

* Known Issue,该插件对于温湿度传感器的温度传感器部分有延迟,可能出现有些时候温度传感器未响应的情况,因为我已重新抹掉安装树莓派系统和重装 Homebridge 无效,并得到了其他用户的相同反馈,已提交 GitHub Issue,如果遇到该问题请无视。

* 这篇文章中的视频教程中使用的是 macOS 系统,Windows 由于命令提示符并不自带 SSH 功能,需要下载 PuTTY,本文未涉及,如果你对 SSH 和树莓派不熟悉,且使用 Windows,请参考这篇文章,它从你刚拿到树莓派,什么也没有开始,教你如何达到和本文一样的结果。



Viewing all articles
Browse latest Browse all 13768

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>