uniapp(小程序)低功耗蓝牙分包发送数据

这篇具有很好参考价值的文章主要介绍了uniapp(小程序)低功耗蓝牙分包发送数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近用uniapp开发的一个项目中用到了低功耗蓝牙,但是其中写入数据的时候不能超过20字节,所以就需要我们来进行分包操作了。

主要代码:文章来源地址https://www.toymoban.com/news/detail-625160.html

//指令发送分包处理
	async printbuffs(buffer) {
		// 1.并行调用多次会存在写失败的可能性
		// 2.建议每次写入不超过20字节
		// 分包处理,延时调用
		let that = this;
		const offset = 400; // 偏移量
		let pos = 0; // 位置
		let bytes = buffer.byteLength; // 总字节
		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(buffer)
			})
		}
	}
	// 延时函数
	sendDelay(delay, buffer) {
		return new Promise((resolve, reject) => {
			setTimeout(() => resolve(buffer), delay);
		})
	}

到了这里,关于uniapp(小程序)低功耗蓝牙分包发送数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app做微信小程序的分包处理

    我们的都知道微信小程序有随即随用,用完即走的优点,并且它开发门槛低,但是它也有一个致命的缺点,就是代码包体积的限制,这一缺点让小程序的开发有了一定的限制,现在有一方法可以减少代码包的体积,能够让小程序的功能得到一定的扩展,这一方法就是——分包

    2023年04月08日
    浏览(54)
  • [uni-app] 微信小程序 - 组件找不到/导入报错 (分包问题导致)

    切换了个路径下的组件, 导入失败, 尝试了清缓存重启删项目等一些列操作均无效 上面两个路径中, 都存在一模一样的 videItem.vue Main 路径是可以导入的 Main 路径是无法导入的 后来发现, 是 分包 的问题导致. 我们先来假设一个场景,如果小程序进行了分包操作, 其中有个公共组

    2024年02月16日
    浏览(53)
  • uni-app -- - - - 小程序如何向后端发送Form Data格式的数据

    接口请 求方式 传参方式 ,肯定不是一成不变的,当遇到如题需求的时候,要知道, 小程序是没有FormData对象 的,那么该怎么操作呢??? 直接上代码: 效果如图: 如上所示,这样写起来功能实现了,但是看起来这代码太不美观了 效果如图: 参考文章: 使用wx.request发送

    2024年02月08日
    浏览(40)
  • uni-app 微信小程序vendor.js 过大的处理方式和分包优化

    小程序工具提示vendor.js过大,已经跳过es6向es5转换。这个转换问题本身不用理会,因为vendor.js已经是es5的了。 关于体积控制,参考如下: 使用运行时代码压缩 HBuilderX创建的项目勾选运行–运行到小程序模拟器–运行时是否压缩代码 cli创建的项目可以在 package.json 中添加参数

    2024年02月11日
    浏览(63)
  • uni-app 微信小程序蓝牙模块的解耦封装-持续更新

    core.js tool.js util.js main.js

    2024年03月27日
    浏览(94)
  • uni-app微信小程序使用佳博蓝牙打印机

    1.佳博打印js copy到项目里 2.需要打印的vue页面引入js 3.打印数据初始化 4.打印按钮事件 蓝牙列表连接页面 已连接处打印方法

    2024年02月12日
    浏览(139)
  • uni-app的分包下小程序报错app.json: [“tabBar“][1][“pagePath“]: “xxxx“ need in [“pages“]

    如过项目没有采用分包,解决方案点这里 如果项目采用分包,pages.json的文件格式如下 项目运行起来, h5是可以 的,但 微信开发者工具报错 tabBar下的list需要在pages下面找 需要把tarBar的引入的页面放在pages文件夹, 其他分包的放在分包目录 运行项目,一切正常也可以跳转。

    2024年02月13日
    浏览(55)
  • uni-app、小程序项目,在分包后访问地址无法跳转,出现异常:RangeError: Maximum call stack size exceeded

    使用uni-app开发小程序,由于微信小程序对代码包体积有大小限制,故分包处理,同时也做了分包预加载 分包后,一个点击事件,同一个跳转地址,在浏览器下正常跳转,在微信开发者工具内出现如下报错 出现异常: RangeError: Maximum call stack size exceeded 如图: 原因:很有可能

    2024年02月12日
    浏览(44)
  • 微信小程序扫描蓝牙及操作(低功耗)蓝牙数据(全套流程)

    扫描蓝牙首先需要打开手机上的蓝牙。iOS只需打开蓝牙即可开始扫描蓝牙;Android需要打开蓝牙及位置信息才可以开始扫描蓝牙。下面的代码可以在扫描之前使用,用来检查是否已经很打开蓝牙及位置信息 官方地址https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBl

    2024年02月09日
    浏览(55)
  • uni-app分包预下载

    模块的二级页面,按模块处理成分包页面,有以下好处: 按模块管理页面,方便项目维护。 减少主包体积,用到的时候再加载分包,属于 性能优化 解决方案。 ::: tip 温馨提示 通过 VS Code 插件 uni-create-view 可以快速新建分包页面,自动配置分包路由。 ::: 分包预下载 当用户进

    2024年01月25日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包