1. 程式人生 > >微信硬體平臺裝置直連全講解(2)框架講解

微信硬體平臺裝置直連全講解(2)框架講解

       開始編碼前,我們必須要梳理一下裝置直連微信硬體雲(微信硬體伺服器)的構架,這是非常有必要的工作,它讓我們清晰的明白自己在直連構架中處於什麼位置,需要編寫那些程式碼,我在這裡饒了很多彎路。需要了解完整資訊請檢視微信硬體平臺http://iot.weixin.qq.com/wiki/new/index.html? ,個人感覺有些地方寫的太過含糊。

   

這是微信硬體平臺提供的構架圖,有很多細節沒有體現出來,所以我自己繪製了一個完整的構架圖。


     從構架圖裡可以看到,使用微信客戶端對裝置進行一個直連的控制,其實並沒有官方給的構架圖那麼簡單。

    1、首先,我們必須擁有自己的伺服器,這個伺服器負責和微信客戶端進行互動。注意不管是裝置直連硬體雲還是裝置商雲連線微信硬體雲,這個伺服器都是必要的。

    2、我們需要一個伺服器來和微信硬體雲進行互動,它可以是上述的伺服器,也可以重新編寫一個,為了節約成本我在開發過程裡使用了同一個伺服器, 但我們依然要清楚的明白,我們編寫的伺服器負責和微信客戶端互動,也負責和微信硬體雲互動。

        根據上圖,簡單介紹一下資料的流動,拿文字舉例吧,當我們在微信客戶端傳送一個文字資訊時,我們可以配置一個自己的伺服器(後面會介紹怎麼配置)來接受並處理,這裡伺服器並不一定要和硬體裝置互動,比如使用者輸入深圳天氣,我們在伺服器接受到後,查詢天氣結果並返回客戶端就可以,和裝置並沒有什麼關係,這就是普通公眾號的實現方式。硬體平臺其實就是在公眾號的基礎上進行的擴充套件,再舉一個例子吧,比如使用者在微信客戶端輸入播放電影,我們的伺服器接收到命令,轉發給微信硬體雲,微信硬體雲傳送給裝置端SDK,這個過程就結束了。

       接下來的文件裡我會把開發分成兩個過程,一是我們伺服器和微信客戶端的各種互動(文字、圖片、語音、選單和網頁等等),二是我們伺服器和微信硬體雲的互動(查詢、控制裝置等等) 至於裝置和微信硬體的互動我們沒必要關心,微信已經完成。這裡我想提示一句,裝置直連微信硬體雲,單純指的是微信硬體雲直接和裝置互動,而不是微信客戶端直接和裝置互動,這兩者存在巨大的差別,一定要理解清楚。

       通過上面的分析,我們應該比較明確了,我們主要的任務是編寫一個自己的伺服器處理微信端傳來的各種資訊並和微信硬體伺服器互動,我們還需要在裝置端植入sdk,並且編寫具體業務邏輯。也就是說編碼主要集中在上圖的橘色部分。

      最後補充一下,我們自己的兩個伺服器的配置,即使用同一個伺服器,也需要在兩個地方配置。後面會詳細介紹。