|
目前藍(lán)牙資料極少,但是為了讓大家能夠迅速的了解新API及可能遇到的問題,本帖將不斷聚合跟藍(lán)牙相關(guān)的內(nèi)容;以便大家參考; 官方文檔地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/bluetooth.html
藍(lán)牙錯(cuò)誤碼(errCode)列表
推薦貼:
微信小程序藍(lán)牙實(shí)現(xiàn)連接的開發(fā)總結(jié)
【藍(lán)牙】開發(fā)相關(guān)匯總【長期更新】 相關(guān)文章: 微信小程序?qū)崿F(xiàn)BLE藍(lán)牙連接 【經(jīng)驗(yàn)總結(jié)】小程序有效判斷手機(jī)藍(lán)牙開/關(guān)狀態(tài) 微信小程序 藍(lán)牙BLE開發(fā)實(shí)戰(zhàn)(附demo) 微信小程序更新--測試API之藍(lán)牙 微信小程序最新更新--api測試一覽 微信小程序--Ble藍(lán)牙 相關(guān)demo: 微信小程序藍(lán)牙通訊demo 微信小程序?qū)W習(xí)用demo:藍(lán)牙測試 微信小程序 低耗藍(lán)牙接口封裝 相關(guān)討論: Android環(huán)境 wx.writeBLECharacteristicValue寫入數(shù)據(jù)無通知 小程序連接Android 藍(lán)牙ble,只搜到自帶的service 相關(guān)討論: 小程序藍(lán)牙設(shè)備支持咨詢
很雞凍,在28日小程序放出支持藍(lán)牙設(shè)備的接口,使小程序的控制功能更厲害.但細(xì)看文檔后發(fā)現(xiàn)該功能目前僅支持iOS 微信客戶端 6.5.6和只能在mac開發(fā)工具上進(jìn)行調(diào)試。
存有2個(gè)疑問:
1、未來會(huì)否支持安卓的藍(lán)牙控制?
2、Windows版的開發(fā)工具是否支持藍(lán)牙接口的開發(fā)(如電腦沒藍(lán)牙的,在安卓機(jī)上調(diào)試)?
下載最新的Android6.5.7已經(jīng)支持,Windows由于對藍(lán)牙支持不友好,暫不支持。 假如你的安卓仍未支持,請將安卓升級到6.5.7版及以上,重啟一下手機(jī)進(jìn)入微信。就可以進(jìn)行藍(lán)牙測試了 相關(guān)討論: 微信已是6.5.6版本,但是基礎(chǔ)庫版本還是舊的,應(yīng)該怎么辦? 需要調(diào)試藍(lán)牙接口,很著急 Android還沒有更新最新版本的公共庫 相關(guān)討論: 藍(lán)牙功能 怎么沒有發(fā)送數(shù)據(jù) 和 監(jiān)聽數(shù)據(jù)返回的 新開放的藍(lán)牙功能 沒有交互數(shù)據(jù)的嗎 怎么沒有發(fā)送數(shù)據(jù) 和 監(jiān)聽數(shù)據(jù)返回的 wx.readBLECharacteristicValue(OBJECT) 相關(guān)討論: 藍(lán)牙寫入數(shù)據(jù) 有個(gè)問題沒有可以寫入的值。 比如 寫入 AA5504B10000B5 的16進(jìn)制字符串 ,改怎么寫入。 ![]()
相關(guān)討論: 安卓6.5.7版本的微信不支持藍(lán)牙嗎?
安卓6.5.7版本的微信不支持藍(lán)牙嗎?
提示找不到wx.openBluetoothAdapter函數(shù)
兼容處理只是檢查有沒有該接口。
我想知安卓是不是基礎(chǔ)庫不支持?
[AppleScript] 純文本查看 復(fù)制代碼
if (wx.openBluetoothAdapter) {
wx.openBluetoothAdapter()
} else { // 如果希望用戶在最新版本的客戶端上體驗(yàn)?zāi)男〕绦?,可以這樣子提示
wx.showModal({
title: '提示',
content: '當(dāng)前微信版本過低,無法使用該功能,請升級到最新微信版本后重試。'
})
}
基礎(chǔ)庫還未更新,請參考文檔如何做兼容處理 相關(guān)討論: 小程序的藍(lán)牙功能,如何獲取藍(lán)牙的major minor 值;發(fā)送到設(shè)備的指令后,沒有返回?cái)?shù)據(jù),改怎么處理 此功能屬于 ibeacon 功能,需要使用 ibeacon 請等下一版本的相關(guān)接口 相關(guān)討論: 藍(lán)牙接口無法獲取advertisData
onBluetoothDeviceFound回調(diào)返回的設(shè)備數(shù)據(jù)有問題,無法獲得藍(lán)牙廣播數(shù)據(jù)(ibeacon設(shè)備),advertisData為空。
getBluetoothDevices也一樣。
mac 上存在底層接口限制,無法獲取 BLE 設(shè)備的 advertisData 相關(guān)討論: 藍(lán)牙API在mac上調(diào)試問題
用mac測試藍(lán)牙可以搜到設(shè)備,但是讀到的mac地址不對(跟實(shí)際的mac地址不一樣),用真機(jī)測試,連設(shè)備都掃不到,經(jīng)測試發(fā)現(xiàn)wx.onBluetoothDeviceFound(function(devices) 這個(gè)回調(diào)沒有響應(yīng),求各位指導(dǎo)下,謝謝
圖中是用mac測試,搜索到的mac地址,但是實(shí)際的地址不一樣,用這個(gè)地址去掃描service服務(wù)也無響應(yīng)
相關(guān)討論: 小程序藍(lán)牙開發(fā)藍(lán)牙相關(guān)的API介紹中提到目前只支持MAC系統(tǒng)調(diào)試,windows系統(tǒng)環(huán)境下寫代碼然后預(yù)覽上傳到iphone手機(jī)上測試是否可行 可行 新增討論:安卓藍(lán)牙
今天發(fā)現(xiàn)小程序可以支持安卓藍(lán)牙API了,但測試了下wx.getBluetoothDevices這個(gè)API報(bào)錯(cuò)!
另外向非低功耗藍(lán)牙設(shè)備發(fā)送數(shù)據(jù)的場景如何實(shí)現(xiàn)?比如我要使用藍(lán)牙便攜打印機(jī)(非低功耗藍(lán)牙)
答:追夢的人
Page({
onLoad: function () {
//var that = this;
wx.openBluetoothAdapter({
success: function (res) {
console.log(res)
wx.getBluetoothAdapterState({
success: function (res) {
console.log(res)
}
})
wx.startBluetoothDevicesDiscovery({
success: function (res) {
console.log(res)
}
})
wx.getConnectedBluetoothDevices({
success: function (res) {
console.log(res)
}
})
wx.getBluetoothDevices({
//services: ['0019E0A29C02'],
success: function (res) {
console.log(res)
// that.setData({
// // BLT_name: res.devices[0].name,
// // BLT_deviceId: res.devices[0].deviceId,
// // BLT_RSSI: res.devices[0].RSSI
// // BLT_advertisData: res.devices[0].advertisData
// })
}
})
}
})
}
})
控制臺(tái)輸出,就wx.getBluetoothDevices報(bào)錯(cuò),其他四個(gè)API正常。
錯(cuò)誤代碼:cannot read property 'map' of undefined
新增案例:wx.onBluetoothDeviceFound參數(shù)類型不統(tǒng)一
wx.onBluetoothDeviceFound(function(devices) {
console.log(devices)
}
打印devices
在Mac中devices=[object]
在iphone中devices={ devices : [object] }
在android中devices=object
答:庫從建
新增案例:關(guān)于小程序讀取藍(lán)牙特征值問題 有人成功使用小程序調(diào)通BLE的嗎?為什么我讀取的特征值返回的value都是——proto:null 答:開泰 function buf2hex(buffer) { // buffer is an ArrayBuffer 新增案例:微信小程序的藍(lán)牙功能支持連接OBD讀取車載信息嗎?微信小程序的藍(lán)牙功能支持連接OBD讀取車載信息嗎?
答:林超
新增案例: 手機(jī)測試藍(lán)牙API,不走devicefound回調(diào),求指導(dǎo) 上面的代碼,在mac上調(diào)試都沒問題,用手機(jī)調(diào)試就發(fā)現(xiàn)不走回調(diào)(蘋果和安卓微信版本都是6.5.7) ![]()
答:飛
參考一下吧,我這個(gè)是蘋果真機(jī)測試(版本6.5.6)可以執(zhí)行 新增案例:
問題:
藍(lán)牙indication可以用哪個(gè)API操作
答:吳清生
搞半天換臺(tái)蘋果手機(jī)可以用了,android notify API不支持indication
相關(guān)討論:
讀取藍(lán)牙設(shè)備發(fā)出的數(shù)據(jù)問題
使用 wx.writeBLECharacteristicValue(OBJECT) 發(fā)送數(shù)據(jù)的時(shí)候,發(fā)送的數(shù)據(jù)在設(shè)備上可以接收到,并且正常,
但是使用 wx.readBLECharacteristicValue(OBJECT) 接收數(shù)據(jù)的時(shí)候,確一直接收不到,
我用了 使用了 wx.onBLECharacteristicValueChange(CALLBACK) 來監(jiān)聽數(shù)據(jù),數(shù)據(jù)發(fā)送來的時(shí)候事件確實(shí)可以激活,但是
wx.onBLECharacteristicValueChange(function(res) {
console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`)
})
上面代碼的res.value確一直是空對象,
請問 是不是在底層這里的二進(jìn)制轉(zhuǎn)換沒有做,導(dǎo)致字符串對象為空,還是說這里有什么其他方法可以處理的。
答:維明
方便大家 我自己回答了 收到的數(shù)據(jù)是二進(jìn)制格式的,根據(jù)自己的協(xié)議來讀吧。 |