1. 程式人生 > >微信小程式 藍芽開發 Demo 外掛

微信小程式 藍芽開發 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裡