基于HomeBridge的HomeKit & Siri智能家电树莓派桥接器
本帖最后由 ky123 于 2018-1-31 14:13 编辑感谢E络盟官方提供的助赛基金。
1 首先说下什么是桥接器
飞利浦推出过一套很出名的HUE智能灯泡套装,价格巨高无比,如下图所示
三个灯泡+一个桥接器售价高达上千元
这里面的桥接器的主要作用就是负责连接灯泡
统一将灯泡进行连接,然后只有桥接器连接到路由器上
可以减轻路由器负载(路由器从好几个连接点变成一个桥接器连接
2 再说说什么是Homebridge
这是前苹果员工通过逆向工程将HomeKit反编译出来的,可以将一些不支持HomeKit的产品接入HomeKit中
HomeKit的智能家居产品都价格高昂,而HomeBridge可以运行在Linux路由器中
从而可以将一些支持型号的家电接入HomeKit中,也可以写入树莓派中,接入HomeKit中
(比如米家系列、博联等生态链的产品
3 项目需要准备的设备
1)树莓派
2)树莓派配套的相关电源、SD卡等
3)路由器,emmm,比如蒲公英路由器(滑稽
4)小米台灯
4 项目内容展示
http://v.youku.com/v_show/id_XMzI0NTcxNTAzMg==.html
Siri语音调节灯的亮度
5 项目实施
首先烧录树莓派镜像
这里不详细介绍了
有一个细节
有些树莓派的镜像默认情况下并不开启SSH
然而又没屏幕和鼠标键盘,就没法登陆树莓派
在烧写完镜像之后,打开SD卡(盘名应该是boot
右键新建个文本文件就行,然后改名为SSH
同时删掉.txt后缀,再插上网线就能正常SSH登录树莓派了sudo apt-get update
sudo apt-get upgrade首先更新一下软件sudo apt-get install nodejs
sudo apt-get install build-essential
sudo apt-get install libavahi-compat-libdnssd-dev然后安装一下nodejs和相关依赖包文件sudo npm install -g homebridge
sudo npm install -g homebridge-aqara安装homebridgesudo npm install -g homebridge-yeelight安装yeelight,米家的灯都是基于yeelight的,所以这里要安装一下yeelightsudo vi /homebridge/config.json编辑一下配置文件{
"bridge":
{
"name": "RPIbridge",
"username": "CC:22:***:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"platforms":
[
{
"platform": "Aqara",
"sid": ["2e6f7c3c2b1a"],
"password": ["********"]
}
]
}2e6f7c3c2b1a填路由器mac地址(不要写冒号
***********指的是路由器密码
打开yeelight手机app的第三方控制
不然树莓派无法控制小米台灯
配置完成后运行一下试试
输入命令行homebridge
在putty中会显示二维码,扫一下就可以添加
完成后如上图
编辑一下名字,小米台灯即可
在底部控制中心可以拉出来控制面板
用Siri试一下能否正常运行
在putty中可以看到树莓派送达小米台灯的指令
到此已经可以正常运行了
下面配置一下开机自启动
不然每次都要输入homebridge命令sudo vi /etc/init.d/homebridge设置开机自启动脚本#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
dir="/home/pi"
cmd="DEBUG=* /usr/bin/homebridge"
user="pi"
name=`basename $0`
pid_file="/var/run/$name.pid"
stdout_log="/var/log/$name.log"
stderr_log="/var/log/$name.err"
get_pid() {
cat "$pid_file"
}
is_running() {
[ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1
}
case "$1" in
start)
if is_running; then
echo "Already started"
else
echo "Starting $name"
cd "$dir"
if [ -z "$user" ]; then
sudo $cmd >> "$stdout_log" 2>> "$stderr_log" &
else
sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" &
fi
echo $! > "$pid_file"
if ! is_running; then
echo "Unable to start, see $stdout_log and $stderr_log"
exit 1
fi
fi
;;
stop)
if is_running; then
echo -n "Stopping $name.."
kill `get_pid`
for i in {1..10}
do
if ! is_running; then
break
fi
echo -n "."
sleep 1
done
echo
if is_running; then
echo "Not stopped; may still be shutting down or shutdown may have failed"
exit 1
else
echo "Stopped"
if [ -f "$pid_file" ]; then
rm "$pid_file"
fi
fi
else
echo "Not running"
fi
;;
restart)
$0 stop
if is_running; then
echo "Unable to stop, will not attempt to start"
exit 1
fi
$0 start
;;
status)
if is_running; then
echo "Running"
else
echo "Stopped"
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0创建完成后要给开机自启动脚本足够的权限sudo chmod 755 /etc/init.d/homebridge
sudo update-rc.d homebridge defaults至此,支持开机自启动的“基于HomeBridge的HomeKit & Siri智能家电树莓派桥接器“项目便完成了
页:
[1]