微信硬件藍牙


調用微信jsapi完成公眾號藍牙藍牙傳輸功能(測試版)

一、第一階段:首先要在微信測試號申請一個產品(得到產品的id號)

二、 第二階段:微信后台基本設置,需要通過在線接口調試去設置

  1. 回到微信主頁,依次點擊"開發者工具"進入“在線接口調試工具”(http://mp.weixin.qq.com/debug

     
     
    然后會看到這樣的界面:
     
     

     

  2. 在“在線接口調試工具”頁面按照如圖所示填入自己在第一階段的測試賬號的appID和appsecret的內容(吐槽:一會兒又appID,這里又appid,上面appsecret這里secret,就不能規范一點嗎?):


     
     

    並點擊檢查問題(吐槽:其實就是提交請求的設置,不知道為什么按鈕名稱會叫“檢查問題”)。點擊后倘若成功的話會在頁面下面返回有如圖所示的包含access_token的字段信息(若返回了error,請仔細檢查appID和appsecret是否都寫對了,這里要寫測試賬號的哦,因為我們第一階段的設置都是設置的測試賬號的):


     
     
    並記錄下獲取到的access_token值(吐槽:哈哈,笑死我了,access_token太長,顯示超出他的樣式表了,就不能自動換行顯示嗎?非要我鼠標拖動瀏覽器的左右滾動條才能看完)
  3. 向上滾動鼠標到這個界面,並填寫如圖所示內容,其中的access_token填寫剛才獲取到的那個字符串並在末尾加上&product_id=21816(注意,這個數字是在第一階段的第7步所得到的那個,這里的21816是我自己的,需要填寫自己對應的那個)。


     
     

    同樣,點擊“檢查問題”,得到如下圖所示的內容:


     
     
    注意記錄下deviceid和qrticket的值(吐槽:已經受不了微信的命名規范問題了)。
  4. 向上滾動鼠標到這個界面,並填寫如圖所示內容,其中的access_token欄會自動根據你上次操作而自動填寫上,這里可以把“&product_id=21816”這幾個字符刪除。若沒有自動填寫,那就手動填寫一下步驟2獲取到的access_token值吧。


     
     

    body填寫的是一個json對象,目的是把你的藍牙設備在微信后台進行注冊,不然微信到時候是不會自動去連接你的藍牙設備的。
    body內容及參數解釋:

{ 
    "device_num": "1",  //這里填寫注冊設備的個數,必須和device_list中的
    "device_list": [        
     {
            "id": "gh_dd58c7bef8e7_b00fef105fd4269f", //填寫步驟3獲取到的deviceid
            "mac": "209148B74D40",    //填寫你的設備的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"    
  }
],   
"op_type": "0", //0表示新注冊設備信息,1表示更新(修改)設備信息,當要修改的時候就寫1。
"product_id": "21543"//填寫設備所屬的產品id,就是第一階段所添加的那個產品的product_id
}

然后點擊“檢查問題”,得到如下回復:


 
QQ截圖20160814115053.png

倘若得到的回復是error alredy exist的失敗字樣,可以把op_type的值更改為“1”。若出現account quota not enough,請檢查product_id是否填寫正確。

  1. 進入百度搜索“在線二維碼”,根據個人喜好選擇一個二維碼平台,制作二維碼。這里選擇的是“草料二維碼”,如圖:


     
    QQ截圖20160814120212.png

    圖中紅色的url是步驟3獲取到的qrticket。復制填入即可。然后點擊“生成二維碼”即可,然后圖中右邊的就是該設備的綁定二維碼,用微信掃描,並點擊“綁定設備”,然后點擊“進入公眾號”。這個時候在公眾號(測試號)頂部標題欄會顯示灰白色的“連接中”或“已連接1個設備”等相關信息(記得打開手機藍牙和藍牙外設)。

三、第三階段:調用微信jsapi進行數據傳輸(前兩個都是准備階段)

       

wx.ready(function(){

//初始化設備
wx.invoke('openWXDeviceLib', {'brandUserName':'測試號的appid'}, function(res){});

//連接藍牙
wx.invoke('connectWXDevice', {
'deviceId' :
設備的授權id(生成二維碼時候一同出現的)
,
'connType' : 'ble'
}, function(res) {
//alert(JSON.stringify(res));
//向藍牙發送命令
wx.invoke(
'sendDataToWXDevice',
{
'deviceId' : 設備的授權id(生成二維碼時候一同出現的),
'connType' : 'ble',
'base64Data' : '要發送的數據'
}, function(res) {
var data=JSON.stringify(res);
var json = eval("(" + data + ")");
//alert(json.err_msg);
if(json.err_msg=="sendDataToWXDevice:ok"){
//接收到設備傳來的數據
wx.on('onReceiveDataFromWXDevice',function(res) {
//alert(JSON.stringify(res));
var data = JSON.stringify(res);
var json = eval("(" + data + ")");

alert(json.base64Data);
});
}else{
alert("錯誤提示!");
}
});
});

//錯誤提示
wx.error(function(res){
alert("wx.error錯誤:"+JSON.stringify(res));
//如果初始化出錯了會調用此方法,沒什么特別要注意的
});

});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM