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

2021-09-07 16:37:56 字數 2517 閱讀 5478

**(舊版):

– 開始開發 –

3、點「開發人員工具」。進去後找到「公眾平台測試帳號」,自己依照步驟申請開通乙個。

4、進入測試號管理頁面,就會得到:

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

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

2、引入」這個js

3、寫js**:

wx.config();

生成證書的方法js-sdk文件中有,此處臨時省略

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編碼

以下來說一下遇到的各種坑:(上面內容中提到的就不說了)

1、開發流程:

①、硬體廠商,他們僅僅要得到了裝置的mac位址,就能夠開始授權了(好像僅僅要有藍芽板子,就有mac位址了)。

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

假設使用者的手機是經典藍芽。你就寫乙個html頁面,搞個button叫「刷成經典藍芽」,使用者能夠自己去更新裝置屬性(就是授權那個地方,不是能夠更新裝置屬性嗎。讓你們後台project師寫個介面。使用者能夠自己去把connect_protocol刷成1)

但ios預計是訂閱那個什麼東西非常快,不會過期,所以一下就連上了。

(2016-9-23更新:聽iosproject師說:ios連線藍芽僅僅須要3步,非常快非常穩定。

我們是讓硬體開發人員寫了個又一次連線的機制。可是也不是非常好用)

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

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

5、繼續補充中

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

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

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

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

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

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