博客专栏

EEPW首页 > 博客 > Home Assistant 群里炸开锅了:涂鸦发布新插件啦! 赶紧冲!

Home Assistant 群里炸开锅了:涂鸦发布新插件啦! 赶紧冲!

发布人:智能物联研习社 时间:2021-07-16 来源:工程师 发布文章

什么?听说了没?涂鸦智能发布新 Home Assistant 插件啦!


看到了!群里都炸开锅啦!赶快冲冲冲!


近期,我们得知有很多发烧友客户,希望 Powered by Tuya 的设备能够支持这个平台的接入,并使用 Home Assistant App/Web 控制 Powered by Tuya 的设备。


在万众期待下,我们发布新插件啦~发烧友们,赶紧冲鸭!


图片


   01   背景

为什么选择 Home Assistant ?


我们为什么会选择 Home Assistant ? 正因为他无法抵抗的自身魅力~

Home Assistant 是一款基于 Python 的智能家居开源项目,支持众多品牌的智能家居设备,可以轻松实现设备的语音控制、自动化等。它有一个简单的、适合移动设备的界面来控制用户所有设备,且不会将任何数据存储在云端,以保护个人隐私。


其身为 Github 最火的 IoT 智能硬件开源项目,现有44k star,14.3k Fork,reddit.com 中 Community Members 达到 130 k。可基于树莓派硬件创造很多种智能家居玩法,在开发者领域有着比较高的口碑和用户群体。



图片



 适合人群都有哪些 ?


爱好者/玩家:如果你是全屋智能硬件的玩家,会自行购买智能产品,构建自己的全屋智能解决方案,那么,这里欢迎你!


个人开发者/发烧友:如果你拥有 Powered by Tuya 设备中的其中一款,想要实现不同产品和品牌间的互联互通以及全屋智能设备联动,那么,你也必须来!


软硬件集成商( ISV/IHV ):你可以基于 Home Assistant 平台以及 Tuya 插件,直接集成或二次开发,为客户提供涂鸦生态的智能硬件接入服务,如开发 Drive 驱动的软件开发服务以及构建定制化的全屋智能控制系统(Web/App/树莓派软件等)


系统集成商 (SI):你可以基于 Home Assistant 平台及 Tuya 插件,适配涂鸦生态的智能硬件,开发相关的 Drive 驱动,集成到自己的智能硬件生态体系中(如 Control4 ), 为客户提供完整的硬件方案接入和软件平台服务。可以调用 Tuya Open API 接口,云云对接。



    02    Hass Tuya 插件技术原理


 Hass Tuya 插件技术有哪些?

Python : 


Python 是一种解释型的高级通用编程语言。Python 的设计理念通过使用显性缩进来强调代码可读性。具有解释性、编译性、互动性和面向对象的特点。由于其开放源代码的特性,Python 已经被移植(也就是使其工作)到许多平台。


树莓派(Raspberry Pi):


其只有****大小的微型电脑,其系统基于 Linux,由于其价格低廉、功能强大,自问世以来,受到众多计算机发烧友和创客的追捧,在 IoT 开源领域有很高的人气。


Open API :


涂鸦打造的物联网云端开放能力,覆盖设备控制、全屋管理、场景自动化等核心场景的通用能力。开发者可以基于 Open API,快速搭建智慧商业、智慧工业等行业解决方案。


MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议):


它是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于 TCP/IP 协议上,由 IBM 在 1999 年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。


图片

( Home Assistant 插件原理图)


Home Assistant 本体基于 Python 语言开发,由于 Python 跨平台特性,其支持部署在树莓派、Windows、Mac、Linux等主流操作系统内。


Home Assistant 插件通过涂鸦云端 Open API 接口,从涂鸦云获取到用户设备信息,在 Home Assistant UI 端( Web 或 App )上展现。


你可通过 Open API 接口,下发标准指令给涂鸦云,涂鸦云通过 MQTT(Open IoT Hub)下发到设备,实现设备控制。


设备状态变更,通过 MQTT 上报到涂鸦云,然后涂鸦云通过 MQTT 下发给 Home Assistant 插件,插件更新本地设备缓存,通知 Home Assistant,UI 端刷新设备显示。


图片

( Home Assistant插件时序图)



   03  驱动开发


Home Assistant 通过提供一系列基础的 Entities,来帮助开发者们降低插件开发难度。我们在将 PBT(Powered by Tuya)设备接入 Home Assistant 时,通过开发Hass Tuya插件驱动来实现。


整体包括两个部分,即“驱动基础逻辑”和“驱动设备类”。


  • “驱动基础逻辑”不同驱动基本相似,主要为涂鸦设备添加到 Home Assistant 系统内逻辑。


  • “驱动设备类”主要功能为 Tuya 设备物模型与 Home Assistant 物模型映射,实现通过根据 Home Assistant Entity <-> 功能点 <-> 涂鸦“标准指令集” dp code 逻辑。


  04  业务场景


 IoT 本地融合


Home Assistant 因为其开源特性,吸引了大量开发者自发开发插件接入了不同厂商的硬件设备,如 Xiaomi、Hikvision、Honeywell、Yeelight 等等。通过Home Assistant Tuya 插件,基于 Home Assistant 可以快速搭建融合多种厂商硬件设备和涂鸦硬件的 IoT 本地融合系统。


图片

( Home Assistant 插件生态)


 Python 系统接入涂鸦云


Home Assistant Tuya 插件基于  tuya-iot-py-sdk 开发。tuya-iot-py-sdk 为基于基于涂鸦云 API 封装的 python SDK,它将网络请求鉴权逻辑、token 刷新逻辑、Open IoT Hub 对接逻辑、MQTT 重连逻辑进行封装,通过 python 函数的方式提供给 SDK 调用方,从而使 SDK 调用方,不需要关系具体的逻辑实现,只需要像调用普通 python 函数一样,使用即可。


您如果开发的系统基于 python 语言,可通过该 SDK,快速接入涂鸦云,降低接入学习成本。


在这里,你能获得什么?


Home Assistant 拥有中立开源的特性,如果你是普通开发者,更易学习。


在使用过程中,你可以在兴趣推动和社区影响下,能通过自身的编程能力,参与进 Tuya 插件的完善迭代,也能基于 Tuya 插件,开发自己的 Home Assistant 插件,深入了解涂鸦生态能力。


  05 附 言


Home Assistant Tuya 插件已上线,支持”自定义开发“和”全屋智能 PaaS”云项目类型,欢迎了解体验。


具体 Github 地址,立即点击 https://github.com/tuya/tuya-home-assistant


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: 嵌入式 工程师

相关推荐

技术专区

关闭