1. 程式人生 > >微信硬體平臺藍芽裝置開發(一)

微信硬體平臺藍芽裝置開發(一)

微信硬體平臺藍芽裝置開發——接入

需求:使用者關注微信公眾號(服務號)後可控制特定藍芽硬體裝置。

實現方案:通過提供的硬體JSAPI來實現藍芽裝置與微信之間的互聯和通訊,框架如下圖,核心為:開發H5頁面,鏈入公眾號選單內。


1、申請公眾號

 開發測試號已經可以使用JSAPI,前期可使用測試號進行開發除錯,本文主要以測試號示例。

公眾號申請(服務號): https://mp.weixin.qq.com

2、開通裝置功能、新增產品

公眾平臺,點選左邊功能欄的"新增功能外掛",選擇"裝置功能"。 測試號在“功能服務”→裝置功能中開啟。

新增產品中設定選擇“藍芽”、“藍芽發現”。

3.配置伺服器

介面配置資訊填寫伺服器地址(URL)、Token 。Token可由任意填寫,用作生成簽名,URL需要處理微信伺服器將傳送的GET請求,需要部署到伺服器。

4、裝置授權

硬體需先在微信平臺授權後才可接入。授權介面如下
http請求方式: POST
https://api.weixin.qq.com/device/authorize_device?access_token=ACCESS_TOKEN

String deviceId = "gh_248e6ca70bbb_5aab93a29ec0xxxx";  
        String mac = "000E0B10xxxx";// 裝置mac地址  
        String params = "{\"device_num\":\"1\",\"device_list\":[{"  
                + "\"id\":\"" + deviceId + "\"," + "\"mac\":\"" + mac + "\","  
                + "\"connect_protocol\":\"3\"," + "\"auth_key\":\"\","  
                + "\"close_strategy\":\"1\"," + "\"conn_strategy\":\"1\","  
                + "\"crypt_method\":\"0\"," + "\"auth_ver\":\"0\","  
                + "\"manu_mac_pos\":\"-1\"," + "\"ser_mac_pos\":\"-2\","  
                + "\"ble_simple_protocol\": \"0\"" + "}],"  
                + "\"op_type\":\"1\"" + "}";  
        String s = DeviceUtil.sendPost(  
                "https://api.weixin.qq.com/device/authorize_device?access_token="  
                        + at.getToken(), params);  
引數獲取:
device_id由公眾平臺生成,是裝置的唯一標識,且與二維碼(qrticket欄位)存在對應關係。
獲取deviceid和裝置二維碼方式:

product_id裝置的產品編號(由微信硬體平臺分配)。可在公眾號裝置功能管理頁面查詢。如下圖。


access_token是公眾號的全域性唯一票據,公眾號呼叫各介面時都需使用access_tokenaccess_token的有效期目前為2個小時,需定時重新整理,重複獲取將導致上次獲取的access_token失效。故需要在服務端進行快取,定時重新整理。

http請求方式: GET

完成以上步驟即可編寫html控制頁面。