偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一張圖讀懂基于微信硬件平臺(tái)的物聯(lián)網(wǎng)架構(gòu)

網(wǎng)絡(luò)
本文從物聯(lián)網(wǎng)的核心要素、物聯(lián)網(wǎng)的關(guān)鍵場(chǎng)景、微信硬件平臺(tái)的通信協(xié)議分析三個(gè)維度去分析基于微信硬件平臺(tái)的物聯(lián)網(wǎng)架構(gòu)。相關(guān)的背景知識(shí)請(qǐng)閱讀微信公眾號(hào):嵌入式企鵝圈發(fā)布的有關(guān)物聯(lián)網(wǎng)和微信硬件專題文章。

本文從物聯(lián)網(wǎng)的核心要素、物聯(lián)網(wǎng)的關(guān)鍵場(chǎng)景、微信硬件平臺(tái)的通信協(xié)議分析三個(gè)維度去分析基于微信硬件平臺(tái)的物聯(lián)網(wǎng)架構(gòu)。相關(guān)的背景知識(shí)請(qǐng)閱讀微信公眾號(hào):嵌入式企鵝圈發(fā)布的有關(guān)物聯(lián)網(wǎng)和微信硬件專題文章。

一、 基于微信硬件平臺(tái)的物聯(lián)網(wǎng)架構(gòu)圖示

 

上圖涵蓋以下信息:

1. 基于微信硬件平臺(tái)的物聯(lián)網(wǎng)的架構(gòu)組成,有微信公眾平臺(tái)/硬件平臺(tái)、第三方廠商云后端、手機(jī)微信/公眾號(hào)、微信硬件設(shè)備終端(Wifi和藍(lán)牙BLE)。

2. 綠色代表騰訊向開發(fā)者和公眾提供的基礎(chǔ)平臺(tái)和服務(wù),并通過紅色(airsync/airkiss)定義的硬件外設(shè)協(xié)議供硬件設(shè)備接入,紅色(微信硬件平臺(tái)接入?yún)f(xié)議,XML/JSON)供廠商云后端接入;藍(lán)牙和紫色區(qū)域代表開發(fā)者所要完成的任務(wù),其中藍(lán)牙是嵌入式硬件設(shè)備終端的任務(wù),紫色是第三方廠商云后端的任務(wù)。

3. 物聯(lián)網(wǎng)各個(gè)組成部分之間的通信協(xié)議標(biāo)識(shí)。除了紅色標(biāo)識(shí)的協(xié)議是微信公眾平臺(tái)和硬件平臺(tái)制定的協(xié)議必須遵循外,其他組成部分的協(xié)議都是自定義的協(xié)議。

4. Wifi模組的供應(yīng)商提供的SDK一般都提供socket通信接口,而云后端一般會(huì)使用JSP/PHP等web編程技術(shù),因此wifi設(shè)備需要模擬HTTP協(xié)議跟云終端通信。HTTP是一個(gè)標(biāo)準(zhǔn)的公共的通信協(xié)議,應(yīng)用層需要在HTTP之上建立自定義的應(yīng)用協(xié)議來(lái)完成設(shè)備的控制和交互,而應(yīng)用協(xié)議可以是XML/JSON等等。當(dāng)然,如果云后端使用底層的socket編程,則wifi設(shè)備終端可以不需要模擬http。

5. 藍(lán)牙通過airsync協(xié)議接入微信,該協(xié)議規(guī)定了設(shè)備發(fā)現(xiàn)、綁定、登陸、初始化、接收用戶指令、主動(dòng)發(fā)送消息等過程。

6. Airkiss是通過JSAPI的方式讓用戶可以在微信上輸入路由器的用戶名和密碼,然后告知沒有按鍵輸入和屏幕顯示的wifi設(shè)備,讓該設(shè)備能夠連上路由器進(jìn)入網(wǎng)絡(luò)在線狀態(tài)。除此之外,Airkiss跟之后用戶和廠商、設(shè)備的交互完成沒有關(guān)系。本質(zhì)上,Airkiss只是一個(gè)配置上網(wǎng)功能,跟物聯(lián)網(wǎng)的控制和交互無(wú)關(guān)。

