共计 1359 个字符,预计需要花费 4 分钟才能阅读完成。
基于 Uniapp + VUE 实现繁难的低功耗蓝牙(BLE)通信利用,实现一下性能
- 扫描周边蓝牙设施
- 连贯选定设施
- HEX/TEXT 数据收发
我的项目开发环境
IDE:HbuilderX 3.0+
开发框架:uniapp + vue2.x + sass
运行平台:Android(4.4 – 11.0)、iOS(9 – 15)
环境要求:window7+,macOS 10.12.6+, node 10.14.5+
成果演示
我的项目实际
首先须要开发者提前准备好“技术实现”局部的环境并登录到 DCloud 中。此时关上智密原生仿抖音高低滑动插件的详情页(蓝牙 BLE 通讯 - 蓝牙扫描链接发送 - 智能硬件 - 智密科技 – DCloud 插件市场)
点击导入之后,零碎将会主动关上 hbx,并且提醒新建导入我的项目,导入胜利之后开发者将会看到这样的一个目录构造,这咱们就创立实现根底我的项目。
试用插件
创立实现我的项目之后,依据 uniapp 的官网要求,咱们并不能间接应用插件,咱们还须要先申请试用,而后打包自定义基座才能够应用。
点击确认申请试用之后,咱们还须要回到 hbx 中抉择云端插件并且打包自定义基座,运行的时候咱们也须要抉择自定义基座,具体操作如下:
个别试用抉择公共测试证书
抉择打自定义调试基座,去掉所有广告,并且抉择传统打包
至此咱们实现了打包自定义基座以及以自定义基座运行的形式了,接下来咱们开始进入代码实战阶段。
插件接口
目前蓝牙通信插件凋谢了根本对象如下:
var BLE = uni.requireNativePlugin('Zhimi-BLE')
根本接口:
// 设置监听事件
BLE.setBLECallback(function(){});
console.log(devicesPaths);
// 初始化蓝牙对象
BLE.openBluetoothAdapter();
// 开始扫描蓝牙设施
BLE.startBluetoothDevicesDiscovery()
// 进行扫描蓝牙设施
BLE.stopBluetoothDevicesDiscovery()
// 链接蓝牙设施 - 此处传入扫描回来的蓝牙 name
BLE.connect("@220217172F")
// 断开蓝牙设施
BLE.disconnect()
// 扫描服务 - setBLECallback 事件会返回获取特色所须要的信息
BLE.discoverServices()
// 通过服务获取特色 - setBLECallback 事件会返回收和发所须要的特色码
BLE.discoverCharacteristics("0000fff0-0000-1000-8000-00805f9b34fb") // 传入的数据从 discoverServices 来的
// 订阅实时音讯 - 订阅传入的特色从 discoverCharacteristics 来
BLE.setNotifyValueforCharacteristic("0000fff1-0000-1000-8000-00805f9b34fb")
// 发送数据 - 发送传入的特色从 discoverCharacteristics 来
BLE.writeValue("0000fff2-0000-1000-8000-00805f9b34fb", true, "123456", 0)
// true = 发送 Hex 数据,false = 发送 text 数据
最终成果
正文完
发表至: javascript
2022-05-31