当前位置: 首页 > Web前端 > JavaScript

【教程】uniapp+vue从0搭建一个简单的蓝牙BLE通讯插件:扫描+连接+收发数据

时间:2023-03-26 23:18:12 JavaScript

基于Uniapp+VUE实现一个简单的低功耗蓝牙(BLE)通讯应用,实现扫描外设蓝牙设备连接功能选择设备HEX/TEXT数据收发项目开发环境IDE:HbuilderX3.0+开发框架:uniapp+vue2.x+sass运行平台:Android(4.4-11.0)、iOS(9-15))环境要求:window7+,macOS10.12。6+、node10.14.5+效果演示项目实践首先需要开发者提前准备好“技术实现”部分的环境,并登录DCloud。这时候打开智米原版仿抖音滑动插件详情页(蓝牙BLE通信-蓝牙扫描链接发送-智能硬件-智米科技-DCloud插件市场)点击导入后系统会自动打开hbx并提示创建一个新的导入项目。导入成功后,开发者会看到这样的目录结构,我们来创建基础工程。试用插件创建项目后,根据uniapp官方的要求,我们不能直接使用插件。我们还需要先申请试用,然后对定制底座进行打包,才能使用。点击确认申请试用后,我们需要回到hbx选择云插件,打包自定义底座。在运行的时候,我们还需要选择一个自定义的base。具体操作如下:Generaltrial选择publictestcertificate选择customdebuggingDock,去掉所有广告,选择traditionalpackage。至此我们就完成了打包自定义dock并使用自定义dock运行的方式,下面开始进入实际的代码阶段。插件接口目前蓝牙通信插件已经开启了如下基本对象:varBLE=uni.requireNativePlugin('Zhimi-BLE')基本接口://设置监听事件BLE.setBLECallback(function(){});console.log(devicesPaths);//初始化蓝牙对象BLE.openBluetoothAdapter();//开始扫描蓝牙设备BLE.startBluetoothDevicesDiscovery()//停止扫描蓝牙设备BLE.stopBluetoothDevicesDiscovery()//连接蓝牙devices-在此处传入扫描的蓝牙名称BLE。connect("@220217172F")//断开蓝牙设备BLE.disconnect()//扫描服务-setBLECallback事件将返回获取特征所需的信息BLE.discoverServices()//通过服务获取特征-setBLECallback事件将returnthereceivedthereceivedThecharacteristiccoderequiredbyHefaBLE.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=发送十六进制数据,false=发送文本数据最终效果