7. Wifi設(shè)備接入微信硬件平臺(tái)是遠(yuǎn)場(chǎng)控制,設(shè)備只要處于聯(lián)網(wǎng)在線狀態(tài),那手機(jī)用戶無(wú)論在哪里,只要能上網(wǎng)都可以對(duì)設(shè)備進(jìn)行控制,典型的例子是在公司上班可以通過手機(jī)控制家里的智能插座上電;藍(lán)牙設(shè)備接入微信硬件平臺(tái)必須依賴于手機(jī),是近場(chǎng)控制,典型的場(chǎng)景是手機(jī)控制家里的燈和空調(diào)等。

二、物聯(lián)網(wǎng)的核心要素

本文是從開發(fā)者的角度去分析整個(gè)微信硬件平臺(tái)物聯(lián)網(wǎng),不去探討物聯(lián)網(wǎng)運(yùn)營(yíng)之類等領(lǐng)域。那么,從開發(fā)的角度,物聯(lián)網(wǎng)的核心要素什么,微信平臺(tái)又支持了什么?我的理解是:

1. 設(shè)備的合法性和唯一性

微信硬件平臺(tái)在物聯(lián)網(wǎng)領(lǐng)域做的事情其實(shí)不多,只要仔細(xì)想想架構(gòu)圖中的這么多的紫色和藍(lán)色都是留給開發(fā)者,而且都是要赤裸裸的編程。對(duì)于一般的設(shè)備商,他們想接入也是勉為其難啊。在這個(gè)體系架構(gòu)中,微信硬件平臺(tái)做的最重要的一件事情就是身份認(rèn)證。

就像一個(gè)人出生后要辦一張身份證(出生證明的號(hào)碼也是身份證號(hào)碼)一樣,設(shè)備生產(chǎn)出來(lái)要想進(jìn)入微信硬件領(lǐng)域,它就必須到微信硬件平臺(tái)注冊(cè)自己的身份,那它拿什么去注冊(cè)呢,這個(gè)依據(jù)自然應(yīng)該是獨(dú)一無(wú)二的,就像每個(gè)人的指紋,如果我國(guó)的小孩辦身份證都以錄指紋為依據(jù),那就不會(huì)出現(xiàn)那么多拐賣兒童了?,F(xiàn)在公安局的做法是什么,是硬生生地把一串身份證數(shù)字跟人名綁在一起,跟自然人的生物特征沒有一丁點(diǎn)關(guān)系!!!設(shè)備的獨(dú)一無(wú)二的依據(jù)就是48位的MAC地址(或者是MAC地址通過某種加密運(yùn)算得到的結(jié)果)。

接著辦身份證/出生證不是要給小孩起個(gè)名字嗎,以后大家交流就叫名字了,公安局也是叫名字的嘛,不可能每次喊話都把指紋的二進(jìn)制數(shù)字讀出來(lái)的啊。嗯,那硬件設(shè)備注冊(cè)時(shí)也要報(bào)備自己的名字,即設(shè)備ID。設(shè)備ID也應(yīng)該在微信硬件平臺(tái)唯一啊,不然會(huì)亂的。就像MAC地址一樣,有一部分是代表一個(gè)設(shè)備提供商向世界IETF組織申請(qǐng)的企業(yè)識(shí)別字段,另一部分是設(shè)備商內(nèi)部的分配。或者像身份證那樣,前面6個(gè)字段是代表一個(gè)人出生時(shí)的縣區(qū)行政區(qū)劃碼,后面的數(shù)字才代表自身,但同時(shí)要保證在這個(gè)行政區(qū)里面的唯一性。那微信硬件平臺(tái)怎么規(guī)范設(shè)備身份?設(shè)備身份包括兩個(gè)部分,deviceType是設(shè)備商/銷售商的微信公眾號(hào)的原始ID,deviceID由設(shè)備商/銷售商自定義,由設(shè)備商保證deviceID在其deviceType中的唯一性。

這就是設(shè)備的注冊(cè)場(chǎng)景。設(shè)備注冊(cè)了以后在微信硬件平臺(tái)就具有合法性和唯一性了。

2. 設(shè)備被訪問的合理性和正當(dāng)性

設(shè)備最終是應(yīng)該和人/手機(jī)用戶交互的,否則就失去了物聯(lián)的意義了。那么哪個(gè)用戶能夠訪問這個(gè)設(shè)備呢?

