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