參考官方文件:
上**:
wxml
>
bindtap
="initblue"
>
初始化藍芽view
>
>
匹配到的藍芽}
view
>
>
高壓}view
>
>
低壓}view
>
>
脈搏}view
>
view
>
wxjs
page(,
})
1.0 wx.openbluetoothadapter 初始化藍芽模組
initblue:
function()
) that.
findblue()
;fail:
function
(res))}
})},
2.0 wx.startbluetoothdevicesdiscovery 開始搜尋附近的藍芽外圍裝置
findblue()
) that.
getblue()
)},
3.0 wx.getbluetoothdevices 獲取在藍芽模組生效期間所有已發現的藍芽裝置
getblue()
) that.data.deviceid=res.devices[i]
.deviceid;
console.
log(that.data.deviceid)
; that.
connetblue
(res.devices[i]
.deviceid)
;return;}
}}, fail:
function()
})},
4.0 wx.createbleconnection 通過3.0步驟找到這個藍芽之後,通過藍芽裝置的id進行藍芽連線
connetblue
(deviceid)
) console.
log(
"連線藍芽成功!"
) wx.
stopbluetoothdevicesdiscovery(}
) that.
getserviceid()
)},
5.0 wx.getbledeviceservices 獲取藍芽裝置所有服務
// 連線上需要的藍芽裝置之後,獲取這個藍芽裝置的服務uuid
getserviceid()
) console.
log(that.data.deviceid,that.data.services)
that.
getcharacteid
(that.data.deviceid,that.data.services)
fail
(err)})
},
6.0 wx.getbledevicecharacteristics 獲取藍芽裝置某個服務中所有特徵值
indicate和notify兩者乙個為true即可用
getcharacteid()
) that.
startnotice
(that.data.propertiesuuid)
(item.properties.write ==
true))
}}},
fail
(err)})
},
7.0 wx.notifyblecharacteristicvaluechange 啟用低功耗藍芽裝置特徵值變化時的 notify 功能,訂閱特徵值。
注意:必須裝置的特徵值支援 notify 或者 indicate 才可以成功呼叫
startnotice
(uuid)
)return hexarr.
join(''
);}// 16進製制轉中文字串
function
hexcharcodetostr
(hexcharcodestr)
var curcharcode;
var resultstr =
;for
(var i =
0; i < len;i = i +2)
return resultstr.
join(""
);} wx.
onblecharacteristicvaluechange
((res)
=>
has changed, now is $`
);console.
log(
"是我是我"
,res.value)
;// console.log("123456789456789");
console.
log(
"16進製制轉成中文字串哦",(
ab2hex
(res.value)))
;var newvalue=
ab2hex
(res.value)
; console.
log(
"aaaaaaa"
,newvalue)
;//38
var bb=newvalue.
slice(0
,2);
//le
console.
log(bb,
"要我轉成2進製呦"
,parseint
('bb',16
).tostring(2
))var heightya=
parseint
(newvalue.
slice(2
,6),
16);//轉成10進製
var highpressure=
parseint
(heightya/
256)
;//除以256獲取高壓
console.
log(
"高壓"
,heightya,newvalue.
slice(2
,6))
; console.
log(
"高壓最終值"
,highpressure)
; that.
setdata()
that.data.highpressure=highpressure;
var lowya=
parseint
(newvalue.
slice(6
,10),
16);//轉成10進製
var lowpressure=
parseint
(lowya/
256)
;//除以256獲取低壓
console.
log(
"低壓"
,lowya,newvalue.
slice(6
,10))
; console.
log(
"低壓最終值"
,lowpressure)
; that.
setdata()
that.data.lowpressure=lowpressure;
var mb=newvalue.
slice(28
,32);
//擷取脈搏
console.
log(
"脈搏"
,mb)
;var num1=mb.
slice(0
,2);
//擷取脈搏前兩位
var num2=mb.
slice(2
,4);
//擷取脈搏後兩位
console.
log(num1)
; console.
log(num2)
;var allnum="";
if(num1>num2)
) that.data.pulse=allnum;
}else
if(num1) that.data.pulse=allnum;}}
)},fail
(err)})
},
此篇僅供參考哦,如有問題儘管提。 微信小程式藍芽BLE連線讀取
連線流程順序 1,開啟藍芽適配 wx.openbluetoothadapter 如果藍芽初始化成功success 2,獲取藍芽介面卡的狀態,判斷裝置藍芽是否可用。通過函式wx.getbluetoothadapterstate獲取本機藍芽介面卡的狀態 如有裝置未開啟藍芽連線 及其它狀態 可檢視函式的返...
微信小程式連線藍芽電子秤
注意 此次,只涉及讀取資料,沒有寫入資料,具體 api 檢視小程式官方文件 確保手機藍芽已經開啟,並且可以搜尋到該電子秤的藍芽裝置,android 可以搜到,ios 搜不到 但是沒有關係,小程式裡 getbluetoothdevices 可以成功就可以了 最終得到的結果是 arraybuffer 型...
微信小程式藍芽開發
藍芽模組如何快速改名並繫結使用者手機?這樣即使多台藍芽裝置在同乙個地方使用也可以互不干擾,燧星科技給出解決方案。長按控制板5秒進入待繫結下狀態,點選 新增藍芽裝置 小程式會生成乙個藍芽名並分別儲存在控制板與小程式中形成繫結關係。新增成功之後點選確定進入控制面 此時藍芽裝置可直接與手機進行資料傳輸,手...