微信用戶要關(guān)注設(shè)備商的微信公眾號(hào)和綁定設(shè)備才能對(duì)設(shè)備進(jìn)行訪問。如果不綁定就可以訪問,那就是所有用戶都能夠訪問這個(gè)設(shè)備,這顯然是不合理的。你買的智能插座放家里,另一個(gè)人也能控制你的插座,多危險(xiǎn)。

微信硬件平臺(tái)確保設(shè)備的唯一性,微信公眾平臺(tái)確保微信用戶的唯一性,兩者通過關(guān)注和綁定這個(gè)流程建立起完全權(quán)利的訪問關(guān)系。

微信硬件平臺(tái)是微信公眾平臺(tái)的一個(gè)子集,微信硬件平臺(tái)會(huì)利用微信公眾平臺(tái)已有的功能來(lái)完成基礎(chǔ)服務(wù)。

3. 設(shè)備和用戶交互的消息觸達(dá)能力

設(shè)備要成為物聯(lián)網(wǎng)中的一員,必須能夠聯(lián)網(wǎng),好比人體的神經(jīng)元,具有能夠和外界交流的能力。

微信硬件平臺(tái)主要從云后端接入和硬件接入兩方面作出努力。一是通過airsync協(xié)議讓藍(lán)牙設(shè)備和微信互通,airkiss協(xié)議讓簡(jiǎn)單的沒有按鍵和UI交互的wifi設(shè)備聯(lián)網(wǎng);二是通過制定云后端接入?yún)f(xié)議來(lái)接納廠商云,通過消息接口和API接口使用戶和設(shè)備的消息能夠相互觸達(dá)。即設(shè)備發(fā)出的消息經(jīng)過微信平臺(tái)發(fā)送到廠商云,廠商云的消息也能主動(dòng)推送給設(shè)備,完成交互。

4. 效率

掃一掃功能對(duì)微信的影響是巨大的,加關(guān)注,好友,移動(dòng)支付等等都通過二維碼來(lái)完成,設(shè)備綁定是二維碼。微信硬件平臺(tái)和公眾平臺(tái)產(chǎn)生的二維碼關(guān)聯(lián)了用戶、設(shè)備ID等信息,通過掃一掃功能能方便地進(jìn)行綁定,接入進(jìn)入公眾號(hào)的消息界面。

物聯(lián)網(wǎng)涉及到終端、前端和后端等等,是一個(gè)大工程,無(wú)論從開發(fā)的角度,還是從用戶使用的角度,都要始終強(qiáng)調(diào)便捷的效率,以讓用戶有足夠好的體驗(yàn),才能使得物聯(lián)網(wǎng)得以壯大。

5. 消息處理能力—嵌入式系統(tǒng)

這一點(diǎn)并沒有在物聯(lián)網(wǎng)架構(gòu)的圖示中出現(xiàn)。物聯(lián)網(wǎng)決不僅僅是一種控制,例如開燈和關(guān)燈之類,也不僅僅是簡(jiǎn)單的通過各種傳感器來(lái)進(jìn)行數(shù)據(jù)采集,未來(lái)的物聯(lián)網(wǎng)一定會(huì)讓用戶不斷地提高用戶體驗(yàn),例如多媒體、虛擬與實(shí)現(xiàn)、數(shù)據(jù)決策等等,這部分是由高級(jí)的嵌入式系統(tǒng)來(lái)完成的。嵌入式系統(tǒng)才是設(shè)備的大腦,物聯(lián)網(wǎng)應(yīng)該更好地?fù)肀度胧较到y(tǒng)。

三、物聯(lián)網(wǎng)場(chǎng)景分析和通信協(xié)議分析(近場(chǎng)藍(lán)牙控制方案)

1.注冊(cè)

上面已有說明

2.用戶綁定

上面已有說明

#p#

3.連接

用戶在綁定過程中會(huì)自動(dòng)完成對(duì)提供設(shè)備的廠商的微信公眾號(hào)的關(guān)注。在以后每次進(jìn)入公眾號(hào)時(shí),會(huì)自動(dòng)通過手機(jī)藍(lán)牙對(duì)藍(lán)牙設(shè)備進(jìn)行掃描連接。只有完成airsync協(xié)議的藍(lán)牙設(shè)備才能連上微信。例如藍(lán)牙設(shè)備廣播的字段里面要聲明自己的MAC地址,這樣微信能識(shí)別到這個(gè)一個(gè)要接入微信的藍(lán)牙設(shè)備,然后才會(huì)主動(dòng)地連接它。

