无需焊接、不用拆,只需要跟着步骤操作,30分钟后,让Siri为你管理家电。
“改造”听上去是一个大工程,其实不然。文章里整合了全套改造方法,让每个人都能轻松完成改建。
一些成果
在文章开始之前,我想先展示目前一些突破性的成果:
房间里有两盏宜家的台灯,我现在可以通过Siri,用语音来控制灯的开关、颜色变换,还可以用iPhone原生的“家居”应用,通过上滑调出控制中心进行操作,大大减少了打开其他应用的时间。
工作原理(一本正经地瞎扯):

米家(小米智能家居)设备:作为连接普通家具的媒介;
米家多功能网关 树莓派:网关是控制设备的中枢,树莓派则是为网关加入苹果家居(HomeKit)所需要的homebridge插件,它更像是一个Apple TV的枢纽的作用;
支持iOS 10的设备:目前只有iOS 10支持原生的“家居”应用;
Yeelight:调节灯泡亮度,变化颜色,我们知道,要达成这两点,要求的就不是插座那么简单,是硬件上的问题了
一点想法
智能家居门槛过高 止步于高昂的售价和不完整的功能
苹果发布HomeKit也有两年了,当时就有改造房间的想法,奈何我果高冷,支持的设备寥寥无几,在今年的CES上,支持的设备也不过100款左右,甚至被媒体评论道“不敌亚马逊Alexa”。在官方网站上看来,厂商水准也参差不齐, 看着确实捉急。 好了说了这么多,最重要是价格不菲,产品单价普遍四位数,怎么玩?
连接只是小问题 更需要的是真正的智能
很多品牌和厂商还是研发出了很多智能设备,通过自家的应用软件平台实现了所谓的“智能起居”。
然而文明的发展就是从“不满足”开始的,只能凭软件去控制未免有点本末倒置,变得有点像是机器在操控人类,于是,实现人与设备同步,而不是软件同步就变得尤为重要。
现在 就让Siri成为你的智能管家
Jarvis,《钢铁人》里Tony Stark的管家,应该就是人们最容易理解的人工智能了, 苹果和谷歌等大腕也争相推出了自己的机器人,目前最多人用的大概就是Siri了吧。
下面就开始实现通过Siri声控家里的普通电器吧!
购买清单
虽然过程非常简单,但是该买的还是得买,这里是一些需要用到的硬件,有的应该是家里就会有,按照个人需求购买 ※ 支持iOS10的苹果设备(iPhone5以上、iPad mini2以上、iPod第六代以上,官网提供资料)
● 搭载安卓系统的设备(用于获取网关局域网的协议密码,iPhone的米家APP上最近无法操作,也可以用PC模拟器,参考价格:随便找人借电话就好了)
※ 小米多功能网关二代( *注意:一定要二代!米家商城有一款“Aqara空调伴侣”附加了红外功能,但是不确定是不是二代,参考价格:RMB149)
※ 任意一个或多个支持HomeKit的设备:小米智能插座ZigBee版(√)、小米人体传感器(√) 、小米门窗传感器(√) 、小米温湿度传感器(√) 、Yeelight智能灯泡(√) 、Aqara墙壁开关( *其中“√”为已测试可用的设备,墙壁开关需要更换面板,动手能力强可以尝试,另外关于智能插座,一定要是ZigBee版,基础版目前暂时不支持,参考价格:RMB49起)

※ Raspberry Pi 3B(树莓派3代B型,一搜一大把,参考价格:RMB269)

※ 读卡器 & 8Gb以上TF内存卡一张(就是手机里用的小张内存卡,如果日后还有研究最好买16Gb,参考价格:RMB40)
● HDMI高清视频线(接上屏幕是用树莓派,参考价格:不敢拔你家电视上的话,RMB10 )
● 网线一根(树莓派3代本身自带WiFi模块,不过凡事都要稳,所以常备一条,参考价格:RMB5 )
※ USB线一根(供电,虽然树莓派的供电要求很低,但电源仍然不容忽视,参考价格:用电话充电线就好)
※ 键鼠一套(建议是无线,这样就不用接太多线整得很乱,参考价格:用现有的就好啦!)
※ 路由器(有专用APP的话,获取设备的IP信息和MAC地址会更加方便,参考价格:用家里的就可以了)
(* 其中 ※必备 ●可选)

