雷军的梦想,至少实现了一小半,比锤子浩强多了。小米全套的智能家居,的的确确用群众负担得起的价格,打造了一个生态圈。

新时代里,谁都想做韭菜的主。小米用米家App作为管理入口,不断靠低价智能硬件来吸粉,以此对抗竞争对手在智能家居上的种种布局。比如苹果的家庭App。

我相信大部分人都没怎么用家庭App。因为只有支持了Homekit的硬件,才有可能出现在苹果的家庭App里面,用Siri来语音控制。

米家App的功能越来越多,但是有一点,它可能永远也做不到,用Siri控制米家App里面的智能硬件。

很明显,米家和苹果,一个不会让你进,一个压根儿就不进。两条平行线,永远没有交集。

如果不用米家App,全换成支持Homekit的智能硬件。Opso(确定不是蹭OPPO的品牌?)智能插座¥298,D-link摄像头¥498,对比小米插座49,小方摄像头99,还有一大堆几十块钱的传感器,感觉自己像傻子。

如果只用米家App。每次手工操作,都需要打开App,找到对应的硬件,手动点击。

虽然米家App可以添加一些快捷方式到锁屏界面,总是觉得麻烦。

So,完美的方案应该是,用Siri来控制米家的硬件!

但是Siri只认Homekit,而Homekit和米家放在一起,就是鸡同鸭讲。于是我们需要有人翻译,这个人叫做Home Assistant。

01

Homekit,Homebridge,Home Assistant

因为之前的教程,都会用到Home Bridge。所以,解释一下这三兄弟到底有什么关系。

Homekit,是苹果专属的智能硬件框架。

Homebridge,是连接Homekit和不支持Homekit的智能硬件的中间件。

Home Assistant,是支持各种智能硬件的集中管理平台。

在Home Assistant上,你可以找到市场上几乎所有的智能硬件。它都能做集中管理。

Home Assistant和使用Homekit的家庭App都是集中管理智能硬件的平台,互相之间没有通信的必要,正如米家App和家庭App的关系一样。

但是,Home Assistant能够集成各种品牌的智能硬件,如果可以输出到家庭App里面,不就完美了吗?

早期Home Assistant不支持Homekit,需要通过Home Bridge的附件来提供支持。从今年的新版本开始,Home Assistant已经内置了Homekit支持,不再需要Home Bridge了,实现整合管理,变得更加简单。

02

树莓派Raspberry

Home Assistant是一套软件包,运行它,需要一台常年开机的电脑。最省电,最简单的方式,是使用小巧的智能核心树莓派Raspberry来搭建。

树莓派是基于Arm芯片的一小块电路板,加上盒子就是台小电脑,甚至可以运行定制化的Win10。

不过,为了省电和平稳,推荐树莓派官方基于Debian改造的Linux核心系统Raspian。

让运行树莓派运行起来,你需要下列硬件:

一台树莓派:

中国版3B+就很好,不用迷信英国版,中国版便宜又好用。

我在马云家买的套装,包含透明外壳,电源,散热片。这东西没什么盗版,价钱都差不多。

淘口令:¥mfGAbfKsP0c¥

一台显示器:

你也可以买触摸屏的套装,但是我认为屏幕在未来使用的机会很少。无论是Windows,还是Linux,都有远程桌面。显示器只是安装的时候,做初始配置用。

一张MicroSD卡:

16G足以,速度是U1即可,推荐品牌Sandisk或者三星。

一只USB有线鼠标:

配对好的罗技无线也ok。

一架键盘:

有线无线都可以。我用折叠的蓝牙键盘完成了大部分操作。

一根HDMI线缆:

用来连接树莓派和显示器。

树莓派买来的时候是没有任何操作系统的,你得去官方下载一个镜像回来。

地址:https://www.raspberrypi.org/downloads/raspbian/

下载RASPBIAN STRETCH WITH DESKTOP这个完全版就好了。

下载回来的Zip文档,解压缩之后是完整的镜像。你需要做的是把镜像写入到用作硬盘的MicroSD卡上。注意,不是复制文档过去,而是烧录镜像到这张卡上。

官方推荐的工具就很好用:etcher,开源,免费。

网址:etcher.io

Mac上很方便使用,只是别选错了目的地。

烧好镜像之后,就可以把卡塞到树莓派的pp里开机了。树莓派没有开关,接好HDMI线,鼠标,插入microUSB接口电源,直接开机。

