惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
C
Check Point Blog
D
Docker
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
量子位
有赞技术团队
有赞技术团队
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
M
MIT News - Artificial intelligence
B
Blog
阮一峰的网络日志
阮一峰的网络日志
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
月光博客
月光博客

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
关于小米智能套装
2018-01-04 · via 少数派

关于 HomeKit 和智能家居,早在 iOS 8 的时候 Apple 就力图去打造一个非常非常洗脑的生态。而今来看,联合各大知名的硬件厂商,和智能家居品牌,Apple 这一步棋下的可以说是很成功了。

但是,打开 Apple Store 之后,你会发现 Apple 所提供的智能设备似乎有一部分不是自己想要的,或是价格上远高于自己的预算的。所以,大部分人都把目光投向了号称“啥都要做”的小米。但是 Apple 有严格的认证协议和条件,除了使用难用的小米 App 之外就没有办法了吗???并不,大部分机智的 Coder 早就做过了 HomeKit 的逆向工程。而之前少数派也曾发表过「通过树莓派,将小米智能家居和 HomeKit 连接起来」。

不过,可能你手头没有树莓派,那也没关系,只要一台旧电脑或安卓手机,你也能把 HomeKit 和小米智能套装连接起来。

关于小米智能套装

我所购买的是米家智能家庭礼品装。内含:

米家多功能网关 x 1

米家智能插座(Zigbee 版)x 1

米家无线开关 x 1

米家人体传感器 x 1

米家门窗传感器 x 1

随附配件若干(背贴胶,按键针,说明书/三包凭证)

配件

之所以选择礼品装的原因是,我个人认为礼品装包含的物件基本上是基础所需的,比单买要合适而且方便。 

小米智能家庭

当然,除此之外,在小米商城里还有其他不同种类不同功能的智能家居,比如烟雾报警器,温湿度传感器等等。这里也不一一介绍了,可以按照自己的所需去购买。但是请注意一下,智能网关是必须的。

方法 1

方法 1 是使用一台不关机的的电脑,Linux, Mac, Windows 都可以搭建 HomeBridge. 鉴于我身边只有 macOS 使用,所以接下来所说的都是关于 macOS 的教程。

首先,安装 Xcode

MAS 里可以下载到最新的版的 Xcode

Node.js

Node.js 这里有 Windows 版,macOS 版,还有 Source Code 提供下载。网站应该没有被墙,下载安装即可。

注:必须安装 Node.js 不然会出现下面步骤无法进行的情况。

安装 Homebridge

你需要打开 Mac 上的终端,找不到的话可以通过聚焦搜索输入终端打开。

打开后在里面输入 sudo npm -g install homebridge

在终端滚动很久很久很久之后,当你的终端显示如图的时候,就已经安装完毕了。

安装 HB 成功

接下来去 App Store 下载米家 App

在应用里可以选择添加已有的配件

米家

然后请点击智能网关 —— 右上角的三个白色点 —— 关于

疯狂点击白色空白区域,直到出现新的信息。

这时候我们需要点击局域网通信协议并且将其刷新打开刷新密码。这个是后续要用的 Sid

然后退回上一级菜单,点击网关信息,在密密麻麻的文字里面找到 mac 字样没你会发现后面有相关网关地址。记住这个,建议将其复制下来在其他应用(去掉 (:) 符号并且修改为小写) 。这个是后续要用的 Password

米家

然后我们将会创建一个新的配置文件,可以选择复制到终端。请别忘记修改“Username”为自己的电脑用户名。

cd ~
mkdir .homebridge
nano .homebridge/config.json

分段输入,分段输入,分段输入

之后我们需要配置 json 文件

你可以选择复制下方代码到终端中

{

"bridge": {

"name": "Homebridge",

"username": "CC:22:3D:E3:CE:30",

"port": 51826,

"pin": "123-45-678"

}, 

"platforms": [{

"platform": "AqaraPlatform",

"sid": [“d2016dd68ad14043”],

"password": ["7811dcb35e17"]

}]

}

在这段代码里面,name 可以自定义修改;username 建议不要随便修改;port 可以自定义修改,只要不被占用就好了;pin 可以自定义修改,格式需要保存为 xxx-xx-xxx;sid 是前文提到的局域网通讯协议,password 则是网关信息。

复制完成后可以输入 Command + O 保存,然后输入 Command + X 退出编辑模式回到终端窗口。

json 文件

接下来我们运行 HomeBridge

继续在终端输入(分段输入)

cd
homebridge

当你看到如下图的二维码或者是数字出现,意味着运行成功。(数字是你在 json 文件里设置的密码)

你可选择使用 Home App 里面的添加配件扫描二维码或者是添加数字。

然后你可以在 Home 里添加网关和其他配件,并且愉快地使用了。

检查运行

注:当然你可能会遇到不同的错误出现。下面是会遇到的一些问题。

Q: 终端安装 Homebridge 出现循环代码错误怎么办?

A: 如果你是 macOS High Sierra 用户,使用 sudo npm -g install homebridge 安装会出现下图的错误。所以请更换输入 sudo npm -g install homebridge --unsafe-perm 进行安装。

安装失败

Q: 运行 HomeBridge 出错怎么办?

A: 检查配置文件里面的 Pin 文件是否有错,检查(网关 mac )和(局域网协议密码(重点留意)),直到成功后会跳出小方框,其实就是刚才配置 config.json 里面的 pin 文件数字。

