1. 程式人生 > >從零開始搭建微信硬件開發環境全過程——1小時掌握微信硬件開發流程

從零開始搭建微信硬件開發環境全過程——1小時掌握微信硬件開發流程

sdn 流程 第三方服務 ota 必須 air 開發板 port pen

筆者決定在嵌入式企鵝圈2016年的首篇文章中,發表微信硬件物聯領域極具實踐價值的文章,它將能指引和幫助不論什麽有興趣於物聯網開發的童鞋們高速掌握微信硬件開發流程。僅僅需一個小時。而再不須要通過揣摩微信硬件浩瀚的文檔資料來完畢艱難構建。

筆者之前以前撰寫過一篇文章《基於微信硬件公眾平臺的智能控制開發流程》介紹微信硬件開發的流程,但該篇文章是理論性的描寫敘述。而本篇文章是全然可操作實踐的,請結合兩篇文章理解。技術咨詢請發郵件至[email protected]

本篇文章的目的是高速搭建微信硬件開發的環境,完畢微信硬件物聯Demo。

直接上圖,傻瓜式教程!

1.???申請微信硬件測試公眾號

鏈接:

t=sandbox/login">http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,用自己的微信掃一掃即能夠完畢註冊申請。微信測試公眾賬號重要信息包含:appID、appsecret和微信號。開發project師代表廠商/運營商的角色,所以這裏的微信號事實上是代表廠商/運營商的微信ID.

技術分享圖片

2.???開通測試微信公眾賬號的設備功能接口

技術分享圖片

開啟後例如以下圖:

技術分享圖片

3.???加入設備產品,獲得產品編號

點擊設置進行加入:

技術分享圖片

加入後能夠看到產品的編號,例如以下圖。

這裏僅僅是演示。選擇設備品類為“血壓計”,其編號是4735. 表明要生成微信藍牙血壓計(事實上是筆者的微信藍牙開發板)。

技術分享圖片?

4.???藍牙設備授權

微信硬件平臺的核心功能之中的一個就是對硬件設備進行身份管理。授權即是硬件設備的身份註冊,其須要硬件設備的唯一地址碼MAC(比如新生兒的指紋)以及人為給這個硬件設備起的名字id(比如新生兒的姓名)。

授權我們通過微信網頁調試工具進行,鏈接是:http://mp.weixin.qq.com/debug/。

1)??獲取access_tocken

技術分享圖片

????? 2) 設備授權

技術分享圖片

????? 授權字段定義請參考:http://iot.weixin.qq.com/document-2_6.html。

也能夠依照下面改動:

技術分享圖片

這裏要特別註意。微信硬件平臺有時更新了策略又沒說明確。坑非常多。

應該在2015年9月前註冊的測試號能夠在不寫product_id時也能成功授權,但近期註冊的測試號假設不寫這個product_id會報下面錯誤:

????? {"errcode":100020,"errmsg":"accountquota not enough"}

說是“賬號設備授權配額已用完。需又一次申請”。暈倒。我剛註冊的賬號,配額就用完了,天知道微信為什麽要這麽搞。最後添加產品編號product_id即能夠完畢註冊。

?

5.???微信硬件測試公眾號自己定義菜單

1)??獲取access_tocken,同上。

2)??自己定義菜單,定義兩個按鈕

技術分享圖片

自己定義菜單的效果例如以下:假設用戶關註了該公眾號,則進入該公眾號後會看究竟部有開燈和關燈兩個button:

技術分享圖片

6.???部署後臺開發環境

1)???安裝JDK,安裝後設置系統高級環境變量JAVA_HOME。指向JDK的安裝文件夾。

2)???安裝tomcat,改動apache-tomcat-7.0.64\conf\server.xml,將web服務port改為80

技術分享圖片

3)???啟動tomcat, 點擊apache-tomcat-7.0.64\bin\startup.bat

4)???安裝MyEclipse

5)???MyEclipse配置Tomcat

技術分享圖片

6)???下載微信藍牙後臺服務例子projectroseblue

技術分享圖片

7)???MyEclipse導入roseblueproject

8)???MyEclipse配置服務推送。即生成類文件並復制到tomcat的相應文件夾(apache-tomcat-7.0.64\webapps)。

技術分享圖片

9)???????後臺project配置,改動project配置屬性指向微信測試賬號

技術分享圖片

7.???配置微信測試公眾號的第三方服務地址。指向tomcat所在的web服務文件夾

技術分享圖片

8.???MyEclipse生成設備二維碼

技術分享圖片

這裏的device_id和mac兩個值和設備授權時的值務必保持一致。Device_id能夠隨意取值,而mac必須是藍牙設備的真實MAC地址。

以Java application直接執行這個類能夠生成設備二維碼,生成路徑能夠改動:

技術分享圖片

9.???手機用戶掃描關註這個設備二維碼。完畢設備綁定。

比如昵稱為O的微信用戶綁定了這個設備,則在微信測試公眾號的後臺能夠看到它的微信號。

技術分享圖片

10.改動roseblueproject的通信設備配置

技術分享圖片

臨時不使用數據庫,能夠將全部的數據庫操作凝視掉,並直接硬編碼。

deviceType即是第1步裏面的微信號

deviceID即是設備授權時的deviceID

openID是綁定這個設備的用戶的手機微信ID。如昵稱為O的微信ID。

11.實現Airsync協議的微信藍牙開發板上電。開始廣播。

12.微信昵稱為O的用戶打開訂閱的微信測試公眾號,開始自己主動掃描並連接微信藍牙開發板。

13.公眾號連上微信藍牙開發板後,即能夠發開燈和關燈指令,對微信藍牙開發板進行控制。

假設想要以上安裝程序和代碼敬請關註嵌入式企鵝圈。並發消息給嵌入式企鵝圈獲取資訊。


筆者前天受邀請到深圳參加CSDN優秀專家年底party,分享一下活動合影。

很多其它嵌入式Linux和物聯網原創技術分享敬請關註微信公眾號:嵌入式企鵝圈

技術分享圖片

從零開始搭建微信硬件開發環境全過程——1小時掌握微信硬件開發流程