问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

微信小程序如何获取本机蓝牙mac地址

发布网友 发布时间:2022-04-21 01:51

我来回答

2个回答

懂视网 时间:2022-04-23 12:43

微信小程序整体上是很不错的,蓝牙接口的确“坑”,“网络端”的程序猿做“硬件接口”,本文主要和大家分享微信小程序蓝牙设备代码与错误整理,希望能帮助到大家。

一些麻烦事儿

蓝牙设备比较多会把手机卡死,公司能扫描到200+个设备,直接把iphone5S的微信卡死了。

每次硬件操作之间一定加延迟,建议100ms,例如“打开蓝牙”与“开始扫描”间,“连接成功”与“获取服务”等等之类。不使用延迟可能会出现莫名其妙的错误,多见于Android端。

注意JS的异步、并发特性,特别在轮询service下的characteristic。小程序还不支持async,await(代码补全中有这两个关键字,但是编译不过)。

蓝牙的数据读写、advertisData的类型是ArrayBuffer,(引用小程序的注意:vConsole 无法打印出 ArrayBuffer 类型数据)。鞋童们请先把二进制数组、十六进制字符串弄明白吧,代码中有转换的方法(复制自github)。

初始化蓝牙适配器(wx.openBluetoothAdapter(OBJECT))、获取本机蓝牙适配器状态(wx.getBluetoothAdapterState(OBJECT)),这两个函数那个先调用不好说,自己玩吧,见下说明。

一些BUG

1、蓝牙在扫描过程中,获取本机蓝牙适配器状态(wx.getBluetoothAdapterState(OBJECT))。(Android独有,华为荣耀8、VIVO 7plus,6.5.13)

availableBoolean蓝牙适配器是否可用,值为true。

discoveringBoolean是否正在搜索设备,值为false。

https://github.com/FFiot/WX_Bluetooth/issues/1

2、蓝牙在扫描过程中,再次启动扫描wx.startBluetoothDevicesDiscovery(OBJECT):fail,errCode=10008。(Android独有,华为荣耀8、VIVO 7plus,6.5.13)BUG:蓝牙扫描中查询蓝牙状态 · Issue #1 · FFiot/WX_Bluetoothgithub.com蓝牙在扫描过程中,再次启动扫描wx.startBluetoothDevicesDiscovery(OBJECT):fail,errCode=10008。(Android独有,华为荣耀8、VIVO 7plus,6.5.13)

https://github.com/FFiot/WX_Bluetooth/issues/2

errorCode与errMsg混在一起。(IOS独有,IPHONE5s,微信6.5.15)

https://github.com/FFiot/WX_Bluetooth/issues/3

3、蓝牙在扫描service下character时,如果有多个service,只能正常获取第一个service下的character,其余service获取的chara与第一个service相同。(IOS独有,IPHONE5s,微信6.5.15)

移动设备蓝牙开启关闭用两种状态,触发wx.onBluetoothAdapterStateChange回调

1、wx.getBluetoothAdapterState(OBJECT)

关闭状态返回:drrCode:10000,errMsg:"getBluetoothAdapterState:fail"。此时开启蓝牙: wx.onBluetoothAdapterStateChange(CALLBACK)无回调。

开启状态返回:drrCode:10000,errMsg:"getBluetoothAdapterState:fail"。此时关闭蓝牙: wx.onBluetoothAdapterStateChange(CALLBACK)无回调。

2、wx.getBluetoothAdapterState(OBJECT)

关闭状态返回:drrCode:10001,errMsg:"openBluetoothAdapter:fail"。此时开启蓝牙:wx.onBluetoothAdapterStateChange(CALLBACK)有回调。

开启状态返回:errMsg:"openBluetoothAdapter:ok"。此时开启蓝牙:wx.onBluetoothAdapterStateChange(CALLBACK)有回调。

热心网友 时间:2022-04-23 09:51

流程是这样的:先初始化蓝牙适配器,然后获取本机蓝牙适配器的状态,然后开始搜索,当停止搜索以后在开始搜索,就会触发蓝牙是配置状态变化的事件,搜索完成以后获取所有已经发现的蓝牙设备,就可以将devices中的设备Array取出来了。然后就可以得到所有已经连接的设备了,至于链接功能,还没有真机可测,所以没有测试。

我的电脑上蓝牙连接的设备:

以下是案例代码:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
父母爱情:最不像演员的演员,出场狼狈却没想到是个“王者”吗?_百度知 ... 上海交大研究生电气工程及其自动化专业住宿条件如何 上海交大的电气工程怎么样 上海交通大学电气工程系历史沿革 上海交大电院直博几年 抖音的取消收藏功能怎么不见了 成考本科专业有哪些专业可以选 专升本成人高考有些什么专业可以选择 2024专升本成考有什么专业可以选 2024美术生高考文化课300分能上什么大学 用微信小程序怎么开发蓝牙BLE 如何在微信小程序《海阳云护理》中用蓝牙遥控自拍照片 微信小程序手机提示蓝牙未开启 微信小程序海纳书童不好用总是显示连接不上蓝牙 微信小程序 请检查手机蓝牙是否打开 微信小程序雷恩之家搜不到蓝牙 微信收钱怎么用蓝牙音响播报语音? 微信小程序说请打开蓝牙但开着蓝牙 斗鱼的位置定位一定是直播所在的位置吗? wps.7q130e5发动机参数 广东岭南职业学院共有几个校区?师资力量怎样 哪里有wps表格函数大全 岭南职业技术学校第三年什么时候实习 为什么wps一修改数据就弹出这个窗口,求解 广东岭南职业技术学院的专业好不好? 三星打印机m2020w 的说明书上有wps的参数吗? 广东岭南职业技术学院怎么样知乎 气象wps提问 广东岭南职业技术学院学历承认吗 手机tim授权wps时显示,提交参数错误,请检查! 华为微信小程序D406k怎么搜又到蓝牙? 蓝牙开锁,微信小程序开锁,微信公众号开锁之间的区别 微信小程序蓝牙温度数据采集 微信小程序蓝牙可以同时连接2个设备吗? 微信小程序 蓝牙控制需要支持airsync协议吗 微信小程序蓝牙硬件的特征服务为什么要延迟获取 微信小程序怎么实现扫码开锁功能 404 Not Found 404 Not Found 电脑用HDMI连接电视作为显示器时鼠标延时 为什么笔记本HDMI连电视上会延迟 电视机HDMI连接电脑有点延迟是怎么回事? 电脑 HDMI 连接 电视 有延迟 笔记本外接显示器鼠标延迟 电视当作电脑显示屏 鼠标有延迟!! 电脑接4K电视后,鼠标延迟明显,怎么解决 主机连电视后鼠标飘,不是慢 是有延迟,有没有具体的解决办法 今天拿hdmi线 把电脑连接电视了~电视是49寸液晶~但是连接成功后感觉鼠标明显的迟缓~(鼠标.键盘都是好用 电脑hdmi连电视延时问题,求助! 电脑hdmi连接电视鼠标延迟