Q: Home 显示配件已添加,需要重置,怎么办?

A: 在 config.json 文件里修改 username 和 pin 文件后再走一遍。

还有一个问题是我遇到还没有解决的,是关于配件 No Password For Getway 的问题,如果有解决方案,请在评论提醒我,谢谢啦。

错误

方法 2

方法 2 是使用一台闲置的 Android 设备来作为智能家居中枢。所需设备:1. 已 root 的 Android 设备,一台电脑,小米多功能网关。

需要下载的软件有:Linux Deploy, BusyBox (Android) ;Xshell, Xftp, Termius, VNC Viewer ( PC/Mac/Chrome Store ) 注:可用其他软件代替

注:Android 推荐使用 Lineage OS 或者其他原生系统 ROM, 也请避免运存不足后台被杀,如果有设置自动清理或者超级省电功能的,请设置白名单,避免被杀。

首先,需要安装 BusyBox

非常简单,点击“安装”之后,即可完成。

BusyBox

第二,配置 Linux Deploy

打开软件,然后点击屏幕左上角,打开菜单栏 —— 设置 —— 更新环境

Linux Deploy

第三,安装 Linux Deploy

Root 权限是必要的,而且第一步的 BusyBox 也不可以省略。如果你的 Android 设备是 6.0 及以上,则需要在应用权限设置内给予 Linux Deploy 的访问存储权限。

打开 Linux Deploy 会看到一个默认配置,在这里需要修改。

发行版,默认的 Debian 修改为 Ubuntu

架构可选默认或调整为 arm 64

源地址可修改 http://mirrors.ustc.edu.cn/ubuntu-ports/

用户名和密码可以默认,后续如果忘记可以返回 App 内查看。

勾选 “允许 SSH 服务器启动”

设置后回到主界面,点击右上角三个白点,可以选择安装。

等待一段时间后,可以看到 Deploy 字符,这就差不多成功了。

然后点击启动,等到 Start 出现就 Okay 了。

至此手机上的操作就已经暂时结束了,剩下的就转到电脑上吧。

安装 HomeBridge

  1. 准备工作

使用这个软件部署的 Ubuntu 默认是没有安装 curl 命令,需要的手动安装一下:

sudo apt-get install -y curl

  1. 直接使用官网提供的脚本(可前往前文提供的官网进行选择)

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt-get install -y nodejs

  1. 安装 Avahi 依赖包

同样是必备工具之一

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

  1. 安装 HomeBridge

sudo npm install -g --unsafe-perm homebridge

接下来执行以下命令创建一个 HB 的配置文件。

mkdir ~/.homebridge 
cd ~/.homebridge 
nano config.json 
sudo apt-get install nano 

这里给出一个和请问一样的示例,记得修改:

你可以选择复制下方代码到终端中

{

"bridge": {

"name": "Homebridge",

"username": "CC:22:3D:E3:CE:30",

"port": 51826,

"pin": "123-45-678"

}, 

"platforms": [{

"platform": "AqaraPlatform",

"sid": [“d2016dd68ad14043”],

"password": ["7811dcb35e17"]

}]

}

在这段代码里面,name 可以自定义修改;username 建议不要随便修改;port 可以自定义修改,只要不被占用就好了;pin 可以自定义修改,格式需要保存为 xxx-xx-xxx;sid 是前文提到的局域网通讯协议,password 则是网关信息。

复制完成后可以输入 Command + O 保存,然后输入 Command + X 退出编辑模式。

和 Mac 不同,运行 Linux Deploy 之前需要注意一下。

首先编辑一下 avahi-daemon 服务的配置文档。

sudo nano /etc/avahi/avahi-daemon.conf

我们需要将文档中 publish 的所有参数都注释掉,在对应的配置项之前加 # 号即可。

......
[[publish]]
disable-publishing=yes
disable-user-service-publishing=no
add-service-cookie=no
publish-addresses=yes
publish-hinfo=no
publish-workstation=no
publish-domain=yes
publish-dns-servers=192.168.50.1, 192.168.50.2
publish-resolv-conf-dns-servers=yes
publish-aaaa-on-ipv4=yes
publish-a-on-ipv6=no
......

然后需要修改 avahi-daemon 服务的启动参数。

sudo nano /etc/init.d/avahi-daemon

找到启动服务的地方 dstart( ) 这一段,在 $DAEMON 后面添加上 --no-drop-root 参数。

d_start() {
   $DAEMON --no-drop-root -c && return 0

   if [ -e $DISABLE_TAG -a "$AVAHI_DAEMON_DETECT_LOCAL" != "0" ]; then
Disabled because of the existance of an unicast .local domain
   log_warning_msg "avahi-daemon disabled because there is a unicast .local domain"
   exit 0;
   fi;

   $DAEMON --no-drop-root -D
} 

弄完以后先试试手动启动该服务。

sudo /etc/init.d/dbus start
sudo /etc/init.d/avahi-daemon start

如果两个服务都启动成功的话,就可以尝试启动 HB 服务了,即直接运行:

homebridge

关于更多的 HomeBridge 插件可以前往 homebridge-plugin - npm search 进行搜索。

方法 3

方法 3 采用树莓派连接方式,关于树莓派相关文章请参阅少数派。

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

参考来源

修正:

根据 @Junyi Lou 的指教:在 Mac 下 nano 编辑器也是 Ctrl 而不是 Command.(感谢指点)