微信硬體藍芽開發各種坑不完全開發指南

2021-07-11 05:32:33 字數 2139 閱讀 1113

**(舊版):

– 開始開發 –

*****== 以上是公眾平台的配置,下面開始寫前端** *****=

1、新建html,基本結構寫好。

2、引入」這個js

3、寫js**:

wx.config();
4、繼續寫方法:

wx.ready(function

(), function

(res));

//手機藍芽狀態改變時觸發 (這是監聽事件的呼叫方法,注意,監聽事件都沒有引數)

wx.on('onwxdevicebluetoothstatechange',function

(res));

//裝置繫結狀態改變事件(解綁成功,繫結成功的瞬間,會觸發)

wx.on('onwxdevicebindstatechange',function

(res));

//裝置連線狀態改變

wx.on('onwxdevicestatechange',function

(res));

//接收到裝置傳來的資料

wx.on('onreceivedatafromwxdevice',function

(res)

//解碼後的資料:str

//坑:你們測試的時候,不要在這裡用alert(),頁面會卡死。自己把資訊輸出到頁面中檢視吧

//不要在這裡alert出來

});});

5、繼續寫方法:

wx.error(function

(res));

//掃瞄前請先監聽裝置掃瞄事件

wx.on('onscanwxdeviceresult',function

(res)

//開始掃瞄

wx.invoke("startscanwxdevice",,function

(res){});

//這裡填的引數是ble,也可以填bc,bc是經典藍芽,我們做的這個裝置不支援經典藍芽,所以直接填ble

//安卓系統不能同時支援ble和bc,這個後面詳細說一下

//執行此方法後,就開始一直不停的掃瞄,掃瞄到了裝置會觸發上面的監聽事件

//如果不想掃了,可以停止掃瞄

//然而經測試,這個方法並沒有什麼卵用

//你發現重新掃瞄根本什麼都掃不出來,即使你現在重新整理頁面,也掃不出任何東西

//解決方法:每次掃瞄前,先呼叫closewxdevicelib關閉裝置庫,再呼叫openwxdevicelib開啟裝置庫

//這樣就相當於重新初始化了一遍裝置庫,你現在再重新掃瞄,就可以掃瞄到裝置了。

wx.invoke("stopscanwxdevice",{},function

(res){});

7、繫結和解除繫結

//使用者繫結裝置

//1、先獲取操作憑證(type為1表示繫結,2表示解除繫結)

wx.invoke('getwxdeviceticket',,function(res)else

});//使用者解除繫結

//與上面的方法基本相同,只有type引數不同

wx.invoke('getwxdeviceticket',,function(res)else

});

8、向裝置傳送資料

wx.invoke('senddatatowxdevice', , function

(res)else

});//傳送的資料需要經過base64編碼

ios一切正常,但是填成3|1,你就發現安卓的ble藍芽呼叫「getwxdeviceinfos」(獲取裝置資訊),獲取不到!

如果使用者的手機是經典藍芽,你就寫乙個html頁面,搞個按鈕叫「刷成經典藍芽」,使用者可以自己去更新裝置屬性(就是授權那個地方,不是可以更新裝置屬性嗎,讓你們後台工程師寫個介面,使用者可以自己去把connect_protocol刷成1)

4、關於裝置向手機發資料:

裝置發的資料,裡面有兩個值,乙個代表包括包頭包尾的總長度,乙個代表除去包頭包尾的長度,必須與所發資料的實際情況相對應,html頁面中才能接收到。否則不報錯,但也接收不到。

5、繼續補充中

微信硬體藍芽開發各種坑不完全開發指南

寫於 2016 4 15 舊版 開始開發 以上是公眾平台的配置,下面開始寫前端 1 新建html,基本結構寫好。2 引入 這個js 3 寫js wx.config 4 繼續寫方法 wx.ready function function res 手機藍芽狀態改變時觸發 這是監聽事件的呼叫方法,注意,監聽...

微信硬體藍芽開發各種坑不全然開發指南

舊版 開始開發 3 點 開發人員工具 進去後找到 公眾平台測試帳號 自己依照步驟申請開通乙個。4 進入測試號管理頁面,就會得到 以上是公眾平台的配置,以下開始寫前端 1 新建html,基本結構寫好。2 引入 這個js 3 寫js wx.config 生成證書的方法js sdk文件中有,此處臨時省略 ...

記一次難忘的微信藍芽硬體入坑過程

但是最近客戶向我反饋,收不到硬體傳送的資訊了。這怎麼可能,伺服器都沒有變過,怎麼可能會出問題呢?但畢竟客戶就是上帝,這個問題得檢查一下啊,我懷著一顆忐忑的心,看了一下伺服器的 log 日誌。看到了這段日誌,更覺得奇怪,easywechat 的擴充套件包從來沒有公升級過,此版本 3.1。怎麼可能會出這...