4.控制(菜單控制)

1)用戶點(diǎn)擊微信公眾號(hào)提供的菜單,如開燈。

2)消息通過微信公眾平臺(tái)發(fā)送給廠商云后端。

3)云后端在自己的數(shù)據(jù)庫(kù)內(nèi)驗(yàn)證微信用戶和設(shè)備的有效性后,將微信菜單的開燈消息轉(zhuǎn)化為自定義協(xié)議的開燈消息(這個(gè)協(xié)議只有云后端和外設(shè)設(shè)備所認(rèn)識(shí)),并根據(jù)airsync中的protobuf協(xié)議對(duì)消息體進(jìn)行打包封裝,最后通過調(diào)用微信硬件平臺(tái)提供的API接口主動(dòng)推送出去。

4)微信硬件平臺(tái)收到信息后通過微信公眾平臺(tái)回傳給微信用戶所在的公眾號(hào)。

5)微信將這個(gè)消息根據(jù)airsync協(xié)議通過手機(jī)藍(lán)牙發(fā)送藍(lán)牙外設(shè)。

6)藍(lán)牙外設(shè)收到消息進(jìn)行相應(yīng)的處理。

從這個(gè)過程來(lái)看,直接的菜單控制走的流程太長(zhǎng)了,影響效率。下面介紹的JSAPI控制就是直接控制,不需要再通過廠商云來(lái)發(fā)指令。

5. 控制(H5/JASPI控制)

1)用戶點(diǎn)擊微信公眾號(hào)提供的H5網(wǎng)頁(yè)鏈接

2)微信瀏覽器通過H5地址向廠商云后端請(qǐng)求響應(yīng),返回H5頁(yè)面。

3)用戶點(diǎn)擊H5頁(yè)面的開燈button

4)button通過JSAPI接口直接向藍(lán)牙設(shè)備發(fā)出自定義的控制消息,JSAPI藍(lán)牙接口已經(jīng)封裝好airsync協(xié)議。

5)藍(lán)牙設(shè)備收到消息進(jìn)行相應(yīng)的處理。

四、物聯(lián)網(wǎng)場(chǎng)景分析和通信協(xié)議分析(遠(yuǎn)場(chǎng)wifi控制方案)

1.注冊(cè)

上面已有說明

2.用戶綁定

上面已有說明

3.連接

由于用戶和wifi設(shè)備并不在一個(gè)區(qū)域,而是通過網(wǎng)絡(luò)來(lái)連接,因此用戶是不直接跟wifi設(shè)備打交道的,所有的交互都給通過wifi設(shè)備商的云后端進(jìn)行間接交互。(之前已經(jīng)說了airkiss只是微信提供的一個(gè)配置上網(wǎng)功能,wifi設(shè)備經(jīng)過一次配置后,以后會(huì)記住這個(gè)路由器的ssid和pwd的,所以配置好一次后,airkiss跟物聯(lián)網(wǎng)交互一點(diǎn)關(guān)系都沒有,因此airkiss不應(yīng)該算在物聯(lián)網(wǎng)的消息觸達(dá)協(xié)議內(nèi))。

用戶進(jìn)入wifi設(shè)備對(duì)應(yīng)的公眾號(hào)后,微信公眾號(hào)會(huì)通過微信公眾平臺(tái)向廠商云訂閱和咨詢?cè)O(shè)備的在線狀態(tài)。因此設(shè)備一上線時(shí)應(yīng)該主動(dòng)聯(lián)系廠商云后端,告知自己上線了,并不時(shí)地發(fā)送心跳包維持連接。這樣微信公眾號(hào)一訂閱請(qǐng)求,云就返回設(shè)備的狀態(tài)給它。

假設(shè)設(shè)備在線,云后端返回在線狀態(tài),微信公眾號(hào)就會(huì)顯示設(shè)備連接上。

4. 控制(菜單控制)

1)用戶點(diǎn)擊微信公眾號(hào)提供的菜單,如開燈。

2)消息通過微信公眾平臺(tái)發(fā)送給廠商云后端。

3)云后端在自己的數(shù)據(jù)庫(kù)內(nèi)驗(yàn)證微信用戶和設(shè)備的有效性后,將微信菜單的開燈消息轉(zhuǎn)化為自定義協(xié)議的開燈消息(這個(gè)協(xié)議只有云后端和外設(shè)設(shè)備所認(rèn)識(shí)),然后直接通過網(wǎng)絡(luò)發(fā)給wifi設(shè)備。

