微信小程序获取蓝牙流程

注意点:

wx.openBluetoothAdapter(Object object):初始化蓝牙模块。

其他蓝牙相关 API 必须在 wx.openBluetoothAdapter 调用之后使用。否则 API 会返回错误(errCode=10000)。

在用户蓝牙开关未开启或者手机不支持蓝牙功能的情况下,调用 wx.openBluetoothAdapter 会返回错误(errCode=10001),表示手机蓝牙功能不可用。此时小程序蓝牙模块已经初始化完成,可通过 wx.onBluetoothAdapterStateChange 监听手机蓝牙状态的改变,也可以调用蓝牙模块的所有API。

wx.startBluetoothDevicesDiscovery(Object object):

开始搜寻附近的蓝牙外围设备。此操作比较耗费系统资源,请在搜索并连接到设备后调用 wx.stopBluetoothDevicesDiscovery 方法停止搜索。

要搜索的蓝牙设备主 service 的 uuid 列表。某些蓝牙设备会广播自己的主 service 的 uuid。如果设置此参数,则只搜索广播包有对应 uuid 的主服务的蓝牙设备(满足电子烟的一个项目)。建议主要通过该参数过滤掉周边不需要处理的其他蓝牙设备。

wx.onBluetoothDeviceFound(function callback):监听寻找到新设备的事件。

若在 wx.onBluetoothDeviceFound 回调了某个设备,则此设备会添加到 wx.getBluetoothDevices 接口获取到的数组中。

wx.onBluetoothAdapterStateChange(function callback):监听蓝牙适配器状态变化事件。

注意点:

wx.createBLEConnection(Object object):连接低功耗蓝牙设备。若小程序在之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需进行搜索操作。

请保证尽量成对的调用 createBLEConnection 和 closeBLEConnection 接口。安卓如果多次调用 createBLEConnection 创建连接,有可能导致系统持有同一设备多个连接的实例,导致调用 closeBLEConnection 的时候并不能真正的断开与设备的连接。蓝牙连接随时可能断开,建议监听 wx.onBLEConnectionStateChange 回调事件,当蓝牙设备断开时按需执行重连操作若对未连接的设备或已断开连接的设备调用数据读写操作的接口,会返回 10006 错误,建议进行重连操作。

wx.getBLEDeviceCharacteristics(Object object):获取蓝牙设备某个服务中所有特征值(characteristic)。

wx.readBLECharacteristicValue(Object object):读取低功耗蓝牙设备的特征值的二进制数据值。注意:必须设备的特征值支持 read 才可以成功调用。

并行调用多次会存在读失败的可能性。

接口读取到的信息需要在 onBLECharacteristicValueChange 方法注册的回调中获取。

wx.writeBLECharacteristicValue(Object object):向低功耗蓝牙设备特征值中写入二进制数据。注意:必须设备的特征值支持 write 才可以成功调用。

wx.notifyBLECharacteristicValueChange(Object object):启用低功耗蓝牙设备特征值变化时的 notify 功能,订阅特征值。注意:必须设备的特征值支持 notify 或者 indicate 才可以成功调用。另外,必须先启用notifyBLECharacteristicValueChange 才能监听到设备 characteristicValueChange 事件。订阅操作成功后需要设备主动更新特征值的 value,才会触发 wx.onBLECharacteristicValueChange 回调。安卓平台上,在调用 notifyBLECharacteristicValueChange 成功后立即调用 writeBLECharacteristicValue 接口,在部分机型上会发生 10008 系统错误。

wx.onBLECharacteristicValueChange(function callback):监听低功耗蓝牙设备的特征值变化事件。必须先启用 notifyBLECharacteristicValueChange 接口才能接收到设备推送的 notification。

