基于 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()// 链接蓝牙设施 - 此处传入扫描回来的蓝牙nameBLE.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数据