你的iPhone可以控制家电么?
2018-09-12
随着苹果公司的iOS10系统的正式发布,HomeKit(苹果智能家居平台)正式出现在了我们iPhone的桌面上,这个图标就是“家庭”。但是这个功能却鲜为人知,或者看到有这么个玩意打开一遍就尘封了。那么“家庭”这个功能是做什么的,其中又用了哪些技术呢?
HomeKit是干嘛的?
HomeKit背后的概念是这样的,苹果为消费者提供一款iOS设备,并通过一款应用,或是通过其合作伙伴应用的一个常用UI接口,去控制用户的家居产品。
苹果负责软件工程的高级副总裁Craig Federighi表示,用户甚至可以集中不同的应用,然后用一个命令来控制。
例如,如果你要离开家,只需告诉Siri你走了,那么这一个命令就能执行多个操作,包括关闭室内灯光和锁门。
哦,原来“家庭”是做家电控制的,这么高大上,那为什么自己的iPhone控制不了呢?是不是自己的iPhone买亏了?
自从苹果推出了HomeKit以来,鉴于苹果庞大的用户量,不断开始有家电厂商开发出兼容HomeKit的家电。然而第一个吃螃蟹的人总是有代价的,这些电器的价格不是太贵就是中国买不到,所以使用HomeKit的仍然是小众群体,就导致了很大一部分人根本就不知道这个有什么用。
2.要实现HomeKit控制家电需要哪些技术呢?
介绍所需的技术点之前,我们需要了解一下HomeKit的工作流程。首先需要你的iPhone可以通过“家庭”APP或者Siri语音识别实现家电的控制。APP可以在局域网内完成操控,但是语音识别需要手机连入互联网。Siri识别到会将语音数据上传到云,并做识别处理,再下发到iPhone。此时,手机会通过WiFi发送指令给网关。网关接收到后,处理信息内容,并进行家电的控制啦。如下图。
那要实现控制家电的功能,需要怎样的技术呢?
在回答这个问题前,我们可以先了解一下GitHub上各路大神DIY的技术。上网搜搜,你会发现几乎都是树莓派做网关,Arduino做有线的控制部分。软件部分主要在于网关,基于homebridge做HomeKit的收发协议接口,homeassistant做智能家居控制接口,homebridge-homeassistant做plug-in。
那么问题来了,你自己DIY可以么?当然可以。但是做产品呢?肯定不行。
原因:①众所周知,生产适配苹果的产品,会经过很严格的审查。第一,需要有MFI认证码;第二,生产时苹果会严格审厂。homebridge是“上不了台面”的SDK。作者KhaosT是个在美留学的中国人,曾在苹果的HomeKit 团队实习过,这也make sense了为何是他第一个逆向了苹果的HomeKit协议。后来苹果让删掉这部分博客,但是代码已经在github上广为流传,你觉得苹果会让你出售产品?②网上流传的树莓派的板子是商业级产品,达不到工业级的要求,我们做产品都会求稳。
基于以上三点,建议还是需要老老实实拿到MFI码,买正版HomeKit SDK,接受审厂,能做的就是尽量把产品做稳定。因此,做产品你需要攻克以下几个技术难点。
l首先,你需要一个正版HomeKit SDK。这个是至关重要的,也是必不可少的;
l其次,你需要一个稳定运行的网关;
l你还需要一个稳定的无线或有线连接方案。
那么哪里才能买到正版HomeKit SDK呢?NXP,官方报价499$,包含无限可生产许可,两个小时专业技术支持。它不仅支持WiFi和以太网,还支持BLE4.2。只需要TCP/IP,无需其他依赖项。
解决了SDK,接下来就得寻找稳定的网关方案以及无线传输方案。这里推荐是周立功的网关方案:A6G2C系列IoT核心板,基于NXP i.MX6UL系列Cortex-A7高性能处理器设计,集成工业级Wi-Fi、蓝牙无线通讯单元。很适用于快速开发智能家居网关产品。
AW516x,Nano型zigbee无线模块,尺寸只有13.5mm×16.5mm,休眠功耗低至100nA。不仅支持现成免费的Fastzigbee组网协议,同时支持用户基于标准的zigbee协议栈进行二次开发,包括最新的ZigBee3.0协议。