微信小程式 藍芽開發 Demo 外掛
微信小程式藍芽操作
由於開發要求,要在微信小程式加上藍芽操作,於是乎就自己寫了個封裝了個藍芽外掛bletool,方便自己以後使用,下面介紹一下使用方法和反饋引數
先來看初始化
整合之後藍芽的操作就變得簡單很多了,先把寫好的bletool.js放到utils包下(具體放哪看你們自己的了)
var Bletool = require("../../utils/bletool.js"); //引進js
初始化操作,呼叫initble方法,第一個引數是初始化成功的回撥,回撥內容為一個json{return_code : “”,msg:“”} return_code:為0時為成功,msg返回的是操作資訊,初第二個引數為藍芽狀態改變的回撥,回傳引數和官方的沒有差異,第三個引數為藍芽連線狀態改變的回撥,回傳引數與官方的一致
掃描藍芽,呼叫startScanle方法,第一個引數為發現新裝置的回撥,回撥引數為新的裝置資訊,第二個引數為掃面結束時間,我這裡設定的是10秒結束,要注意的是初始化後要等待1秒左右才去掃描才行
bleUtil = new Bletool(); bleUtil.initble(function(res){ console.log(res); if (res.return_code == "0") { setTimeout(function (res) { bleUtil.startScanle(function (res) { console.log(res); var devices = that.data.device; var num = that.data.devicename; devices[num] = res.devices; console.log(devices); that.setData({ device:devices, devicename: num+1 }); },10000); }, 1000); } else { wx.showToast({ title: '請先開啟藍芽', icon: "none" }) } },function(res){ console.log(res); },function(res){ console.log(res); });
停止掃描,呼叫stopScanle()方法即可
bleUtil.stopScanle();
連線裝置,呼叫connect(),兩個引數 ,第一個引數為藍芽裝置的裝置id,第二個引數為接收藍芽裝置回傳資訊的回撥,與官方onBLECharacteristicValueChange回傳值一樣,新增res.value.strData 為字串的資訊
bleUtil.connect(item.deviceId,function(res){ console.log(res); that.setData({ repdata: res.value.strData }); });
斷開連線,呼叫disconnect()方法即可,返回引數為{return_code:“”,msg} return_code 為0時為操作成功,msg為具體資訊
bleUtil.disconnect();
傳送資料,呼叫sendMsg()方法,2個引數,第一個為傳送的資訊,第二個引數為傳送回撥,返回引數為{return_code:“”,msg} return_code 為0時為操作成功,msg為具體資訊
bleUtil.sendMsg("PX#",function(res){
console.log(res);
});
然後不用了關閉介面卡就over了,呼叫close()方法即可,很方便吧
if(bleUtil != null){
bleUtil.close();
}
我把程式碼放到github上面的,bletool.js在utils包下,點選就可以過去了,得切換下分支,我沒放在master裡