爱板网论坛

查看: 521|回复: 6

[项目] 树莓派3b,家具变智能:用HomeKit+Siri声控家里电器

[复制链接]

35

主题

0

好友

797

积分

举人

Rank: 4

  • TA的每日心情
    慵懒
    2014-11-28 09:29
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2017-10-27 13:13:41 |显示全部楼层
    搬个大神帖子赚积分铜板,坐等周年庆,以下是正文,作者微博山上有猴子

    725e1d190cc60e74d796efe343f3b3bf,w_800.png


    无需焊接、不用拆,只需要跟着步骤操作,30 分钟后,让Siri为你管理家电。文中视频演示了房间里有两盏宜家的台灯,我现在可以通过Siri,用语音来控制灯的开关、颜色变换,还可以用 iPhone 原生的「家居」应用,通过上滑调出控制中心进行操作,大大减少了打开其他应用的时间。

    在文章开始之前,我想先展示目前一些突破性的成果(优酷视频):效果展示:
    游客,如果您要查看本帖隐藏内容请回复


    房间里有两盏宜家的台灯,我现在可以通过Siri,用语音来控制灯的开关、颜色变换,还可以用 iPhone 原生的「家居」应用,通过上滑调出控制中心进行操作,大大减少了打开其他应用的时间。
    工作原理:
    TIM截图20171026140855.png



    米家(小米智能家居)设备:作为连接普通家具的媒介;
    米家多功能网关+树莓派:网关是控制设备的中枢,树莓派则是为网关加入苹果家居(HomeKit)所需要的 homebridge 插件,它更像是一个 Apple TV 的枢纽的作用;
    支持 iOS 10 的设备:目前只有 iOS 10 支持原生的「家居」应用;
    Yeelight:调节灯泡亮度,变化颜色,我们知道,要达成这两点,要求的就不是插座那么简单,是硬件上的问题了
    ​一点想法智能家居门槛过高
    止步于高昂的售价和不完整的功能
    苹果发布 HomeKit 也有两年了,当时就有改造房间的想法,奈何我果高冷,支持的设备寥寥无几,在今年的 CES 上,支持的设备也不过 100 款左右,甚至被媒体评论道「不敌亚马逊 Alexa 」。在官方网站上看来,厂商水准也参差不齐, 看着确实捉急。
    好了说了这么多,最重要是价格不菲,产品单价普遍四位数,怎么玩?
    连接只是小问题
    更需要的是真正的智能
    很多品牌和厂商还是研发出了很多智能设备,通过自家的应用软件平台实现了所谓的「智能起居」。
    然而文明的发展就是从「不满足」开始的,只能凭软件去控制未免有点本末倒置,变得有点像是机器在操控人类,于是,实现人与设备同步,而不是软件同步就变得尤为重要。
    现在 就让 Siri 成为你的智能管家
    Jarvis ,《钢铁人》里 Tony Stark 的管家,应该就是人们最容易理解的人工智能了, 苹果和谷歌等大腕也争相推出了自己的机器人,目前最多人用的大概就是 Siri 了吧。
    下面就开始实现通过 Siri 声控家里的普通电器吧!


    购买清单​
    虽然过程非常简单,但是该买的还是得买,这里是一些需要用到的硬件,有的应该是家里就会有,按照个人需求购买
    ※ 支持 iOS10 的苹果设备( iPhone 5 以上、 iPad mini 2 以上、 iPod 第六代以上,官网提供资料)
    ● 搭载安卓系统的设备(用于获取网关局域网的协议密码, iPhone 的米家 APP 上最近无法操作,也可以用PC模拟器,参考价格:随便找人借电话就好了)
    ※ 小米多功能网关二代( *注意:一定要二代!米家商城有一款「 Aqara 空调伴侣」附加了红外功能,但是不确定是不是二代,参考价格: RMB 149 )
    ※ 任意一个或多个支持 HomeKit 的设备:小米智能插座 ZigBee 版(√)、小米人体传感器(√) 、小米门窗传感器(√) 、小米温湿度传感器(√) 、Yeelight智能灯泡(√) 、 Aqara 墙壁开关( *其中「√」为已测试可用的设备,墙壁开关需要更换面板,动手能力强可以尝试,另外关于智能插座,一定要是 ZigBee 版,基础版目前暂时不支持,参考价格: RMB 49 起)
    TIM截图20171026140911.png


    ​※ Raspberry Pi 3B (树莓派 3 代 B 型,一搜一大把,参考价格: RMB 269 )
    TIM截图20171026140920.png


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

    TIM截图20171026140928.png



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


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

    TIM截图20171027104317.png


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

    TIM截图20171026141039.png


    网关 mac 地址,注意不是「 gw_mac 」(左)局域网协议密码(右)
    *注意
    【密码 A/B 】是最终设置的关键,建议在电脑上用记事本保存好


    ​第二步 配置树莓派环境
    开始之前,先下载几个软件:
    Raspbian Jessie(树莓派系统)
    SDFormatter (格式化TF卡,虽然格式化好像也可以,不过号称专业洗卡,大概会洗得更干净一点,链接: https://pan.baidu.com/s/1eR7LhxK
    ●  Win32DiskImage(将系统写入内存卡里,链接同上)
    ●  PuTTy(利用 ssh 让你在Windows上敲码,树莓派供电正常就可以了,链接同上)
    ●  Codes 代码合集. Txt (有了这个,你就可以直接复制粘贴了,链接同上)
    以上软件百度一下就能找到,或者在我的网盘分享里下载
    *为什么要用 Windows 敲代码?
    在教程文件夹里有代码合集,可以复制直接粘贴在 PuTTy ,减少错码率

    1.安装系统
    ①下载镜像:树莓派官方网站下载页:https://www.raspberrypi.org/downloads/raspbian/
    TIM截图20171026141048.png


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

    ④打开 Win32DiskImage ,选择下载好的「树莓派系统」,点击「 Write 」然后一路「 yes 」,开始写入系统
    TIM截图20171026141106.png


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



    2.树莓派开机
    树莓派没有开关,一接电,就开机。
    那么开机之前,先确认线缆接好了没,大概会有两种情况:
    a. 使用无线网络和无线键鼠:先接 HDMI ,后接电源线;
    b. 传统连接:那么久看看下面的示意图
    因为接线相当于一切就绪,所以下面是在「情况 a 」下的操作:
    TIM截图20171026141125.png


    接通电源,开机了
    ①连接无线网络和鼠标:开机之后就进入 Raspberry 的 UI 了,右上角有「蓝牙」和「无线网络」设置
    *如果你希望在树莓派上写代码也是可以的,把 Codes 代码合集. Txt 放在你的移动硬盘里,插到树莓派上打开,然后打开终端就可以复制粘贴了
    TIM截图20171026141133.png


    ​②打开树莓派的「允许 SSH 远程操控」,现在开始可以在 Windows 上操作了
    点击「开始」菜单 → 偏好设定 → 树莓派设置 → 连接界面 →  SSH ON/OFF
    TIM截图20171026141143.png


    ③获取树莓派的 IP 地址,两种方法:
    a. 打开路由器的 APP ,找到「连接中设备」,点开找到 IP 地址;
    TIM截图20171026141151.png


    ​b. 没有 APP 的话,打开树莓派终端,输入  ifconfig  ,无线网是「 wlan0 」,有线网则是「 lan0 」
    TIM截图20171026141219.png


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


    ​⑥登陆成功后,就可以开始「复制粘贴」 ,也可以下载并打开「 Homebridge.txt 」
    TIM截图20171027112040.png



    3.写入 Homebridge
    -Start-
    注意 Notice
    一定要看的重点:
    ①保存技巧
    遇到「编辑」或「配置」时,完成后先按下「 Ctrl+X 」,提示保存时键入「 Y 」确定,再按下「 Enter 回车」完成
    TIM截图20171026141241.png


    ②要有耐心!
    树莓派输入命令后,无论是报错或任何情况导致无法运行,都一定会回到「 pi@raspberry:~ $  」
    载入和安装镜像都需要时间,长短由网速和镜像源决定,少则五分钟,多则半小时以上,
    所以,不见到「 pi@raspberry:~ $  」就说明:还在运行!不要随便关掉,否则浪费很多时间!
    ③认准代码行,不要跨行复制!
    复制代码的时候,只需要复制「$」以后的红色部分,不要图方便一下子复制几行,行不通的, OK ?
    TIM截图20171027112152.png


    *可以不看的废话:
    基本而言,只要按照以下步骤,一步一步复制粘贴,就能顺利运行,无需思考,各位请加油!
    -Start-
    ​Step1 切换镜像源
    *默认源是外网资源,给 iPhone 越狱过的人就会知道,网速再快也还是会很慢,所以把源切换到阿里云的国内源。【再次提醒:复制时只需要复制红字部分, PuTTy 直接鼠标右键就会粘贴,粘贴后按下 enter 自动运行】
    1. sudo nano /etc/apt/sources.list
    2. deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
    3. deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
    4. sudo apt-get update
    复制代码
    ​Step2 安装 Nodejs
    1. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
    2. sudo apt-get install -y nodejs
    3. sudo apt-get install -y build-essential
    复制代码
    ​Step3 安装 avahi
    1. sudo apt-get install libavahi-compat-libdnssd-dev
    复制代码
    ​Step4 安装 homebridge
    1. sudo npm install -g --unsafe-perm homebridge
    复制代码
    ​Step5 安装 homebridge-aqara
    1. sudo npm install -g homebridge-aqara
    复制代码
    (若已经购买 Yeelight ,则再写一行命令: sudo npm install -g homebridge-yeelight )​
    ​Step6 创建 config.json (根据顺序分别是:
    返回主目录→创建” .homebridge “文件夹→进入” config.json “文件)
    1. cd ~
    2. mkdir .homebridge
    3. nano .homebridge/config.json
    复制代码
    Step7 配置 config.json
    TIM截图20171027112601.png


    #从下一行开始复制
    1. {
    2.     "bridge": {
    3.         "name": "Homebridge",
    4.         "username": "CC:22:3D:E3:CE:30",
    5.         "port": 51826,
    6.         "pin": "031-45-154"
    7.     },
    8. "platforms": [
    9. {
    10. "platform": "AqaraPlatform",
    11. "sid": ["【(密码A)网关MAC地址,去掉冒号,全部小写】"],
    12.   
    13. "password": ["【(密码B)网关局域网密码】"]
    14. }]
    15. }
    复制代码
    #到上一行停止复制
    ​Step9 运行 homebridge
    1. cd ~
    2. homebridge
    复制代码
    TIM截图20171027112740.png


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


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

    TIM截图20171027112852.png



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


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


    添加成功后,返回主画面,并点击进行试验,能够开关就证明成功了!

    P.S 常见问题
    ①程序运行如果出错会「出现红字」或「回到输入命令状态」,如果遇到这种情况,检查「 config.json 」,通常是(密码 B )出错,拿出你的安卓系统手机,再次检查协议密码是否正确!
    方法:输入以下命令:
    1. nano .homebridge/config.json
    复制代码
    ​②如果你同时买了 yeelight ,那么首先要先下载「 Yeelight 」手机客户端,在设置中打开「极客模式」,完成 Step  5 后,输入以下命令:
    1. sudo npm install -g homebridge-yeelight
    复制代码
    -The End-


    ​Q:完了吗?
    A:没完,这个时候,如果关闭了 PuTTy ,你会发现 homebridge 停止工作了,因为刚才都是远程操作
    Q:可以设置开机自动启动吗?
    A:当然可以,但是我不会
    Q:那你说个毛?
    A:淡定,还有另一个办法
    用你的手机打开树莓派
    这是一个折中的解决方案:
    Step 1:电话or平板设备上,下载「 VNC Viewer 」,以下是安卓版
    TIM截图20171027130805.png

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

    TIM截图20171027130832.png


    ​那么现在你就可以在电话或平板设备上,利用触屏触控树莓派了
    TIM截图20171027130904.png


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


    现在,打开「 Home 」应用,试着给你的设备取个名字,例如:皮卡丘
    然后说:「喂, Siri ,打开皮卡丘」试试看!
    Done !完美!


    回复

    使用道具 举报

    0

    主题

    0

    好友

    2924

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情

    昨天 19:54
  • 签到天数: 889 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-10-27 17:21:09 |显示全部楼层
    围观围观,谢谢分享!
    回复

    使用道具 举报

    0

    主题

    0

    好友

    19

    积分

    白丁

    Rank: 1

    该用户从未签到

    发表于 2017-10-30 20:14:33 |显示全部楼层
    太厉害了!超赞!
    回复

    使用道具 举报

    0

    主题

    0

    好友

    7

    积分

    白丁

    Rank: 1

    该用户从未签到

    发表于 5 天前 |显示全部楼层
    感谢分享~~~~~~~~~~~~~~~~~~~~~~~~~~
    回复

    使用道具 举报

    0

    主题

    0

    好友

    7

    积分

    白丁

    Rank: 1

    该用户从未签到

    发表于 5 天前 |显示全部楼层

    围观围观,谢谢分享!
    回复

    使用道具 举报

    0

    主题

    0

    好友

    4

    积分

    白丁

    Rank: 1

    该用户从未签到

    发表于 3 天前 |显示全部楼层
    感谢分享~~~~~~
    回复

    使用道具 举报

    113

    主题

    63

    好友

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    该用户从未签到

    分区版主职务勋章

    发表于 前天 16:35 |显示全部楼层
    感谢分享!

    赞.jpg
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /2 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-11-25 08:19 , Processed in 0.191318 second(s), 18 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部