博客專欄

EEPW首頁 > 博客 > Home Assistant 群里炸開鍋了:涂鴉發(fā)布新插件啦! 趕緊沖!

Home Assistant 群里炸開鍋了:涂鴉發(fā)布新插件啦! 趕緊沖!

發(fā)布人:智能物聯(lián)研習社 時間:2021-07-16 來源:工程師 發(fā)布文章

什么?聽說了沒?涂鴉智能發(fā)布新 Home Assistant 插件啦!


看到了!群里都炸開鍋啦!趕快沖沖沖!


近期,我們得知有很多發(fā)燒友客戶,希望 Powered by Tuya 的設備能夠支持這個平臺的接入,并使用 Home Assistant App/Web 控制 Powered by Tuya 的設備。


在萬眾期待下,我們發(fā)布新插件啦~發(fā)燒友們,趕緊沖鴨!


圖片


   01   背景

為什么選擇 Home Assistant ?


我們為什么會選擇 Home Assistant ? 正因為他無法抵抗的自身魅力~

Home Assistant 是一款基于 Python 的智能家居開源項目,支持眾多品牌的智能家居設備,可以輕松實現(xiàn)設備的語音控制、自動化等。它有一個簡單的、適合移動設備的界面來控制用戶所有設備,且不會將任何數(shù)據(jù)存儲在云端,以保護個人隱私。


其身為 Github 最火的 IoT 智能硬件開源項目,現(xiàn)有44k star,14.3k Fork,reddit.com 中 Community Members 達到 130 k??苫跇漭捎布?chuàng)造很多種智能家居玩法,在開發(fā)者領域有著比較高的口碑和用戶群體。

?

圖片

?

 適合人群都有哪些 ?


愛好者/玩家:如果你是全屋智能硬件的玩家,會自行購買智能產(chǎn)品,構建自己的全屋智能解決方案,那么,這里歡迎你!


個人開發(fā)者/發(fā)燒友:如果你擁有 Powered by Tuya 設備中的其中一款,想要實現(xiàn)不同產(chǎn)品和品牌間的互聯(lián)互通以及全屋智能設備聯(lián)動,那么,你也必須來!


軟硬件集成商( ISV/IHV ):你可以基于 Home Assistant 平臺以及 Tuya 插件,直接集成或二次開發(fā),為客戶提供涂鴉生態(tài)的智能硬件接入服務,如開發(fā) Drive 驅動的軟件開發(fā)服務以及構建定制化的全屋智能控制系統(tǒng)(Web/App/樹莓派軟件等)


系統(tǒng)集成商 (SI):你可以基于 Home Assistant 平臺及 Tuya 插件,適配涂鴉生態(tài)的智能硬件,開發(fā)相關的 Drive 驅動,集成到自己的智能硬件生態(tài)體系中(如 Control4 ), 為客戶提供完整的硬件方案接入和軟件平臺服務??梢哉{(diào)用 Tuya Open API 接口,云云對接。



    02    Hass Tuya 插件技術原理


 Hass Tuya 插件技術有哪些?

Python : 


Python 是一種解釋型的高級通用編程語言。Python 的設計理念通過使用顯性縮進來強調(diào)代碼可讀性。具有解釋性、編譯性、互動性和面向對象的特點。由于其開放源代碼的特性,Python 已經(jīng)被移植(也就是使其工作)到許多平臺。


樹莓派(Raspberry Pi):


其只有****大小的微型電腦,其系統(tǒng)基于 Linux,由于其價格低廉、功能強大,自問世以來,受到眾多計算機發(fā)燒友和創(chuàng)客的追捧,在 IoT 開源領域有很高的人氣。


Open API :


涂鴉打造的物聯(lián)網(wǎng)云端開放能力,覆蓋設備控制、全屋管理、場景自動化等核心場景的通用能力。開發(fā)者可以基于 Open API,快速搭建智慧商業(yè)、智慧工業(yè)等行業(yè)解決方案。


MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協(xié)議):


