uniapp 低功耗蓝牙BLE分包

2024-06-24 11:04

本文主要是介绍uniapp 低功耗蓝牙BLE分包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ble.js

  // 分包写入蓝牙async sendWriteBLECharacteristicValue(deviceId,serviceId,writeCharacteristicId,readCharacteristicId,buffer,success, // 成功回调failure, // 失败回调) {const offset = 500; // 偏移量let pos = 0; // 位置let bytes = buffer.byteLength; // 总字节let that = this;while (bytes > 0) {let endPos = bytes > offset ? pos + offset : pos + bytes;const tempBuffer = buffer.slice(pos, endPos);pos += offset;bytes -= offset;// 延迟发送await that.sendDelay(150, tempBuffer).then((buffer) => {that.writeBLECharacteristicValue(deviceId,serviceId,writeCharacteristicId,buffer,(res) => {if (buffer.byteLength < offset) {success(res);}},(err) => {failure(err);});});if (readCharacteristicId) {console.log(readCharacteristicId, "读文件");uni.readBLECharacteristicValue({deviceId: deviceId,serviceId: serviceId,characteristicId: readCharacteristicId,});}}}sendDelay(delay, buffer) {return new Promise((resolve, reject) => {setTimeout(() => resolve(buffer), delay);});}writeBLECharacteristicValue(deviceId,serviceId,characteristicId,buffer,success,failure) {plus.bluetooth.writeBLECharacteristicValue({deviceId: deviceId,serviceId: serviceId,characteristicId: characteristicId,value: buffer,success(res) {success(res);},fail(err) {if (res.errCode == "10006") {//当前连接已断开,清空连接数据}console.log("发送失败", res);failure(err);},});}

index.vue使用分包

this.$ble.sendWriteBLECharacteristicValue(deviceId, // 蓝牙地址IDserveiceId, // ABF0writeCharId, // 写入蓝牙通道 此处用ABF3readCharId,// 读取蓝牙返回数据通道 此处用ABF4buffer, // 要写入蓝牙的数据 Uint8Array(res) => {console.log("打印完成: " + JSON.stringify(res));},(err) => {console.log("打印失败: " + JSON.stringify(err));});

这篇关于uniapp 低功耗蓝牙BLE分包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089964

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

探索蓝牙协议的奥秘:用ESP32实现高质量蓝牙音频传输

蓝牙(Bluetooth)是一种短距离无线通信技术,广泛应用于各种电子设备之间的数据传输。自1994年由爱立信公司首次提出以来,蓝牙技术已经经历了多个版本的更新和改进。本文将详细介绍蓝牙协议,并通过一个具体的项目——使用ESP32实现蓝牙音频传输,来展示蓝牙协议的实际应用及其优点。 蓝牙协议概述 蓝牙协议栈 蓝牙协议栈是蓝牙技术的核心,定义了蓝牙设备之间如何进行通信。蓝牙协议

uniapp H5打开地图

manifest.json文件,源码视图找到H5添加下面内容 "h5" : {"sdkConfigs" : {"maps" : {"amap" : {"key" : "**********************","securityJsCode" : "****************************","serviceHost" : ""}}}} 高德开放平台 申请时选择(W

蓝牙ble数传芯片推荐,TD5327A芯片蓝牙5.1—拓达半导体

蓝牙数传芯片TD5327A芯片是一款支持蓝牙BLE的纯数传芯片,蓝牙5.1版本。芯片的亮点在于性能强,除了支持APP端直接对芯片做设置与查询操作,包括直接操作蓝牙芯片自身的IO与PWM口以外,还支持RTC日历功能,可以做各类定时类操作,极大丰富了蓝牙在IOT产品中的应用。此外,在数传应用方面,此芯片支持串口流控功能,提大提高了数据传输的稳定与可靠性。 拓达蓝牙芯片特点: 支持RTC日历功能,超

uniapp 使用uview 插件

看创建项目版本vue2 、 vue3 Button 按钮 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架 1.  npm install uview-ui@2.0.36 2. // main.js,注意要在use方法之后执行import uView from 'uview-ui'Vue.use(uView)// 如此

2021-02-16物料档案条码添加和蓝牙条码标签打印,金蝶安卓盘点机PDA,金蝶仓库条码管理WMS系统

物料档案条码添加和蓝牙条码标签打印,金蝶安卓盘点机PDA https://member.bilibili.com/platform/upload-manager/article 本期视频我们来讲解一下汉点机PDA条码添加和条码标签蓝牙便携打印: 在实际使用中,我们商品有两种情况: 一种是商品本身就有条码, 比如:超市卖的可口可乐,牛奶等商品,商品本身就有69开头的国标码,那么我们就可以使用盘点

Android蓝牙开发(一)之打开蓝牙和设备搜索

private BluetoothManager bluetoothmanger; private​ BluetoothAdapter bluetoothadapter; /** 判断设备是否支持蓝牙 */ bluetoothmanger = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); bluetooth

投票多功能小程序(ThinkPHP+Uniapp+FastAdmin)

🎉你的决策小助手! 支持图文投票、自定义选手报名内容、自定义主题色、礼物功能(高级授权)、弹幕功能(高级授权)、会员发布、支持数据库私有化部署,Uniapp提供全部无加密源码。​ 一、引言:为什么我们需要多功能投票小程序? 在快节奏的现代生活中,我们经常面临各种选择和决策。无论是团队活动的选择、家庭出游的目的地,还是朋友间的意见征集,都需要一个高效、便捷的投票工具来辅助我们。而“多功能

uniapp wgt多环境打包与调试插件——uni-packing-wgt

文章目录 背景介绍安装与使用 背景介绍 由于官方的HBuilderX编译器打包wgt每次都要手动的操作有些繁琐,也不支持多环境打包,在开发阶段与原生项目交互调试是极其不方便。而uni-packing-wgt正好可以解决这些问题。 uni-packing-wgt是uniapp跨平台多环境资源打包、调试、发布的插件工具。业内首款开源的wgt多环境打包插件。 主要特性: 支持同

Zigbee协议详解:低功耗无线通信的理想选择

什么是Zigbee协议 Zigbee是一种基于IEEE 802.15.4标准的无线通信协议,专为低功耗、低数据速率和短距离通信设计。它广泛应用于物联网(IoT)设备,如智能家居、工业自动化和健康监测等领域。Zigbee协议由Zigbee联盟维护和推广,旨在提供可靠、安全和互操作的无线通信解决方案。 Zigbee协议的主要特点 低功耗:Zigbee设备通常采用电池供电,设计上考虑了