关于javascript:手把手教程uniapp-vue-从0搭建简易蓝牙BLE通讯插件扫描连接收发数据

2次阅读

共计 1359 个字符,预计需要花费 4 分钟才能阅读完成。

基于 Uniapp + VUE 实现繁难的低功耗蓝牙(BLE)通信利用,实现一下性能

  1. 扫描周边蓝牙设施
  2. 连贯选定设施
  3. 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 数据 

最终成果

正文完
 0