需求背景
蓝牙控制板放到控制柜里之后,就会有 20% 的概率出现蓝牙通信丢失的情况。 不确定是信号干扰的问题,还是放到控制柜之后,受隔音棉的影响信号变弱所致。
所以需要能够实时打印当前的蓝牙信号强度,来排除信号减弱的问题。
微信小程序界面上显示信号强度。底部,默认隐藏,点击显示。
参考文档
https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceRSSI.html
wx.getBLEDeviceRSSI(Object object)
获取蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI)。
实现代码
// 蓝牙信号强度
getBLEDeviceRSSI: function() {
let deviceId = this.data.deviceId;
if (wx.getBLEDeviceRSSI) {
wx.getBLEDeviceRSSI({
deviceId,
success: (res) => {
console.log("信号强度:" + res.RSSI);
}
});
}
},
实际显示 RSSI 值在 -50 左右。
RSSI 值大小对应的蓝牙信号强弱
rssi信号强度-60~-70算是信号很好。 rssi在无线网络中表示信号的强度,它随距离的增大而衰减,通常为负值,该值越接近零说明信号强度越高。
- RSSI持续过低,说明基站收到的上行信号太弱,可能导致解调失败。
- RSSI持续过高,说明收到的上行信号太强,相互之间的干扰太大,也影响信号解调。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式
谈笑风生
鸟叔 (来自: 中国 山西 长治 移动) 2年前