欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

熊晨灃藍(lán)牙實(shí)戰(zhàn)--小程序藍(lán)牙連接2.0 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?

您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >

熊晨灃藍(lán)牙實(shí)戰(zhàn)--小程序藍(lán)牙連接2.0

發(fā)表時(shí)間:2021-4-22

發(fā)布人:葵宇科技

瀏覽次數(shù):77

微信小程序藍(lán)牙連接2.0說明:

1、本版本區(qū)分了ANDROID和IOS系統(tǒng)下藍(lán)牙連接的不同方式。 
2、兼容了更多情況下的鏈接包括:

(1)未開啟設(shè)備藍(lán)牙,當(dāng)監(jiān)聽到開啟了藍(lán)牙后自動(dòng)開始連接。 
(2)初始化藍(lán)牙失敗后每3000ms自動(dòng)重新初始化藍(lán)牙適配器。 
(3)安卓端開啟藍(lán)牙適配器掃描失敗,每3000ms自動(dòng)重新開啟。 
(4)IOS端獲取已連接藍(lán)牙設(shè)備為空,每3000ms自動(dòng)重新獲取。 
(5)安卓端藍(lán)牙開始鏈接后中斷掃描,連接失敗了,重新開始掃描。 
(6)IOS端開始連接設(shè)備后,停止獲取已連接設(shè)備,連接失敗自動(dòng)重新開啟獲取。 
(7)連接成功后,關(guān)閉系統(tǒng)藍(lán)牙,藍(lán)牙適配器重置。 
(8)連接成功后,關(guān)閉系統(tǒng)藍(lán)牙,再次打開藍(lán)牙,自動(dòng)重新開始連接。 
(9)連接成功后,關(guān)閉目標(biāo)藍(lán)牙設(shè)備,自動(dòng)重新開始掃描(獲?。?nbsp;
(10)連接成功后,最小化小程序(連接未中斷),打開小程序顯示已連接。 
(11)連接成功后,殺掉小程序進(jìn)程,連接關(guān)閉,自動(dòng)重新開始掃描(獲取)。

3、想起來了再來更新....。 
4、流程圖,明天或后天或...誰有空幫我畫一下也行。

我的連接是在App.js中做的。 
在App.js中的onLaunch觸發(fā)是調(diào)用 init()方法。 
init代碼:

  1. init: function (n) {
  2. this.list = [];
  3. this.serviceId = "6E400001-B5A3-F393-E0A9-E50E24DCCA9E";
  4. this.serviceId_2 = "00001803-0000-1000-8000-00805F9B34FB";
  5. this.serviceId_3 = "00001814-0000-1000-8000-00805F9B34FB";
  6. this.serviceId_4 = "00001802-0000-1000-8000-00805F9B34FB";
  7. this.serviceId_5 = "00001804-0000-1000-8000-00805F9B34FB";
  8. this.serviceId_6 = "00001535-1212-EFDE-1523-785FEABCD123";
  9. this.characterId_write = "6E400042-B5A3-F393-E0A9-E50E24DCCA9E";
  10. this.characterId_read = "6E400012-B5A3-F393-E0A9-E50E24DCCA9E";
  11. this.connectDeviceIndex = 0;
  12. this.isGettingConnected = false;
  13. this.isDiscovering = false;
  14. this.isConnecting = false;
  15. this.connectedDevice = {};
  16. console.log('init state', this.connectedDevice.state);
  17. if (!this.connectedDevice.state || n == 200) {
  18. this.connectedDevice.state = false;
  19. this.connectedDevice.deviceId = '';
  20. this.adapterHasInit = false
  21. }
  22. this.startConnect();
  23. }

說明:

1、 serviceId_2~6 是我已知的想要連接的藍(lán)牙設(shè)備的serviceId可以只寫一個(gè)。 
2、characterId_write 是我已知的想要連接的藍(lán)牙設(shè)備寫入數(shù)據(jù)的特征值。 
3、characterId_read是我已知的想要連接的藍(lán)牙設(shè)備讀取數(shù)據(jù)的特征值。 
(以上3個(gè)都是為了做比對,真實(shí)的操作按照獲取到的sericeid, characterid為準(zhǔn))。 
4、connectedDevice 是已連接了的設(shè)備信息對象。

init完成后開始調(diào)用連接 startConnect();

startConnect代碼:

  1. startConnect: function () {
  2. var that = this;
  3. if (that.connectedDevice.state) return;
  4. that.connectedDevice.deviceId = "";
  5. that.connectedDevice.state = false;
  6. // 如果適配器已經(jīng)初始化不在調(diào)用初始化(重復(fù)初始化會(huì)報(bào)錯(cuò))
  7. if (this.adapterHasInit == undefined || this.adapterHasInit) return;
  8. wx.showLoading({
  9. title: '初始化藍(lán)牙',
  10. duration: 2000
  11. });
  12. // 開啟藍(lán)牙適配器狀態(tài)監(jiān)聽