了解過QQ物聯(lián)網(wǎng)平臺,那微信物聯(lián)網(wǎng)平臺也應(yīng)該了解下,一圖解讀

上圖涵蓋以下信息:
1. 基于微信硬件平臺的物聯(lián)網(wǎng)的架構(gòu)組成,有微信公眾平臺/硬件平臺、第三方廠商云后端、手機微信/公眾號、微信硬件設(shè)備終端(Wifi和藍(lán)牙BLE)
2. 綠色代表騰訊向開發(fā)者和公眾提供的基礎(chǔ)平臺和服務(wù),并通過紅色(airsync/airkiss)定義的硬件外設(shè)協(xié)議供硬件設(shè)備接入,紅色(微信硬件平臺接入?yún)f(xié)議,XML/JSON)供廠商云后端接入;藍(lán)牙和紫色區(qū)域代表開發(fā)者所要完成的任務(wù),其中藍(lán)牙是嵌入式硬件設(shè)備終端的任務(wù),紫色是第三方廠商云后端的任務(wù)。
3. 物聯(lián)網(wǎng)各個組成部分之間的通信協(xié)議標(biāo)識。除了紅色標(biāo)識的協(xié)議是微信公眾平臺和硬件平臺制定的協(xié)議必須遵循外,其他組成部分的協(xié)議都是自定義的協(xié)議。
4. Wifi模組的供應(yīng)商提供的SDK一般都提供socket通信接口,而云后端一般會使用JSP/PHP等web編程技術(shù),因此wifi設(shè)備需要模擬HTTP協(xié)議跟云終端通信。HTTP是一個標(biāo)準(zhǔn)的公共的通信協(xié)議,應(yīng)用層需要在HTTP之上建立自定義的應(yīng)用協(xié)議來完成設(shè)備的控制和交互,而應(yīng)用協(xié)議可以是XML/JSON等等。當(dāng)然,如果云后端使用底層的socket編程,則wifi設(shè)備終端可以不需要模擬http。
5. 藍(lán)牙通過airsync協(xié)議接入微信,該協(xié)議規(guī)定了設(shè)備發(fā)現(xiàn)、綁定、登陸、初始化、接收用戶指令、主動發(fā)送消息等過程。
6. Airkiss是通過JSAPI的方式讓用戶可以在微信上輸入路由器的用戶名和密碼,然后告知沒有按鍵輸入和屏幕顯示的wifi設(shè)備,讓該設(shè)備能夠連上路由器進入網(wǎng)絡(luò)在線狀態(tài)。除此之外,Airkiss跟之后用戶和廠商、設(shè)備的交互完成沒有關(guān)系。本質(zhì)上,Airkiss只是一個配置上網(wǎng)功能,跟物聯(lián)網(wǎng)的控制和交互無關(guān)。
7. Wifi設(shè)備接入微信硬件平臺是遠(yuǎn)場控制,設(shè)備只要處于聯(lián)網(wǎng)在線狀態(tài),那手機用戶無論在哪里,只要能上網(wǎng)都可以對設(shè)備進行控制,典型的例子是在公司上班可以通過手機控制家里的智能插座上電;藍(lán)牙設(shè)備接入微信硬件平臺必須依賴于手機,是近場控制,典型的場景是手機控制家里的燈和空調(diào)等。
本文是從開發(fā)者的角度去分析整個微信硬件平臺物聯(lián)網(wǎng),不去探討物聯(lián)網(wǎng)運營之類等領(lǐng)域。那么,從開發(fā)的角度,物聯(lián)網(wǎng)的核心要素什么,微信平臺又支持了什么?我的理解是:
微信硬件平臺在物聯(lián)網(wǎng)領(lǐng)域做的事情其實不多,只要仔細(xì)想想架構(gòu)圖中的這么多的紫色和藍(lán)色都是留給開發(fā)者,而且都是要赤裸裸的編程。對于一般的設(shè)備商,他們想接入也是勉為其難啊。在這個體系架構(gòu)中,微信硬件平臺做的最重要的一件事情就是身份認(rèn)證。