微信小程序蓝牙使用总结相关推荐

  1. wx.getBLEDeviceCharacteristics 微信小程序蓝牙 微信小程序热敏打印机

    1 微信小程序蓝牙功能开发概述 第一步 判断当前微信版本,是否支持蓝牙 通信 第二步 打开蓝牙 第三步扫描设备 第四步连接设备 第五步 获取服务与特征值 看是否支持读写数据操作 第六步 发送数据 本文 ...

  2. 微信小程序蓝牙模块BLE开发说明基础知识

    微信小程序蓝牙模块说明 一.简介 微信小程序作为轻量级应用的载体,确实方便了很多的应用场景.传统的产品如果要和手机互联互通,那么必须要开发两套APP,即IOS和安卓.十分的麻烦和成本巨高.但是微信小程 ...

  3. 标签云打印/微信小程序蓝牙标签打印开放平台功能

    ​微信小程序蓝牙标签打印/标签云打印开放平台(www.herro.cn),是在云端部署的云平台,支持开发者通过API调用完成标签蓝牙打印或标签云打印功能. 平台蓝牙打印模块支持各厂商各品牌蓝牙标签打印 ...

  4. 微信小程序蓝牙ibeacon_微信开放蓝牙iBeacon接口小程序靠近原生APP功能

    腾讯一直要连接一切,特别是新的物联网浪潮涌来的时候,不管大众重视程度与否,微信已经又走在了我们前面.在物联网中最基础最通用的当属每个人手机上都具有的蓝牙功能.所以,继2014年微信开放了基于低功耗蓝牙 ...

  5. 微信小程序蓝牙BLE开发——关于进制转换(四)

    微信小程序蓝牙BLE开发--进制转换 这段时间开发共享设备,对接蓝牙BLE设备通信协议,过程中用到一些进制转换, 记录下方便使用. 有些参考大神们,感谢分享. 文章目录 微信小程序蓝牙BLE开发--进 ...

  6. 微信小程序 - 蓝牙BLE小程序开发

    1.前言 最近领导看我比较闲,安排我开发一个蓝牙BLE微信小程序,刚开始接到这个项目时,我第一反应时,"卧槽"".老子在公司的岗位是做Windows和Android 软件 ...

  7. 微信小程序蓝牙BLE开发实战——案例(二)

    微信小程序蓝牙BLE开发实战(二) 上篇主要介绍在开发过程中应用到相关API操作.接下来介绍个人在项目开发中应用蓝牙BLE一些事情. 由于时间比较仓促, 有些注释没那么详细.请理解~写的不好欢迎各位大 ...

  8. 泰凌微ble mesh蓝牙模组天猫精灵学习之旅 ② 如何实现 微信小程序蓝牙控制 Ble Mesh模组 安信可TB02,全部开源!

    本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小 ...

  9. 微信小程序蓝牙标签打印/标签云打印开放平台(2)

    微信小程序蓝牙标签打印/标签云打印开放云平台(下面简称"平台" www.herro.cn 技术服务TEL:15759216805),支持开发者通过API调用完成标签蓝牙打印或标签云 ...

  10. 微信小程序 蓝牙 长数据包 分包拆包

    https://www.jianshu.com/p/de7bd0093c43 关于 微信小程序蓝牙 分包发送 及 多包发送 不返回问题 关于分包发送 20字节分包,微信小程序支持多于20字节发送.但是 ...

最新文章

  1. 腾讯博士:年薪60万辞职去教书,你想要哪种生活?
  2. flask渲染图像_用于图像推荐的Flask应用
  3. [转载] java中的经典问题:传值与传引用
  4. python中shutil模块_Python中shutil模块的学习笔记教程
  5. 移动端适配的基础知识
  6. python join 和 split的常用使用方法
  7. 支付宝免签在线支付要饭教程
  8. 汉仪股份通过注册:年营收2.2亿 谢立群控制公司35%股权
  9. 【学习笔记】状态机编程
  10. 如何恢复磁盘中被删除的数据
  11. 2021年中国仪器仪表制造业经营现状分析:营业收入达9101.4亿元,利润总额达957亿元[图]
  12. java闹钟程序_java 闹钟程序
  13. cocos如何在游戏中动态设置横竖屏
  14. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——第3章 数据流 3.1同步数据流...
  15. 练习系统 实验四 red and black
  16. 【剧透高亮】最最最完整剧透加剧情详细解析
  17. 利用imu估计roll、pitch的理解
  18. 怎么在sqlyog设置表的外键
  19. 告诉你一个真实的二线城市创业生态
  20. ROP Emporium x86_64 1~6题

热门文章

  1. Java通过JNI调用C++动态链接库dll,并打在jar包内 ——JNA-JNI(一)
  2. android 地图方向北方,地图上方向的判断方法
  3. 文档转换工具JODConverter简介
  4. /dev/shm虚拟内存打满与inode号爆满
  5. Android8.0 蓝牙低功耗扫描锁屏停止问题
  6. 计算机考试题目制作表格,用WPS表格轻松制作出美观实用的工资条2
  7. 个人积累linux 日常命令
  8. FTP(21) 文件传输协议
  9. 关于java中boolean的使用
  10. [附源码]Java计算机毕业设计SSM高考志愿智能填报系统