开机之后,是一系列的配置过程。选择系统语言,给缺省登陆的”pi“用户设置新的密码,更新软件包。

root用户出于安全原因,被禁用了。需要系统级权限的命令,都可以通过”pi“用户,sudo来执行。

这时候,可以添加蓝牙设备,比如键盘。

可以设置WiFi。

成功连接上网络之后,建议在WiFi的图标上点右键,进入网络设置,换一个固定ip,以免将来连接的时候,找不到树莓派。如果不懂应该设置成什么ip,建议还是留空吧,免得连不上。

设置完ip,需要重启树莓派。之后,新的ip就用上了,你可以通过终端窗口的ifconfig命令来查看。

新的raspian系统,已经尽可能的傻瓜化,开启远程加密登陆和远程图形界面的控制,完全可以通过图形化界面来完成。

左上角点击树莓派,进入config。

在Interface里面,enable ssh和vnc的服务。然后,你就可以拔掉HDMI,回到你熟悉的电脑上,用ssh客户端来登陆这台树莓派。

Windows用户可以用putty。www.putty.org

Mac用户最简单,实用工具中打开终端窗口,直接输入:

$ ssh pi@你的树莓派ip

然后输入刚刚重建的密码就登陆上去了。

如果还想看看那个粗鄙图形界面,下载一个vnc viewer远程控制即可。推荐realvnc的客户端,大厂出品,性能稳定。

下载地址:https://www.realvnc.com/en/connect/download/viewer/

03

安装Home Assistant

感谢码农们的辛苦劳动,现在安装Home Assistant已经简单到令人发指。

即使是高级的命令行安装,都可以无脑拷贝粘贴,执行命令完成安装。以下过程,完全是Home Assistant的标准教程。

ssh命令登陆进入树莓派的系统:

$ ssh pi@你的树莓派ip

注意:$ 提示符后面,是需要拷贝粘贴的命令。

先更新一下系统:

$ sudo apt-get update

$ sudo apt-get upgrade -y

安装需要的软件包:

$ sudo apt-get install python3 python3-venv python3-pip

如果是最新的raspian,这些软件包都已经安装好了。重新执行一下,只是确保没有遗漏。

Home Assistant需要创建一个单独的用户来执行自己的程序。直接复制粘贴命令:

$ sudo useradd -rm homeassistant -G dialout,gpio

创建目录,变更目录的所有权:

$ cd /srv

$ sudo mkdir homeassistant

$ sudo chown homeassistant:homeassistant homeassistant

接下来是创建Home Assistant的运行环境:

$ sudo -u homeassistant -H -s

$ cd /srv/homeassistant

$ python3 -m venv .

$ source bin/activate

这一串命令成功执行之后,命令行的提示会有变化,看一下”$“前面的提示,正确无误的话,继续执行命令:

