求知的路是漫长的,但我们拥有的只有对技术的狂热和一颗不怕折腾的心.
自从小米某AI音箱开始热门起来后,小编也忍不住要蹭蹭热度.
本文章主要介绍如何利用树莓派+homebridge+homekit打造AI语音家居系统.
废话不多说,开干.
首先,我们得有自己的智能开关.
我在新浪博客上有一篇文章,专门实现智能WIFI开关,大家可以关注一下.
http://blog.sina.com.cn/s/blog_51d0d3190102xgny.html
内容是利用ESP模块,实现智能开关.
硬件烧录的所有程序,已经上传到GITHUB上,大家可以随意下载.
https://github.com/sanwenjing/ESP8266_ESP01S
其次,有了智能开关以后,我们还得有一个树莓派.为什么使用树莓派,因为它小巧,省电,稳定且价格低廉.做家居服务器十分合适.
1.安装homebridge
因homebridge是由一位大神,采用nodejs写的,所以需要安装npm.
apt-get install npm
接下来安装所需要的插件.插件就是连接智能开关和homebridge的中间件.用来规定一些设备操作方法的.
Install homebridge using: npm install -g homebridge
Install homebridge-http using: npm install -g homebridge-http
因我设计的智能开关是HTTP接口操作的,所以使用的插件是homebridge-http,这个插件的特点就是使用HTTP协议访问智能开关.
然后配置homebridge配置文件config.json
(所有的配置文件均已上传GITHUB,大家可以下载)
以下是我的配置文件config.json:
{
"bridge": {
"name": "Homebridge",
"username": "B8:27:EB:7C:26:AA",
"port": 38960,
"pin": "123-45-678"
},"accessories": [
{
"accessory": "Http",
"name": "Switch1",
"switchHandling": "realtime",
"http_method": "GET",
"on_url": "http://192.168.31.240?action=OFF1",
"off_url": "http://192.168.31.240?action=ON1",
"status_url": "http://192.168.31.240?action=states&PIN=IO0",
"service": "Switch",
"brightnessHandling": "no",
"brightness_url": "http://localhost/controller/1707/%b",
"brightnesslvl_url": "http://localhost/status/100054",
"sendimmediately": "",
"username" : "",
"password" : ""
} ,
{
"accessory": "Http",
"name": "Switch2",
"switchHandling": "realtime",
"http_method": "GET",
"on_url": "http://192.168.31.193?action=OFF1",
"off_url": "http://192.168.31.193?action=ON1",
"status_url": "http://192.168.31.193/?action=states&PIN=IO0",
"service": "Switch",
"brightnessHandling": "no",
"brightness_url": "http://localhost/controller/1707/%b",
"brightnesslvl_url": "http://localhost/status/100054",
"sendimmediately": "",
"username" : "",
"password" : ""
},
{
"accessory": "Http",
"name": "Switch3",
"switchHandling": "realtime",
"http_method": "GET",
"on_url": "http://192.168.31.197?action=OFF1",
"off_url": "http://192.168.31.197?action=ON1",
"status_url": "http://192.168.31.197/?action=states&PIN=IO0",
"service": "Switch",
"brightnessHandling": "no",
"brightness_url": "http://localhost/controller/1707/%b",
"brightnesslvl_url": "http://localhost/status/100054",
"sendimmediately": "",
"username" : "",
"password" : ""
}
]
}
代码所示,我一共配置了3个开关,第一个username需要改成树莓派的MAC.
2.启动homebridge.
配置完成后,我们可以直接执行homebridge
执行成功以后,会出现一个二维码,控制台文本模拟的二维码.用手机homekit扫描添加到手机.
因为有一个开关被我关掉了,所以此图只显示了两个开关.
目前两个开关属于关闭的状态.当我们点击以后,将切换到打开的状态.
最后,只需要设置嘿SIRI就能正常使用啦,不过嘿SIRI还是有很多不足,只能手机主人操控.如果家里有多人的话,就需要设置多个手机了,有点麻烦.但聊胜于无,不是吗
?总之折腾的目的已经达到.
成功以后,我们还需要一些收尾的工作.比如homebridge需要一直运行.br/>需要写一个守护的程序来保持运行等等.网上资料很多,这里就不再一一说明了.
交流:E-mail:sanwenjing@163.com
QQ群:572133349
本文原创,转载请载明作者:sanwenjing
转载于:https://blog.51cto.com/7811138/2283752