3步实现小米智能家具接入HomeKit
要买的都买了,那么现在就可以正式开始了!看着好像买了很多东西,其实仅需3步就能完成
第一步:获取网关信息 → 第二步:配置树莓派环境 → 第三步:运行HomeKit
第一步 获取网关信息
①安卓设备上,下载“米家”应用,并按说明连接多功能网关
②成功后点击图标进入“控制界面”
③点击右上角,进入“关于”设置

④快速连续点击“版本号”,进入“开发者模式”

⑤打开“网关信息”,找到mac地址,记录为【密码A】
⑥打开局域网通讯协议,启动该功能,找到密码,记录为【密码B】(*严重注意:密码很长很杂,记下后一定要检查清楚,否则运行的时候会无法控制设备)

*注意 【密码A/B】是最终设置的关键,建议在电脑上用记事本保存好
第二步 配置树莓派环境
开始之前,先下载几个软件:
● Raspbian Jessie(树莓派系统)
● SDFormatter(格式化TF卡,虽然格式化好像也可以,不过号称专业洗卡,大概会洗得更干净一点,链接:https://pan.baidu.com/s/1dE2SMNf)
● Win32DiskImage(将系统写入内存卡里,链接:https://pan.baidu.com/s/1bp5UWoB)
● PuTTy(利用ssh让你在Windows上敲码,树莓派供电正常就可以了,链接:https://pan.baidu.com/s/1i5E6l4D)
● Codes代码合集.txt(有了这个,你就可以直接复制粘贴了,链接:https://pan.baidu.com/s/1pLDDZBl)
*以上软件百度一下就能找到,或者在我的网盘分享里下载
*为什么要用Windows敲代码?
在教程文件夹里有代码合集,可以复制直接粘贴在PuTTy,减少错码率
1.安装系统
①下载镜像:树莓派官方网站下载页:https://www./downloads/raspbian/

*建议登陆树莓派官网下载2016版的系统,新版需要进入系统设置,打开“允许ssh“才能进行Win上的操作。
下面是关于2017版的建议,值得一提的一点:Pixel才是拥有UI界面的系统,建议下载Pixel,支持更多很方便的功能。下载zip更稳定,迅雷会员离线下载速度感人。
②打开安装好的“SDFormatter”,并把TF卡塞进读卡器,插入你的Win电脑
③默认设置即可,点击“格式化”,然后一路“确定”就完成了洗卡

④打开Win32DiskImage,选择下载好的“树莓派系统”,点击“Write”然后一路“yes”,开始写入系统

⑤写入完成后,将TF卡插进树莓派,第一次插入要轻一点,插深一点…(气氛变得有点奇怪…)

*卡槽镂空,可以看到TF卡是否已经到底,操作前洗一下手,以防静电
2.树莓派开机
树莓派没有开关,一接电,就开机。
那么开机之前,先确认线缆接好了没,大概会有两种情况:
a. 使用无线网络和无线键鼠:先接HDMI,后接电源线;
b. 传统连接:那么久看看下面的示意图
因为接线相当于一切就绪,所以下面是在“情况a”下的操作:

接通电源,开机了 ①连接无线网络和鼠标:开机之后就进入Raspberry的UI了,右上角有“蓝牙”和“无线网络”设置

连接WiFi的话,网线就可以拔掉了,蓝牙键鼠也能减少线缆连接量
*如果你希望在树莓派上写代码也是可以的,把Codes代码合集.txt放在你的移动硬盘里,插到树莓派上打开,然后打开终端就可以复制粘贴了
②打开树莓派的“允许SSH远程操控”,现在开始可以在Windows上操作了
点击“开始”菜单 → 偏好设定 → 树莓派设置 → 连接界面 → SSH ON/OFF

③获取树莓派的IP地址,两种方法:
a. 打开路由器的APP,找到“连接中设备”,点开找到IP地址;

b. 没有APP的话,打开树莓派终端,输入 ifconfig ,无线网是“wlan0”,有线网则是“lan0”

④打开PuTTy,输入刚才获取的IP地址,然后确定进入。第一次接入只要一路“OK”就可以了
⑤登陆树莓派:初次登陆,用户名“pi”,初始密码“raspberry”,输入密码的时候看不到字符是正常的

⑥登陆成功后,就可以开始“复制粘贴” ,也可以下载并打开“Homebridge.txt”
3.写入Homebridge
-Start-
注意 Notice
一定要看的重点:
①保存技巧 遇到“编辑”或“配置”时,完成后先按下“Ctrl X”,提示保存时键入“Y”确定,再按下“Enter回车”完成

②要有耐心! 树莓派输入命令后,无论是报错或任何情况导致无法运行,都一定会回到“pi@raspberry:~ $ ”
载入和安装镜像都需要时间,长短由网速和镜像源决定,少则五分钟,多则半小时以上,
所以,不见到“pi@raspberry:~ $ ”就说明:还在运行!不要随便关掉,否则浪费很多时间!
③认准下划线,不要跨行复制! 复制代码的时候,只需要复制“$”以后有下划线的部分,不要图方便一下子复制几行,行不通的,OK?
*可以不看的废话:
基本而言,只要按照以下步骤,一步一步复制粘贴,就能顺利运行,无需思考,各位请加油!
-Start-
Step1 切换镜像源
*默认源是外网资源,给iPhone越狱过的人就会知道,网速再快也还是会很慢,所以把源切换到阿里云的国内源。【再次提醒:复制时只需要复制红字部分,PuTTy直接鼠标右键就会粘贴,粘贴后按下enter自动运行】
pi@raspberrypi:~$ sudo nano /etc/apt/sources.list
↓
deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
↓
pi@raspberrypi:~$ sudo apt-get update
Step2 安装Nodejs
pi@raspberrypi:~$ curl -sL https://deb./setup_6.x | sudo -E bash -
↓
pi@raspberrypi:~$ sudo apt-get install -y nodejs
↓
pi@raspberrypi:~$ sudo apt-get install -y build-essential
Step3 安装avahi
pi@raspberrypi:~$ sudo apt-get install libavahi-compat-libdnssd-dev
Step4 安装homebridge
pi@raspberrypi:~$ sudo npm install -g --unsafe-perm homebridge
Step5 安装homebridge-aqara
pi@raspberrypi:~$ sudo npm install -g homebridge-aqara
(若已经购买Yeelight,则再写一行命令:sudo npm install -g homebridge-yeelight )
Step6 创建config.json(根据顺序分别是:
返回主目录→创建'.homebridge'文件夹→进入'config.json'文件)
pi@respberrypi:~ $ cd ~
↓
pi@respberrypi:~ $ mkdir .homebridge
↓
pi@respberrypi:~ $ nano .homebridge/config.json

Step7 配置config.json
#从下一行开始复制
{
'bridge': {
'name': 'Homebridge',
'username': 'CC:22:3D:E3:CE:30',
'port': 51826,
'pin': '031-45-154'
},
'platforms': [
{
'platform': 'AqaraPlatform',
'sid': ['【(密码A)网关MAC地址,去掉冒号,全部小写】'],
'password': ['【(密码B)网关局域网密码】']
}]
}
#到上一行停止复制
Step9 运行homebridge
cd
↓
homebridge

至此,Homebridge就运行成功了!
运行状态如上图,出现红字就是出毛病了,绝大多数情况是Step 8出错了,输入
nano .homebridge/config.json
仔细检查“网关mac”和“局域网协议密码(重点留意)”,直到成功后会跳出小方框,其实就是刚才配置config.json里面的pin,不管怎么样,将这个记录为【密码C】
Step10 iPhone操作
打开“Home”应用,点击“加入配件”就会自动检测到“Homebridge”了,点开它会要求输入密码,就是刚才获取的【密码C】

成功连接之后,支持HomeKit的设备就会自动连接到界面上,这个时候就会有三种使用场景:
Scene 1:打开应用“Home”,直接进行操作
Scene 2:屏幕底部上滑,“控制中心”实现监测和控制
Scene 3:说“喂,Siri”,然后告诉他你想做什么,比如说:“关灯!”

使用感受
简单程度基本可以达到上手就会用了,论手机系统实力始终还是iOS更胜一筹,同时更要佩服GitHub上及各路高手的倾力贡献!
在很多设备上都有着相当有趣和便利的功能,下面是Yeelight的一点感受:
我用的是iPhone SE,会有一个“伪压感”的过度,进入到亮度调节;同时还能够快速选定灯泡颜色,可玩性很高!

以“智能插座ZigBee版”为例,可以选择它的用途,比方说我接的是台灯,在于Siri的互动中,只要说“开灯”,Siri就会把智能插座打开了,那么灯也就打开了。同理可得,如果插座上接的是风扇,可以发挥同样的效果。

添加成功后,返回主画面,并点击进行试验,能够开关就证明成功了!
P.S 常见问题 ①程序运行如果出错会“出现红字”或“回到输入命令状态”,如果遇到这种情况,检查“config.json”,通常是(密码B)出错,拿出你的安卓系统手机,再次检查协议密码是否正确!
方法:输入以下命令:
nano .homebridge/config.json
②如果你同时买了yeelight,那么首先要先下载“Yeelight”手机客户端,在设置中打开“极客模式”,完成Step 5后,输入以下命令:
sudo npm install -g homebridge-yeelight
-The End-
Q:完了吗?
A:没完,这个时候,如果关闭了PuTTy,你会发现homebridge停止工作了,因为刚才都是远程操作
Q:可以设置开机自动启动吗?
A:当然可以,但是我不会
Q:那你说个毛?
A:淡定,还有另一个办法
用你的手机打开树莓派
这是一个折中的解决方案:
Step 1:电话or平板设备上,下载“VNC Viewer”,以下是安卓版

Step 2:先打开PuTTy,登陆树莓派,输入“ vncserver “,找到连接IP地址
Step 3:打开设备上的VNC Viewer,点击“添加”,输入“Step 2”找到的IP,然后“Connect”
Step 4:输入用户名“pi”和密码“raspberry”,确定后再“Continue”

(Step 3-4:Real VNC真可谓良心之作,步骤简单到想哭泣,其他平台上的操作也是大同小异)
那么现在你就可以在电话或平板设备上,利用触屏触控树莓派了

接下来还是老套路,打开树莓派终端,输入“ homebridge ”
现在,只要树莓派不断电,你的homebridge就会一直运行了!
P.S
VNC Viewer支持多平台共用,你可以在iOS、Android、macOS、Windows上同时使用!

现在,打开“Home”应用,试着给你的设备取个名字,例如:皮卡丘
然后说:“喂,Siri,打开皮卡丘”试试看!
Done!完美!
鸣谢
最后,需要感谢各路高手的技术支持,以下是本文参考的各种教程:
①【再更新】小米网关接入Homekit完整教程,声控家中设备!
http://bbs./t-13198850-4-o0#comment_top
② 智能宿舍搭建 1 | 借助树莓派与 HomeBridge ,将 YeeLight 彩光灯接入 Apple HomeKit
http://matrix./p/d9825f80?from=message&isappinstalled=0
③ 树莓派Raspberry之HomeKit智能家居体验!
http://jingyan.baidu.com/article/22fe7ceddf882c3003617f53.html
关于作者
最后呢,还是要给自己打一则广告,哈哈哈
Weibo:山上有猴子
Instagram:johnnyimm
原微博地址:http://weibo.com/1787199017/ExcMzvBqv
|