它是一種基于發(fā)布/訂閱(publish/subscribe)模式的"輕量級"通訊協(xié)議,該協(xié)議構建于 TCP/IP 協(xié)議上,由 IBM 在 1999 年發(fā)布。MQTT 最大優(yōu)點在于,可以以極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。作為一種低開銷、低帶寬占用的即時通訊協(xié)議,使其在物聯(lián)網(wǎng)、小型設備、移動應用等方面有較廣泛的應用。


圖片

( Home Assistant 插件原理圖)


Home Assistant 本體基于 Python 語言開發(fā),由于 Python 跨平臺特性,其支持部署在樹莓派、Windows、Mac、Linux等主流操作系統(tǒng)內(nèi)。


Home Assistant 插件通過涂鴉云端 Open API 接口,從涂鴉云獲取到用戶設備信息,在 Home Assistant UI 端( Web 或 App )上展現(xiàn)。


你可通過 Open API 接口,下發(fā)標準指令給涂鴉云,涂鴉云通過 MQTT(Open IoT Hub)下發(fā)到設備,實現(xiàn)設備控制。


設備狀態(tài)變更,通過 MQTT 上報到涂鴉云,然后涂鴉云通過 MQTT 下發(fā)給 Home Assistant 插件,插件更新本地設備緩存,通知 Home Assistant,UI 端刷新設備顯示。


圖片

( Home Assistant插件時序圖)



   03  驅動開發(fā)


Home Assistant 通過提供一系列基礎的 Entities,來幫助開發(fā)者們降低插件開發(fā)難度。我們在將 PBT(Powered by Tuya)設備接入 Home Assistant 時,通過開發(fā)Hass Tuya插件驅動來實現(xiàn)。


整體包括兩個部分,即“驅動基礎邏輯”和“驅動設備類”。


  • “驅動基礎邏輯”不同驅動基本相似,主要為涂鴉設備添加到 Home Assistant 系統(tǒng)內(nèi)邏輯。


  • “驅動設備類”主要功能為 Tuya 設備物模型與 Home Assistant 物模型映射,實現(xiàn)通過根據(jù) Home Assistant Entity <-> 功能點 <-> 涂鴉“標準指令集” dp code 邏輯。


  04  業(yè)務場景


 IoT 本地融合


Home Assistant 因為其開源特性,吸引了大量開發(fā)者自發(fā)開發(fā)插件接入了不同廠商的硬件設備,如 Xiaomi、Hikvision、Honeywell、Yeelight 等等。通過Home Assistant Tuya 插件,基于 Home Assistant 可以快速搭建融合多種廠商硬件設備和涂鴉硬件的 IoT 本地融合系統(tǒng)。


圖片

( Home Assistant 插件生態(tài))


 Python 系統(tǒng)接入涂鴉云


Home Assistant Tuya 插件基于  tuya-iot-py-sdk 開發(fā)。tuya-iot-py-sdk 為基于基于涂鴉云 API 封裝的 python SDK,它將網(wǎng)絡請求鑒權邏輯、token 刷新邏輯、Open IoT Hub 對接邏輯、MQTT 重連邏輯進行封裝,通過 python 函數(shù)的方式提供給 SDK 調(diào)用方,從而使 SDK 調(diào)用方,不需要關系具體的邏輯實現(xiàn),只需要像調(diào)用普通 python 函數(shù)一樣,使用即可。


您如果開發(fā)的系統(tǒng)基于 python 語言,可通過該 SDK,快速接入涂鴉云,降低接入學習成本。


在這里,你能獲得什么?


Home Assistant 擁有中立開源的特性,如果你是普通開發(fā)者,更易學習。


在使用過程中,你可以在興趣推動和社區(qū)影響下,能通過自身的編程能力,參與進 Tuya 插件的完善迭代,也能基于 Tuya 插件,開發(fā)自己的 Home Assistant 插件,深入了解涂鴉生態(tài)能力。


  05 附 言


Home Assistant Tuya 插件已上線,支持”自定義開發(fā)“和”全屋智能 PaaS”云項目類型,歡迎了解體驗。


具體 Github 地址,立即點擊 https://github.com/tuya/tuya-home-assistant


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: 嵌入式 工程師

相關推薦

技術專區(qū)

關閉