微信硬件平臺設備直連全講解(5)服務器和設備的交互之設備授權

        各位好,真抱歉吶,前段時間公司事情比較忙一直沒時間更新文章,博客都快長草了呢,這兩天會盡快寫完。之前講到微信端和我們服務器的交互http://blog.csdn.net/u011791526/article/details/51683625   從這一篇文章開始講解我們服務器和設備的交互,但是本文主要講的不是交互而是交互前的準備工作——設備的授權和登錄。

        先不着急敲代碼,微信還不知道我們設備的信息呢,這裏我們要先到微信公衆平臺裏申請一個產品,具體步驟是登陸微信公衆平臺——>添加功能插件——>設備功能

(找不到設備功能的,只能去用測試號或者申請認證咯,普通的公衆號用戶是沒有這個權限的)——>添加產品

        具體信息自己填寫吧,我們這裏講解的是wifi直連設備

        所以接入方案選擇微信硬件雲標準接入方案下的設備直連硬件雲

        連接類型選擇wifi

        產品二維碼選擇每個產品唯一二維碼,當然你也可以根據實際需求選擇

        產品能力登記頁爲了方便測試全部選擇默認,其中控制面板的選擇和編寫後面會詳細講解這裏先隨便選吧

       上述所有信息在你把產品(設備)寄給微信那邊認證前都是可以修改的,按自己實際需求填寫就可以。        



       申請好產品以後,我們將得到一個產品id,後面編碼時會用到

       就是我打碼那個數字(公司信息不能透露咯O(∩_∩)O~~)




      好了現在我們可以到設備端編碼了,我的設備裝的是安卓系統,所以我在設備端的編碼主要是編寫一個android的APP,使用其他設備的同學們依葫蘆畫瓢吧。

    

      先給大家簡單的介紹一下授權。首先這個授權有什麼用呢?不知道大家想過沒有,我們希望通過微信控制設備,但微信端是怎麼綁定設備的呢,並且當我們的服務器收到了來自微信端的信息後怎麼知道這個條信息要發往哪一臺設備?這裏有兩個主要問題:

     1、微信和設備的綁定

     2、服務器獲取綁定關係

沒錯,授權幫我們解決了這些問題。那麼授權具體做了什麼,授權時我又需要提供哪些設備信息呢?詳情可以參考官方文檔,寫的非常詳細:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-6

     大概講一下授權過程:

     首先我們請求微信硬件服務器,它會分配一個設備id(deviceId)和二維碼字符串給我們,這裏的設備id和二維碼是一一對應的,同時還會發送一個設備證書(Devicelicence)給我們,後面登錄時會用到

     然後,我們把設備的mac地址和剛剛獲取到的設備id(deviceId)發送給微信硬件服務器,這一步相當於告訴硬件雲:你給我的設備id綁定的是這一臺設備哦

     最後,把第一步獲取的二維碼顯示出來,用戶通過微信掃描這個二維碼,就可以同時綁定並且關注我們的公衆號了。與此同時,在我們掃碼綁定設備時,微信會發送用戶號和設備號這一組信息到我們的服務器。

   具體的代碼參考文檔吧,當然也可以參考我寫的代碼。


        1、獲取access_token,這是一個驗證信息,相當於微信給我們的一個通行證,當我們主動請求微信硬件雲時必須帶上它,它的時效是兩個小時,而且還有次數限制(每天最多可以獲取2000次)這裏建議獲取以後存一下,避免頻繁請求服務器。

     獲取access_token的方式參考官方文檔https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183&token=&lang=zh_CN

     貼一下文檔裏的主要信息:

   

       



    2、獲取設備號、二維碼和設備證書

       提醒一句,官方文檔裏關於獲取設備號和二維碼的描述落了一點,那就是這個接口同時也返回了設備證書,解析時記得把三個消息都保存下來

       接口裏的productid,到微信公衆平臺拿,被我打馬賽那個數字就是



 

     3、授權設備

        這個接口要填寫的信息很多,請按照文檔裏的認證填寫

       http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-6




4、生成二維碼,用戶掃碼

      呃,把第二部獲取到的二維碼字符串顯示成圖片,這個我就不貼代碼了,自己去研究吧

5、當我們用微信掃碼綁定設備後,服務器會收到如下信息:


上面的device_id就是設備號,open_id就是用戶號






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章