4)wifi外設(shè)收到消息進(jìn)行相應(yīng)的處理。

5. 控制(H5控制)

1)用戶點(diǎn)擊微信公眾號(hào)提供的H5網(wǎng)頁(yè)鏈接

2)微信瀏覽器通過H5地址向廠商云后端請(qǐng)求響應(yīng),返回H5頁(yè)面。

3)用戶點(diǎn)擊H5頁(yè)面的開燈button

4)button通過AJAX接口向廠商云后端發(fā)出自定義的控制消息。

5)廠商云接收到消息會(huì)轉(zhuǎn)化硬件控制消息,直接通過網(wǎng)絡(luò)發(fā)給wifi設(shè)備。

6)wifi設(shè)備收到消息進(jìn)行相應(yīng)的處理。

從這點(diǎn)來(lái)看,wifi設(shè)備接入微信硬件平臺(tái),微信硬件平臺(tái)僅僅起到一個(gè)入口的作用,消息轉(zhuǎn)發(fā)都不經(jīng)過微信硬件平臺(tái)了。

五、微信硬件平臺(tái)的優(yōu)與劣

回過頭來(lái)想想,國(guó)內(nèi)這幾年早已經(jīng)有多家物聯(lián)網(wǎng)平臺(tái),如機(jī)智云,yelink等等,它們除了充當(dāng)公安局的角色確保設(shè)備的唯一性,還完成了后端的服務(wù)平臺(tái),甚至給用戶提供物聯(lián)設(shè)備模塊,極大地簡(jiǎn)化了物聯(lián)設(shè)備生產(chǎn)商的開發(fā)流程。在這樣的基礎(chǔ)上,微信硬件平臺(tái)把那么多的任務(wù)丟給了開發(fā)者,但還是很多廠商擁抱它,只能說微信是一個(gè)超級(jí)APP,是一個(gè)極佳的入口,掌握了全社會(huì)大部分用戶的入口。在移動(dòng)互聯(lián)網(wǎng)領(lǐng)域,用戶數(shù)量就是王道。

誠(chéng)然,用戶量巨大和騰訊體量龐大是微信硬件平臺(tái)物聯(lián)網(wǎng)的優(yōu)勢(shì),但要想做得更好,是不是考慮給用戶多做一些像機(jī)智云一樣的工作?

呵呵,騰訊又想到了,QQ物聯(lián)就是。

不過騰訊什么都做了,那方案開發(fā)公司怎么活啊:-)

責(zé)任編輯:何妍 來(lái)源: CSDN博客
相關(guān)推薦

2015-09-14 09:07:15

Java多線程

2013-11-29 10:09:41

物聯(lián)網(wǎng)

2015-09-23 10:04:03

開放數(shù)據(jù)

2015-10-29 15:09:32

信息圖數(shù)據(jù)

2022-09-14 10:24:54

物聯(lián)網(wǎng)架構(gòu)物聯(lián)網(wǎng)

2019-10-22 08:00:04

物聯(lián)網(wǎng)架構(gòu)物聯(lián)網(wǎng)IOT

2022-07-27 08:00:00

物聯(lián)網(wǎng)架構(gòu)連接設(shè)備

2020-05-22 10:07:50

物聯(lián)網(wǎng)工程師技術(shù)

2019-02-19 21:18:15

微信物聯(lián)網(wǎng)互聯(lián)網(wǎng)

2015-02-26 15:29:56

微信支付寶紅包

2013-11-15 08:23:34

2015-09-22 14:30:45

物聯(lián)網(wǎng)網(wǎng)絡(luò)架構(gòu)

2016-01-26 09:41:03

阿里巴巴2016戰(zhàn)略

2018-02-05 14:48:18

華為云

2021-02-07 09:01:10

Java并發(fā)編程

2021-01-12 21:20:38

物聯(lián)網(wǎng)架構(gòu)物聯(lián)網(wǎng)IOT

2020-01-03 22:14:01

物聯(lián)網(wǎng)大數(shù)據(jù)邊緣計(jì)算

2025-03-11 10:58:00

2021-09-29 11:30:01

大數(shù)據(jù)技術(shù)架構(gòu)

2023-09-05 08:53:51

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)