博客專欄

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

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

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

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


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


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


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


圖片


   01   背景

為什么選擇 Home Assistant ?


我們為什么會(huì)選擇 Home Assistant ? 正因?yàn)樗麩o(wú)法抵抗的自身魅力~

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


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

?

圖片

?

 適合人群都有哪些 ?


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


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


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


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



    02    Hass Tuya 插件技術(shù)原理


 Hass Tuya 插件技術(shù)有哪些?

Python : 


Python 是一種解釋型的高級(jí)通用編程語(yǔ)言。Python 的設(shè)計(jì)理念通過(guò)使用顯性縮進(jìn)來(lái)強(qiáng)調(diào)代碼可讀性。具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮奶攸c(diǎn)。由于其開放源代碼的特性,Python 已經(jīng)被移植(也就是使其工作)到許多平臺(tái)。


樹莓派(Raspberry Pi):


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


Open API :


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


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


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


圖片

( Home Assistant 插件原理圖)


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


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


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


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


圖片

( Home Assistant插件時(shí)序圖)



   03  驅(qū)動(dòng)開發(fā)


Home Assistant 通過(guò)提供一系列基礎(chǔ)的 Entities,來(lái)幫助開發(fā)者們降低插件開發(fā)難度。我們?cè)趯?PBT(Powered by Tuya)設(shè)備接入 Home Assistant 時(shí),通過(guò)開發(fā)Hass Tuya插件驅(qū)動(dòng)來(lái)實(shí)現(xiàn)。


整體包括兩個(gè)部分,即“驅(qū)動(dòng)基礎(chǔ)邏輯”和“驅(qū)動(dòng)設(shè)備類”。


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


  • “驅(qū)動(dòng)設(shè)備類”主要功能為 Tuya 設(shè)備物模型與 Home Assistant 物模型映射,實(shí)現(xiàn)通過(guò)根據(jù) Home Assistant Entity <-> 功能點(diǎn) <-> 涂鴉“標(biāo)準(zhǔn)指令集” dp code 邏輯。


  04  業(yè)務(wù)場(chǎng)景


 IoT 本地融合


Home Assistant 因?yàn)槠溟_源特性,吸引了大量開發(fā)者自發(fā)開發(fā)插件接入了不同廠商的硬件設(shè)備,如 Xiaomi、Hikvision、Honeywell、Yeelight 等等。通過(guò)Home Assistant Tuya 插件,基于 Home Assistant 可以快速搭建融合多種廠商硬件設(shè)備和涂鴉硬件的 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)絡(luò)請(qǐng)求鑒權(quán)邏輯、token 刷新邏輯、Open IoT Hub 對(duì)接邏輯、MQTT 重連邏輯進(jìn)行封裝,通過(guò) python 函數(shù)的方式提供給 SDK 調(diào)用方,從而使 SDK 調(diào)用方,不需要關(guān)系具體的邏輯實(shí)現(xiàn),只需要像調(diào)用普通 python 函數(shù)一樣,使用即可。


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


在這里,你能獲得什么?


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


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


  05 附 言


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


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


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



關(guān)鍵詞: 嵌入式 工程師

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