(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel

这才开始正式安装:

(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant

等到屏幕回到有”$“提示符的状态,说明安装完成。可以开始第一次运行了。

请记住,你的Home Assistant的配置文件目录,在 /home/homeassistant/.homeassistant

执行命令:

(homeassistant) $ hass

第一次运行,Homa Assistant会扫描网络内的智能硬件,总过程5-10分钟左右,耐心等待就好。由于命令直接在前台运行,是不会回到提示符状态的。

想要回到提示符,你只能输入Ctrl+C终止这个任务。手工将进程运行在后台的方法是:

$ nohup hass &

只要hass进程在运行,你就可以通过网址来访问Home Assistant。

http://你的树莓派ip:8123

正常启动的Home Assistant,会在这里跟你报告系统的状况。比如,扫描到xiaomi网关,但是无法配置。

先不去管配置的问题。虽然Home Assistant已经在运行了,但是只要你退出登录,进程就会结束。

我们要先把它搞成开机自启动。Raspian树莓派的系统,采用systemd作为开机守护进程。

你要做的很简单,新建一个文件,按照模板写好内容,用指定的名字存放在规定的文件夹即可。

$ sudo nano -w /etc/systemd/system/home-assistant@homeassistant.service

在编辑页面中,填入下面的内容:

[Unit]

Description=Home Assistant

After=network-online.target

[Service]

Type=simple

User=%i

ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"

[Install]

WantedBy=multi-user.target

粘贴好之后,按组合键Ctrl+X,nano会问你是否存盘,当然是”Y”。

接下来输入命令:

$ sudo systemctl --system daemon-reload

$ sudo systemctl enable home-assistant@homeassistant

搞定。

以后手工开启或者停止Home Assistant,只需要执行下面的命令即可:

#开始

$ sudo systemctl start home-assistant@homeassistant

#停止

$ sudo systemctl stop home-assistant@homeassistant

04

配置小米网关到Home Assistant

小米要维护自己的生态圈,并不想开放接口给第三方。Home Assistant对于小米设备的支持,要通过一些特别的手段来实现。

小米设备分成两大类,zigbee通信协议,WiFi通信协议。这在Home Assistant中,已经有热心码农开发了现成的接口用来接入。

zigbee设备的接口统一到了xiaomi-aqara(绿米的品牌)

wifi设备的接口统一到了xiaomi-miio。

wifi设备通过token来进行授权通信,寻找的方法比较复杂。这次就直说zigbee网关设备吧。

网关设备通过网关的mac地址和通信协议的密码来连接。绿米缺省隐藏了这部分设置,不然有品估计不让卖。

怎么找到呢?

打开米家App,点击你的网关设备,按图索骥。

iOS的密码是大写的,原样照抄回来。上一级菜单中,点击网关信息,可以看到网关的mac地址,也记下来。

接下来,需要把这些信息告诉Home Assistant。编辑Home Assistant的配置文件。

$ sudo nano /home/homeassistant/.homeassistant/configuration.yaml

单独找个空白的地方,加入下面的内容:

xiaomi_aqara:

discovery_retry: 5

gateways:

- key: xxxxxxxxxxxxxx

这是单网关的设置。如果是多网关,那么应该是这个样子:

里面的各种标点符号,一个都不能少。mac前面的”-“号也不能省。

Ctrl+x退出,并且在询问是否存盘的时候,选择“Y”。

回到你的浏览器,打开Home Assistant页面:

http://你的树莓派ip:8123

按图重载Home Assistant的配置。

Home Assistant会提示你发现新的设备。网关的子设备,大部分都可以在这里找到。

05

把好消息告诉Siri

Home Assistant已经有了小米网关,最后一件事,就是让Siri也能看到。内置了Homekit支持的Home Assistant,增加这个小功能很简单。

回到命令行界面,用ssh登陆到你的树莓派:

$ ssh pi@你的树莓派ip

输入命令:

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

安装完成就好了。

然后又是修改Home Assistant的配置文件。

$ sudo nano /home/homeassistant/.homeassistant/configuration.yaml

单独找个空白的地方,加入下面的内容:

homekit:

Ctrl+x退出,并且在询问是否存盘的时候,选择“Y”。

这两部加好了,就是这个样子。

重复上一步,重载Home Assistant的配置。你会看到一个新的卡片页,显示Home Assistant的代码。

这串代码是用来添加到家庭App中的。

打开家庭App,添加设备,强行输入代码。

终于能看到小米网关的各种连接设备了!你已经可以用Siri去控制这些设备了,记得起一个叫得响的名字,不要中英文掺杂。

如果想用家庭App的自动化,你还需要Homepod,或者Apple TV,或者一台iPad。

等等,iPad,有的是啊。

Apple TV也有,但是对于国内的用户不现实。Apple TV上必须用美国区的iTunes账号,跟平时的Apple ID不同。不同的Apple ID,是没法让Apple TV做主控设备的。

iPad最理想。

不过我不建议用家庭App的自动化功,太傻。这一点米家的App要灵活的多,从智能条件控制上,明显看出分别。

米家可以多个条件,而家庭App就只有一个,能够执行的动作也少。

到此,大功告成。就为了让Siri开个灯,费老鼻子劲了。

其实绿米已经有了支持Homekit的网关,售价¥299,前面那些工作,你一个都不需要做,就可以在Siri里面控制网关。

这显然是绿米谋求独立发展的大胆行动,所以在有品商城上,也看不到这款网关。

那你还折腾什么树莓派呢?

使用绿米的Homekit网关,可以实现基本的功能,但是也意味着放弃了一多半小米的设备,就目前阶段来说,折腾一下还是值得的。

让Siri当你的管家,用iPhone玩转小米智能家居相关推荐

  1. android 修改充电图标,更换图标、修改充电音...这个软件把iPhone玩成了安卓

    原标题:更换图标.修改充电音...这个软件把iPhone玩成了安卓 TASTER科技|快捷指令 9月17日,苹果推送IOS 14正式版,在无数用户升级到IOS 14之后,iPhone充电提示音火了! ...

  2. 乐鑫Esp32-S2学习之旅① 入门 ESP32-S2 环境搭建 ,分享如何直连苹果智能家居 HomeKit 平台,轻松语音 Siri 控制!

    本系列博客学习由非乐鑫官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 基于乐鑫ESP32 芯片模组 C SDK二次开发的技 ...

  3. 苹果屏幕使用时间怎么设置_利用苹果屏幕使用时间 限制儿童使用iPad、iPhone玩游戏...

    用好屏幕使用时间,让熊孩子痛哭流泪! 简单总结一下利用 苹果的 屏幕使用时间功能限制儿童使用ipad iPhone等苹果设备. 第一步 打开"设置",选择"屏幕使用时间& ...

  4. siri接入易微联_想用Siri控制智能家居?先接入HomeKit!

    原标题:想用Siri控制智能家居?先接入HomeKit! 2014年,苹果发布HomeKit智能家居平台,而直至2016年6月WWDC上发布全新iOS 10 操作系统,果粉才得以在iPhone及iPa ...

  5. 如何在iPhone或iPad的控制中心中控制智能家居设备

    Apple's Home app offers quick controls for controlling smart lights, doorbells, thermostats, and oth ...

  6. Siri 捷径邂逅esp8266实现的智能家居控制

    Siri对接esp8266语音控制自制智能家居 首先上视频,看下效果: src="//player.bilibili.com/player.html?aid=33278301&cid ...

  7. android电视投影ipad,【沙发管家】苹果手机, Ipad连接安卓智能电视投屏教程!

    原标题:[沙发管家]苹果手机, Ipad连接安卓智能电视投屏教程! 现在很多人对于安卓智能电视的投屏功能已经非常熟悉,使用安卓手机的用户,有很多办法可以直接连接电视进行投屏,但是,使用苹果设备直连安卓 ...

  8. 小米10pro第二个摄像头下面_最大的差异竟不是价格?坚果 R2对比iPhone 12和小米10 Pro...

    2020年的国内手机市场竞争可以用日渐"红海化"来形容,在5G手机全面普及的浪潮下,各大国产手机品牌也开始纷纷冲刺高端市场.在这一背景下,对于旗舰手机而言单纯的硬件"堆砌 ...

  9. android+8.0关热点,体验像iPhone X,小米MIX 2升级安卓8.0了!

    原标题:体验像iPhone X,小米MIX 2升级安卓8.0了! 相对于苹果iOS手机,安卓手机的系统版本升级,总体来说比较缓慢.就当下的国内市场而言,系统版本升级至Android 8.0,或Andr ...

最新文章

  1. 【HNOI2011】数学作业(BZOJ 2326)
  2. MCSDK HUA Demonstration Guide
  3. 飞行模式的开启和关闭
  4. 包打包和解析过程 unity_Unity学习—资源管理概览
  5. Problem C: 括号匹配(栈和队列)
  6. 深圳电子地图 深圳高清电子地图 来自谷歌电子地图 最高19级地图
  7. 精简DropDownList用法
  8. 落谷 P3375 【模板】KMP字符串匹配
  9. MyBatis动态SQL的List传值错误
  10. 游戏服务器mysql封装_游戏服务端之C++封装Mysql
  11. 给 Java 说句公道话
  12. 深度学习图像分类数据集制作
  13. 可汗学院公开课——统计学学习:35-46
  14. 【逗老师的无线电】宝峰神机刷OpenGD77摇身变为DMR大热点
  15. graphpad细胞增殖曲线_应用GraphPad Prism制作生存曲线详细图文过程
  16. 万豪国际集团全新人才品牌“Be”将于全球超8300家酒店上线 | 美通社头条
  17. Python - 列联表的独立性检验(卡方检验)
  18. Mysql 慢日志查询小于1000ms显示0s问题排查
  19. Google Play上架的App无法正常使用Facebook登录接口
  20. Lind.DDD.Domain领域模型介绍

热门文章

  1. 如何在指板上寻找特殊和弦
  2. 基于OV5640的FPGA-RAM HDMI显示
  3. Microsoft SQL Server 2012(附序列号)
  4. C语言结构体学习(二)
  5. 你还在用canvas画爱心吗?看我让你的名字在星空绽放
  6. 用于app的支付成功与失败页面
  7. ————博客永久废止————转到http://1su.net/nsB
  8. 如何写互联网产品分析报告
  9. CSS复合选择器:后代选择器
  10. Object Detection in 20 Years: A Survey 20年间的目标检测:综述