**(舊版):
– 開始開發 –
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。怎麼可能會出這...