我们得知很多发烧友们,希望 Powered by Tuya (PBT)的设备能够支持 HomeBridge 平台的接入,并使用苹果 HomeKit 和 Siri 控制完全不支持 HomeKit 的 PBT 设备。
终于在开发和产品同学们的共同努力下,涂鸦智能 HomeBridge 新插件发布啦~
发烧友们,话不多说,赶紧“上车”!
01 背 景
为什么选择 HomeBridge ?
HomeKit,是苹果 2014 年发布的智能家居平台。通过 HomeKit,用户可以使用 iOS 设备控制家里所有标有 “Works with Apple HomeKit”(兼容 HomeKit)的配件。
HomeBridge 允许您与不支持 HomeKit 的智能家居设备集成。HomeBridge 在Github上的关注度火热,目前 Star 数达到 18.1K,项目 Fork 数达到 1.8K 。目前有超过 2000 个 HomeBridge 插件支持数千种不同的智能配件。其中小米、特斯拉、TP-Link 等大厂都有他们自己的 HomeBridge 插件,服务于他们旗下的智能硬件产品。
1、控制终端统一性
通过 HomeBridge 可以把不支持 HomeKit 接口及协议的不同平台的设备(涂鸦以及其他厂商等)桥接到同一个平台(HomeKit)进行控制和联动,融入苹果生态。
2、轻量级的 NodeJS 服务
HomeBridge 是一个轻量级的 NodeJS 服务,可以在家庭网络上运行,HomeBridge 模拟了 iOS HomeKit API。它支持 HomeBridge 插件,提供了从 HomeKit 到 智能家居 设备制造商提供的各种第三方 API 的基本桥梁。
3、多平台支持
HomeBridge 作为一个后台服务,它支持运行在 RaspberryPi OS、Linux、MacOS,Windows 10, 也支持通过 Docker 容器安装到不同平台运行。
适合人群都有哪些 ?
智能家居爱好者:如果你是全屋智能硬件的玩家,会自行购买智能产品,通过简单的技术教程,会安装和使用插件,构建自己的全屋智能解决方案,那么,这里欢迎你!
个人开发者/发烧友:如果你拥有 Powered by Tuya 设备中的其中一款,想要实现不同产品和品牌间的互联互通以及全屋智能设备联动,并且根据自己的需求可以自行扩建我们插件的品类,那么,你也必须来!
02 使用场景
你的家,由你指挥
您可以使用你的 iPhone, iPad, Apple Watch 和 Mac 来控制你的 HomeBridge 配件和设置自动化。
您可以在 Home App 添加以下场景。一次触碰,一句“指令”,多项操作一次搞定。此外,还可以通过 Siri 触发不同场景,控制你的配件。例如:
- “早上好”
房间的窗帘徐徐打开,卧室的智能音箱 HomePod 开始播报今天的早间新闻,洗手间的热水器已经将水温调节到 50 摄氏度,由此开启美好的一天。
- “回到家”
下班回家时,在开门的一瞬间,安防撤离,楼道灯也会像迎宾员一样亮起,欢迎你回来。客厅的灯被唤醒,美丽的旋律响起,窗帘慢慢打开。空调,新风系统开始工作,排出室内污浊的空气,给你清新健康的空气。
- “晚安”
房间的灯光关闭。空调温度被调节到 27 摄氏度,风速小。已经调节好了明早 8 点的闹铃。
- 您还可以:
- “把楼下的灯关掉。” - “把温度调到 20 度。” - “楼下的灯开着吗?” - “把客厅的风扇关掉。”
随着家庭中苹果设备的增加( AppleTV, HomePod 或 iPad ),你可以创建强大的家庭自动化系统,并安全地控制你的设备。
03 业务场景
IoT 本地融合
目前不同厂商的 HomeBridge 插件超过 2000 个,包括 Yeelighter、HomeBridge Mi 系列、HomeBridge-tplink 系列等优秀插件。而 HomeBridge 后台服务可以同时搭载多个不同的插件,同时运行。Tuya 赋能的设备可以与其他厂商的设备在同一个平台进行联动,挣脱了不同厂商的不同设备协议不兼容的束缚。 04技术原理:
JavaScript:
插件使用 JavaScript 开发语言。JavaScript(简称 JS) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
HomeBridge API:
- Platform: 一个可以包含多个附件的插件平台。
- Accessory: Accessory 是实际物理设备的表示,Accessory 可以由单个或多个 Service 组成。对应一个设备对象。由 Category、Service 属性来确定该对象具体是什么设备。
- Category: Homebridge 上的设备类别,例如 LIGHTBULB。
- Service: 是对特定设备类型的功能进行分组的一种方法。
- subType: 子类型。如果将多个相同类型的 Service 添加到 Accessory 中,则必须指定 subType。
- Characteristics: Characteristics 是与 service 功能交互的实际控制点。对应具体涂鸦设备的具体的功能,比如涂鸦的灯具的开关、色温、亮度和颜色。
- Characteristics.onSet: 一个回调方法。可以在该方法的回调中获取 Home App 中状态变更的值,可以通过接口下发指令更新真实设备状态。
- Characteristics.onGet: 一个回调方法。在回调中返回 Tuya 设备当前状态给 Home App。
- Charactieristics.updateValue: 状态更新。
Open API:
OpenAPI 全称是应用编程接口。把服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用。涂鸦提供的 OpenAPI 是涂鸦物联网云端开放能力,覆盖设备控制、全屋管理、场景自动化等核心场景的通用能力。开发者可以基于 OpenAPI,快速搭建智慧商业、智慧工业等行业解决方案。
Tuya 插件通过 OpenAPI,可以实现签名校验、获取访问令牌、获取 IoT 平台云项目关联的涂鸦智能 App 或者智能生活 App 下,已配网的设备信息以及设备的标准指令集,并且可以通过 OpenAPI sendCommand 接口下发设备控制指令,以到达更改设备状态的目的。
MQTT:
MQTT(消息队列遥测传输)是轻量级基于代理的发布/订阅的消息传输协议。通过集成 MQTT,注册消息监听,实时获取到云端推送的涂鸦设备的状态变更,并通过 HomeBridge 插件更新 Home App 中的显示状态。
05 驱动开发
开发者支持基于目前的 Tuya HomeBridge 插件,扩充开发者自己所需求的设备品类,从而满足更加定制型和丰富性的需求。
通过 Tuya HomeBridge 插件现有模版,将获取到的关联设备信息的 DP Code 与 HomeBridge API Characteristic 一一映射即可实现二次开发。开发详情参见 如何开发一个新驱动。HomeBridge 的出现使得设备不再需要接入高成本的 HomeKit 认证就可以轻松地加入苹果的生态。而 Tuya HomeBridge 插件正是在向这个庞大的生态展示我们涂鸦成熟的云能力以及丰富的 PBT 设备,在提升涂鸦在全球IoT 圈子知名度的同时也给 PBT 设备发烧友提供了一个完好的涂鸦官方插件生态环境。