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

  本篇文章爲微信硬件物聯領域極具實踐價值的文章,它將能指引和幫助任何有興趣於物聯網開發的童鞋們快速掌握微信硬件開發流程,只需一個小時,而再不須要經過揣摩微信硬件浩瀚的文檔資料來完成艱難構建。html

  做者以前曾經撰寫過一篇文章《基於微信硬件公衆平臺的智能控制開發流程》介紹微信硬件開發的流程,但該篇文章是理論性的描述。而本篇文章是徹底可操做實踐的,請結合兩篇文章理解。web

  本篇文章的目的是快速搭建微信硬件開發的環境,完成微信硬件物聯Demo。直接上圖,傻瓜式教程!數據庫

1.   申請微信硬件測試公衆號apache

  連接:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,用本身的微信掃一掃便可以完成註冊申請。微信測試公衆帳號重要信息包括:appID、appsecret和微信號。開發工程師表明廠商/運營商的角色,因此這裏的微信號實際上是表明廠商/運營商的微信ID.tomcat

 

2.   開通測試微信公衆帳號的設備功能接口微信

 

  開啓後以下圖:併發

 

3.   添加設備產品,得到產品編號app

  點擊設置進行添加:webapp

 

  添加後能夠看到產品的編號,以下圖。這裏只是演示,選擇設備品類爲「血壓計」,其編號是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服務端口改成80

 

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

  4)   安裝MyEclipse

  5)   MyEclipse配置Tomcat

 

  6)   下載微信藍牙後臺服務樣例工程roseblue

 

  7)   MyEclipse導入roseblue工程

  8)   MyEclipse配置服務推送,即生成類文件並拷貝到tomcat的對應目錄(apache-tomcat-7.0.64\webapps)。

 

  9)       後臺工程配置,修改工程配置屬性指向微信測試帳號

 

7.   配置微信測試公衆號的第三方服務地址,指向tomcat所在的web服務目錄

 

8.   MyEclipse生成設備二維碼

 

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

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

 

9.   手機用戶掃描關注這個設備二維碼,完成設備綁定。

  例如暱稱爲O的微信用戶綁定了這個設備,則在微信測試公衆號的後臺能夠看到它的微信號。

 

10.修改roseblue工程的通訊設備配置

 

  暫時不使用數據庫,能夠將全部的數據庫操做註釋掉,並直接硬編碼。

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

  deviceID便是設備受權時的deviceID

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

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

12.微信暱稱爲O的用戶打開訂閱的微信測試公衆號,開始自動掃描並鏈接微信藍牙開發板。

13.公衆號連上微信藍牙開發板後,便可以發開燈和關燈指令,對微信藍牙開發板進行控制。  

  OK, 全部的微信硬件開發流程所有完成!能夠看到,當你擁有一塊實現Airsync協議的微信藍牙開發板時,便可馬上開始微信硬件物聯的Demo。基於Ti CC2541的微信藍牙模組和微信藍牙開發板可以同時支持微信Airsync協議和通常APP串口透傳,用戶能夠直接在此基礎上進行應用控制開發。若是想要以上安裝程序和代碼敬請關注嵌入式企鵝圈,併發消息給嵌入式企鵝圈獲取資訊。 

      嵌入式企鵝圈原創團隊由阿里、魅族、nvidia、龍芯、炬力、拓爾思等資深工程師組成。百分百原創,每週兩篇,分享嵌入式、Linux、物聯網、GPU、Android、自動駕駛等技術。歡迎掃碼關注微信公衆號:嵌入式企鵝圈,實時推送原創文章!

相關文章
相關標籤/搜索