Socket
Socket
Sign inDemoInstall

jkyy_wx_bluetooth

Package Overview
Dependencies
0
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    jkyy_wx_bluetooth

微信UNI蓝牙模块


Version published
Weekly downloads
2
Maintainers
1
Created
Weekly downloads
 

Readme

Source

蓝牙底层模块

支持 uni 和微信小程序

bluetooth.js

蓝牙服务的封装

类属性类型描述
deviceInfoObject设备信息
connectStatusString连接状态:0 未连接或连接断开,允许连接;1 正在连接,不允许再连接;2 已连接,不允许再连接
isInitializedAdapterBoolean蓝牙适配器是否初始化完成
isAvailableAdapterBoolean蓝牙适配器是否可用
HTTPClass请求服务

方法

类方法入参返回描述
openAndListenBluetoothAdapter-Promise 对象打开和监听蓝牙适配器
scanCallbackscanCallbackParamsPromise 对象扫描外设
stopScanCallback-Promise 对象停止扫描
connectCallbackconnectCallbackParamsPromise 对象连接外设,连接指定的外设,需要传入外设对象。注意实现返回对象的 then 和 catch 方法,监听接口是否调用成功。
disconnectCallback-Promise 对象断开连接
readCallbackreadCallbackParamsPromise 对象读某个服务下的某个特征值。
writeCallbackwriteCallbackParamsPromise 对象向蓝牙模块写入数据
notifyCallbacknotifyCallbackParamsPromise 对象监听特征值改变
registerDidUpdateConnectStatusCallbackcb 回调函数-连接状态发生改变时,回调此方法。
registerDidDiscoverDeviceCallbackcb 回调函数-当扫描到设备时回调此方法
registerDidUpdateValueForCharacteristicCallbackcb 回调函数-当监听的特征值改变时回调此方法
callBackDiscoverDevicescanCallbackParams 的入参-回调发现外设
scanCallbackParams

| 参数 | 类型 | 描述 | | :----------------: | :-----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | ------------------------------------ | | services | Array | 要搜索的蓝牙设备主 service 的 uuid 列表。某些蓝牙设备会广播自己的主 service 的 uuid。如果设置此参数,则只搜索广播包有对应 uuid 的主服务的蓝牙设备。建议主要通过该参数过滤掉周边不需要处理的其他蓝牙设备。 | | allowDuplicatesKey | Boolean | 是否允许重复上报同一设备。如果允许重复上报,则 wx.onBlueToothDeviceFound 方法会多次上报同一设备,但是 RSSI 值会有不同。 | | interval | Number | 上报设备的间隔。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 | | powerLevel | String | 默认 medium 扫描模式,越高扫描越快,也越耗电, 仅安卓 7.0.12 及以上支持。 | | timeout | Number | 扫描超时时间,毫秒。在该时间内未扫描到符合要求的设备,上报超时。默认 1500ms,-1 表示无限超时 | | deviceName | String | 通过蓝牙名称过滤,需要匹配的设备名称 | | containName | String | String[] | 通过蓝牙名称过滤,需要包含的设备名称 |

optionsServices
参数类型描述
uuidString服务 uuid
serviceIdString筛选哪个服务用到的 id
serviceIdArrArray筛选哪个服务用到的 id(用到多个服务的时候)
connectCallbackParams
参数类型描述
devicedeviceObject指定连接的外设对象,从 registerDidDiscoverDeviceCallback 注册的回调中得到
timeoutNumber连接超时时间,毫秒,默认 15000ms
device
参数类型描述
deviceExtraString设备扩展数据, json 字符串
deviceExtra.uuidString蓝牙连接唯一标识 ios 的 uuid,传这个值
deviceIdString蓝牙连接唯一标识 android 的 mac 地址,传这个值,这样 就可以做到,ios android 跳过扫描直接连接
readCallbackParams
参数类型描述
suuidString特征对应的服务 uuid
cuuidString写入特征 uuid
writeCallbackParams
参数类型描述
suuidString特征对应的服务 uuid
cuuidString写入特征 uuid
valueHex string16 进制字符串
notifyCallbackParams
参数类型描述
suuidString特征对应的服务 uuid
cuuidString写入特征 uuid
stateHex string是否启用 notify,可以通过重复调用接口改变此属性打开/关闭监听

enum.js

所有错误的集合包括微信的错误和自己定义的错误

codemessage
210发现外设
211扫描完成
220蓝牙打开
221正在连接
222连接成功
223断开成功
410扫描超时
420蓝牙关闭
421连接失败
422连接断开
2010 扫描接口成功调用
2020 停止扫描接口成功调用
2030 连接接口成功调用
2040 断开接口成功调用
2050 读特征值接口成功调用
2060 写入数据接口成功调用
2070 监听特征值接口成功调用
4000当前基础库版本低,请更新微信版本
4010扫描失败,请稍后重试
4011扫描错误:蓝牙被关闭
4012没有找到指定的蓝牙服务
4013请打开手机蓝牙,并进入手机应用设置开启微信的蓝牙授权,方可查找设备
4020停止蓝牙扫描失败
4021请打开手机蓝牙后再试
4030蓝牙连接失败,请稍后重试
4031请开启手机蓝牙后再试
4032蓝牙正在连接
4033蓝牙连接超时,请稍后重试
4034蓝牙连接设备 id 不能为空
4040蓝牙断开失败
4050 读特征值失败
4051蓝牙未连接
4052当前特征不支持读操作
4053没有找到指定服务
4054没有找到指定特征值
4060 写入数据失败
4061蓝牙未连接
4062当前特征不支持写操作
4063没有找到指定服务
4064没有找到指定特征值
4070 监听特征值失败
4071蓝牙未连接
4072当前特征不支持监听操作
4073没有找到指定服务
4074没有找到指定特征值

extends.js

log 输出

tool.js

常用的蓝牙传输数据的方法,继承此类的各个硬件的 SDK,可以调用这里面的方法

promisify.js

小程序 api 的封装,支持 promise

http.js

请求服务的封装,继承此类的各个硬件的 SDK,可以使用此服务发送请求

Keywords

FAQs

Last updated on 21 Jun 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc