当Homekit遇到小米智能家居

2017-03-15 19:20:09 203点赞 1688收藏 233评论

从高中的时候就想打造一个智能卧室,如今5年已过才刚刚开始当Homekit遇到小米智能家居

自从Homekit发布,就一直关注,因为一直是个果粉,但是信仰充值实在伤不起,homekit的配件实在是太贵。小米刚出的路由器。在插件里面有homekit的插件,但是价格太高,而且不实用,后期没法自己加配件,只能用小米的配件。

前几天从威锋论坛看到老高发布的一个帖子,是关于把homekit

装到树莓派中,实现手机与智能配件的联系,

点我进原帖

为了写这个帖子,我重装的系统,一步一步重现。排版有点乱,各位看官老爷们将就一下

需要购买的清单

树莓派

树莓派_淘宝搜索淘宝搜索是最智能的商品搜索引擎,通过大数据的运营,准确的理解商品与用户,提供精准的个性化搜索体验。s.taobao.com直达链接



内存卡

闪迪(SanDisk)至尊高速移动MicroSDHC UHS-I存储卡 TF卡 32GB Class10 读速80MB/s85.9元京东直达链接查看百科


开关

sonoff开关_淘宝搜索淘宝搜索是最智能的商品搜索引擎,通过大数据的运营,准确的理解商品与用户,提供精准的个性化搜索体验。s.taobao.com直达链接


还有就是小米智能家居的配件

小米智能网关,小米温湿度传感器,小米门窗传感器,还有Yeelight LED 智能灯泡

写入树莓派系统

硬件全了,现在开始把树莓派系统写入内存卡中,内存卡建议使用高速卡

在这里用到的是Win32DiskImager

树莓派系统下载地址使用的老高帖子里贴出来的。地址

这里是工具包写入树莓派系统写入树莓派系统

箭头指向的地方是你的内存卡的路径。

成功写入成功写入

成功写入树莓派系统

现在需要把内存卡插入树莓派中,接通电源,网线插到路由器上。

开始搭桥

现在需要用到的软件是Xshell

当Homekit遇到小米智能家居

当Homekit遇到小米智能家居

这是要让你输入账号和密码 树莓派的默认账号是pi,默认密码是raspberry

当Homekit遇到小米智能家居

当Homekit遇到小米智能家居

这里你的见面就变成了这样当Homekit遇到小米智能家居这时需要你输入代码了。

依葫芦画瓢,简单的只需要复制粘贴。(下面所有用到的代码,点击 代码文件 下载就可以,原帖中也有。)建议使用notepad++打开

sudo nano /etc/apt/sources.list

当Homekit遇到小米智能家居

然后用键盘的下键拉到最下面加入这两行代码

deb https://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib

deb-src https://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib

然后按Ctrl+X 输入Y 点回车就可以了

继续输入代码

sudo apt-get update

等到出现

说明已经进入系统了说明已经进入系统了

继续输入下一条代码。

sudo apt-get install -y samba screen git




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


sudo apt-get install -y nodejs


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


sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp



cd /usr/lib/node_modules/homebridge/


sudo npm install --unsafe-perm bignum


cd /usr/lib/node_modules/hap-nodejs/node_modules/mdns


sudo node-gyp BUILDTYPE=Release rebuild


cd /


sudo npm install -g homebridge-homeassistant


homebridge

手动开启一下程序,这个时候你会发现报错了。

当Homekit遇到小米智能家居

因为缺少这个文件,所以现在我们创建这个文件,

键盘输入Ctrl+C停止homebridge运行,将再次出现命令提示符

继续复制粘贴

cd /home/pi/.homebridge


sudo nano config.json


{

"bridge": {

"name": "Homebridge",

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

"port": 51826,

"pin": "123-45-678"

},

"platforms": [

{

"platform": "HomeAssistant",

"name": "HomeAssistant",

"host": "https://192.168.13.172:8123",

"password": "raspberry",

"supported_types": ["fan", "binary_sensor", "sensor", "garage_door", "input_boolean", "light", "lock", "media_player", "rollershutter", "scene", "switch"]

}

]

}


当Homekit遇到小米智能家居

PS 那个PIN后面的数字是你输入到家庭里的代码。可以修改,但是格式必须是123-45-678

按键盘上的Ctrl+X键,输入 Y,保存退出。

此时输入 homebridge 你会发现没有之前的报错了

键盘输入Ctrl+C停止

将homebridge设置成随系统启动

cd /


sudo useradd --system homebridge


sudo mkdir /var/homebridge


sudo cp ~/.homebridge/config.json /var/homebridge/


sudo cp -r ~/.homebridge/persist /var/homebridge


sudo chmod -R 0777 /var/homebridge


cd /etc/default


sudo nano homebridge

将下面的内容复制粘贴进去,然后Ctrl+X,然后Y,回车,保存退出

# Defaults / Configuration options for homebridge

# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)

HOMEBRIDGE_OPTS=-U /var/homebridge


# If you uncomment the following line, homebridge will log more

# You can display this via systemd's journalctl: journalctl -f -u homebridge

# DEBUG=*


cd /etc/systemd/system


sudo nano homebridge.service

将下面的内容复制粘贴进去,然后Ctrl+X,然后Y,回车,保存退出

[Unit]

Description=Node.js HomeKit Server

After=syslog.target network-online.target


[Service]

Type=simple

User=homebridge

EnvironmentFile=/etc/default/homebridge

ExecStart=/usr/lib/node_modules/homebridge/bin/homebridge $HOMEBRIDGE_OPTS

Restart=on-failure

RestartSec=10

KillMode=process


[Install]

WantedBy=multi-user.target


继续无脑的复制粘贴

cd /


sudo systemctl daemon-reload


sudo systemctl enable homebridge


sudo systemctl start homebridge


sudo systemctl status homebridge


sudo reboot

现在开始开启mqtt (点我查看代码文件

先打开MQTT的服务

sudo systemctl start mosquitto

再将MQTT服务,设置成随系统启动的默认服务

sudo systemctl enable mosquitto

再来建立Samba服务

设置密码,这个一会会用到,需要输入两次,密码是隐藏的,输入完一次之后回车然后继续输入继续回车。设置密码的代码是下面这条。

sudo smbpasswd -a pi


sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original


sudo nano /etc/samba/smb.conf

将下面的内容,复制粘贴进去

[global]
netbios name = raspberrypi
server string = The Pi File Center
workgroup = WORKGROUP
hosts allow =
remote announce =
remote browse sync =

[HOME ASSISTANT]
path = /home/homeassistant/.homeassistant
comment = No comment
browsable = yes
read only = no
valid users =
writable = yes
guest ok = yes
public = yes
create mask = 0777
directory mask = 0777
force user = root
force create mode = 0777
force directory mode = 0777
hosts allow =


sudo service smbd restart


sudo systemctl restart home-assistant@homeassistant.service

这时,你打开手机中的家庭,点击添加配件,就可以看到了。

当Homekit遇到小米智能家居

点击之后,手动输入代码 这个代码就是 12345678

你添加之后你会发现,没有任何小米的配件,现在你需要获取小米网关的MAC地址和通讯密码,下载米家APP

连接你的小米网关,登录账号,你会在我的设备看到小米网关,此时你需要点进去,点击右上角

当Homekit遇到小米智能家居

点击关于,然后进去后狂点

当Homekit遇到小米智能家居

你会发现界面变成这个样子


当Homekit遇到小米智能家居

点击通讯协议,获取你的密码,MAC地址可以在路由器里查看。

当你获取你的通讯密码和MAC后,你需要下面的步骤。

点击的网络,点击

当Homekit遇到小米智能家居


账户名是pi 密码是你刚刚设置的。

进入之后,去

https://github.com/lazcad/homeassistant

下载小米网关的文件(点我下载

然后创建一个custom_components的文件夹,吧下载的东西放进去

当Homekit遇到小米智能家居

点击configuration文件,用notepad++进行编辑

当Homekit遇到小米智能家居

此时你需要老高汉化好的文件,点我下载

当Homekit遇到小米智能家居

这些信息你可以自己修改。

根据自己的地理位置来修改。

现在来添加小米网关

当Homekit遇到小米智能家居

xiaomi:

gateways:

- sid: mac地址

key: 通讯密码

mac地址不能带-


2017年3月12日00:41:21 我发现在app里面发现不了桥,我看下之前的哪里错了

2017年3月12日00:51:19 重新用xshell登录

sudo nano config.json

然后添加

{

"bridge": {

"name": "Homebridge",

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

"port": 51826,

"pin": "123-45-678"

},

"platforms": [

{

"platform": "HomeAssistant",

"name": "HomeAssistant",

"host": "https://192.168.13.172:8123",

"password": "raspberry",

"supported_types": ["fan", "binary_sensor", "sensor", "garage_door", "input_boolean", "light", "lock", "media_player", "rollershutter", "scene", "switch"]

}

]

}


这个和刚刚的必须一样。

输入完了之后和刚刚一样的保存

然后清理下缓存

sudo rm -rf persist

重启树莓派的电源。

现在上效果图。

当Homekit遇到小米智能家居


当Homekit遇到小米智能家居

当Homekit遇到小米智能家居

好了,现在教程到这了,由于我的卧室是吸顶的led灯,得改造才能用上Yeelight LED 智能灯泡,所以就不上灯的评测了。现在在研究如何远距离控制车库门,和家中其他卧室和厕所的改造。

未完待续

展开 收起
233评论

  • 精彩
  • 最新
  • 楼主能再严谨一点吗?这么一篇满满都是坑的文章真是害人不浅啊。。。

    校验提示文案

    提交
    哪里有坑了,亲,说一下,共同改进

    校验提示文案

    提交
    收起所有回复
  • 折腾这么大动静,只能应用在开关网关灯?换个颜色?还有别的么?请问,对这个完全不懂

    校验提示文案

    提交
    这个只是初级教程,马上跟新yeelight,和sonoff开关

    校验提示文案

    提交
    收起所有回复
  • 最后的「sudo nano config.json 」是放在哪个位置呀??之前能发现桥,后来又不见了....

    校验提示文案

    提交
    要先运行cd /home/pi/.homebridge 这个代码才可以。

    校验提示文案

    提交
    请问解决了吗,我的桥也不见了。。。

    校验提示文案

    提交
    收起所有回复
  • 太复杂,太复杂,太复杂!非IT根本搞不懂。

    校验提示文案

    提交
    我也不是搞it的啊

    校验提示文案

    提交
    收起所有回复
  • 小米路由的homekit助手简单搞定

    校验提示文案

    提交
    价格太贵了。小米路由的homekit不支持第三方的配件

    校验提示文案

    提交
    是新出的小米路由pro吗

    校验提示文案

    提交
    还有11条回复
    收起所有回复
  • 厉害。话说现在有没有比较好一点的集成解决方案,这个太难,不会。

    校验提示文案

    提交
    挺简单的啊,跟着教程一步一步走。

    校验提示文案

    提交
    收起所有回复
  • 这个和用小米的智能家居产品有什么区别?还有小米的智能家居产品价格很高?

    校验提示文案

    提交
    我这个是把小米智能家居和苹果手机家庭app联网的。小米家居比较方便,适合没有基础的,但是价格相对于自己加工价格高。

    校验提示文案

    提交
    小米的智能家居性价比不行

    校验提示文案

    提交
    收起所有回复
  • 我还是用直接支持homekit的灯泡吧

    校验提示文案

    提交
    两个灯买一套

    校验提示文案

    提交
    收起所有回复
  • 实在在我能力范围之外

    校验提示文案

    提交
    有啥不懂的,你发评论我帮你

    校验提示文案

    提交
    就写代码那步我就懵逼了

    校验提示文案

    提交
    收起所有回复
  • 不知道有没有办法把科龙海信这些自带wifi控制模块的空调一起加到homekit里去

    校验提示文案

    提交
    可以去 Home Assistant官网看看

    校验提示文案

    提交
    收起所有回复
  • 楼主这帖子,小米官网上有差不多的

    校验提示文案

    提交
    恩,但是我和小米论坛的也有些不同。

    校验提示文案

    提交
    收起所有回复
  • 卡在json的配置文件上了,奇怪了,换了两张卡,到配置文件弄完之后,一直提示Failed getting devices: Error:,然后连接不到8123端口,HomeAssistant起不来,怪了去了

    校验提示文案

    提交
    ***,截图,我帮你看看

    校验提示文案

    提交
    没遇到过那,你试试从头安装一遍,不建议晚上弄,容易各种问题

    校验提示文案

    提交
    收起所有回复
  • 6666666666666 厉害了.是不是也可以控制小米的摄像头哦

    校验提示文案

    提交
    小蚁,小方的可以,但是树莓派这个配置,就算了。,

    校验提示文案

    提交
    收起所有回复
  • 折腾了一个晚上,一切都那么顺利,直到最后我发现小米网关一代根本不支持啊,还有请问小米无线开关支持吗?还是必须要买zigbee版的啊?

    校验提示文案

    提交
    必须二代。买个二代吧,几乎支持小米所有智能家居

    校验提示文案

    提交
    收起所有回复
  • 问下你网关那里打马赛克的格式是怎么样的?
    大小写,有啥要求

    校验提示文案

    提交
    mac地址不带符号。密码按照app来

    校验提示文案

    提交
    晕,搞定网关灯,没其他设备,用其他办法找到其他设备,网关灯没了,好累,sonoff也刷不了,错误,要是有个群,能实时谈论就好

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 楼主,怎么联系你啊?我按照你的方法修改configuration文件之后,只能识别小米网关,其余的配件homekit都没识别出来,但在网页端的homeassistant却能看到。

    校验提示文案

    提交
    那个文件安装放到目录下了么

    校验提示文案

    提交
    你好,我跟你情况一样,在网页端能看到这些设备,手机里看不到,请问你怎么解决的,能说具体点吗?谢谢。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • ***,请教一下你是怎么设置汉化那些设备的?现在都能控制,但是就是因为设备名称是一大串字母加数字的,没法用siri控制,***

    校验提示文案

    提交
    手机里改,按住图标,详细信息里改

    校验提示文案

    提交
    可以在yaml文件里修改的,一会发个汉化的文章

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • @Yang_John 楼主求救:也是突然app里面发现不了桥,之前一切正常,手贱删了iOS里的桥,想重连,结果死活发现不了桥了,求解决方法

    校验提示文案

    提交
    先看下是不是服务没起来,手动启动一下,如果不是这个问题,清楚下缓存 sudo systemctl stop homebridge 停止
    cd /var/homebridge 进入目录
    清除缓存
    rm -rf .homebridge/persist
    sudo rm -rf persist

    校验提示文案

    提交
    [装大款] 我重刷了遍系统好了,谢谢啦,下次再遇这种情况就试试这法

    校验提示文案

    提交
    收起所有回复
  • 有几点我补充一下,其一楼主直接使用了智能系统HASSBIAN,如果有的人安装的是原生RASPBIAN也可以通过命令行手动安装,具体可见去看看,其二楼主的帖子里似乎漏了安装SMB和MQTT,具体命令可见去看看,其三首次安装启动后等待时间较久,老外说等5分钟,我这里是肯定不够的,大家可以等久一些。

    校验提示文案

    提交
    没有漏. 现在开始开启mqtt (点我查看代码文件)

    先打开MQTT的服务

    sudo systemctl start mosquitto

    校验提示文案

    提交
    你这是开启,我说的是安装………

    校验提示文案

    提交
    收起所有回复
  • @Yang_John 您好,我装完正常了,网关灯、ZigBee插座、sonoff开关都能使用,可是在家APP里并不显示温湿度传感器和人体传感器,可是在Home Assistant 却会显示,这是为啥?

    校验提示文案

    提交
    我之前出现这个问题,换了一个usb充电头,2.4的,然后把网关拔下来重新插上,点了一下传感器上的按钮,就好了

    校验提示文案

    提交
    嗯嗯嗯,谢谢您,我后来在武没娘和狄胖胖的帮助下,已经安装成功了,都会显示了

    校验提示文案

    提交
    还有5条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1.6K
扫一下,分享更方便,购买更轻松