#微信小程序# 蓝牙模块

志扬工作室

共 4929字,需浏览 10分钟

 · 2022-04-24

-Start:关注本公众号后,可直接联系后台获取排版美化的详细文档!

-Hints:本篇文章所编纂的资料均来自网络,特此感谢参与奉献的有关人员。


微信小程序-开发步骤说明

-开发账号申请

https://mp.weixin.qq.com/wxopen/waregister?action=step1&token=&lang=zh_CN

-账号APPID获取

https://mp.weixin.qq.com/wxamp/basicprofile/index?token=784407765&lang=zh_CN

微信管理平台:设置》账号信息》AppID

-开发工具部署

下载地址:

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

使用说明:

https://www.w3cschool.cn/weixinapp/weixinapp-devtools.html

 

微信小程序-项目基础结构

1 pages,小程序的页面组成,有index 页面和 logs 页面,即欢迎页和日志页

Js文件,页面逻辑

Wxml文件,页面结构

Json文件,页面配置

Wxss文件,页面样式

2 utils 存放js文件,支持公共函数

3 app.js是小程序的脚本代码。监听并处理小程序的生命周期函数、声明全局变量,调用微信原生 API、网络超时时间、底部tab

4app.json 是小程序的全局配置。配置小程序的页面组成,窗口背景色,导航条样式,默认标题。注意该文件不可添加任何注释。

5 app.wxss是小程序的公共样式表。页面组件的 class 属性可以直接使用app.wxss 中声明的样式规则。

6 project.config.json在工具上做的任何配置都会写入到这个文件,当你重新安装工具或者换电脑工作时,你只要载入同一个项目的代码包,开发者工具就自动会帮你恢复到当时你开发项目时的个性化配置,其中会包括编辑器的颜色、代码上传时自动压缩等等一系列选项。

7 sitemap.json开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。

8 readme.md自行添加的关于项目的说明文件

 

微信小程序-蓝牙模块开发

-蓝牙API生效周期:

蓝牙适配器模块生效周期为调用 wx.openBluetoothAdapter 至调用 wx.closeBluetoothAdapter 或小程序被销毁为止。在小程序蓝牙适配器模块生效期间,开发者才能够正常调用蓝牙相关的小程序 API,并收到蓝牙模块相关的事件回调。

-蓝牙设备地址说明:

--由于系统限制,Android 上获取到的 deviceId 为设备 MAC 地址,iOS 上则为设备uuid。因此 deviceId 不能硬编码到代码中。

--目前不支持在开发者工具上进行蓝牙功能的调试,需要使用真机才能正常调用小程序蓝牙接口。

-低功耗蓝牙BLE说明:

iOS 上对特征值的 read、write、notify操作,由于系统需要获取特征值实例,传入的 serviceId 与 characteristicId 必须由 wx.getBLEDeviceServices 与 wx.getBLEDeviceCharacteristics 中获取到后才能使用。建议双平台统一在建立连接后先执行 wx.getBLEDeviceServices 与 wx.getBLEDeviceCharacteristics 后再进行与蓝牙设备的数据交互。


微信小程序--蓝牙开放接口

OBJECT参数说明:

参数

类型

必填

说明

success

Function

成功则返回成功初始化信息

fail

Function

接口调用失败的回调函数

complete

Function

接口调用结束的回调函数(调用成功、失败都会执行)

--获取本机蓝牙适配器状态

wx.getBluetoothAdapterState(OBJECT)

--初始化蓝牙适配器

wx.openBluetoothAdapter

--开始搜寻附近的蓝牙外围设备

wx.startBluetoothDevicesDiscovery(OBJECT)

--停止搜寻附近的蓝牙外围设备

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

wx.stopBluetoothDevicesDiscovery(OBJECT)

--获取所有已发现的蓝牙设备,包括已经和本机处于连接状态的设备

wx.getBluetoothDevices(OBJECT)

--获取处于已连接状态的设备

wx.getConnectedBluetoothDevices(OBJECT)

--监听蓝牙适配器状态变化事件

wx.onBluetoothAdapterStateChange(CALLBACK)

--监听寻找到新设备的事件

wx.onBluetoothDeviceFound(CALLBACK)

wx.createBLEConnection({

  // 这里的 deviceId 需要在上面的 getBluetoothDevices 或onBluetoothDeviceFound 接口中获取

  deviceId: deviceId,

  success: function (res) {

    console.log(res)

  }

})

--连接低功耗蓝牙设备

wx.createBLEConnection(OBJECT)

--获取蓝牙设备所有 service(服务)

wx.getBLEDeviceServices(OBJECT)

--获取蓝牙设备所有 characteristic(特征值)

wx.getBLEDeviceCharacteristics(OBJECT)

--读取低功耗蓝牙设备的特征值的二进制数据值

注意:必须设备的特征值支持read才可以成功调用,具体参照 characteristic 的 properties 属性

wx.readBLECharacteristicValue(OBJECT)

--向低功耗蓝牙设备特征值中写入二进制数据

wx.writeBLECharacteristicValue(OBJECT)

注意:必须设备的特征值支持write才可以成功调用,具体参照 characteristic 的 properties 属性

tips: 并行调用多次读写接口存在读写失败的可能性

--启用低功耗蓝牙设备特征值变化时的 notify 功能。

wx.notifyBLECharacteristicValueChanged(OBJECT)

注意:必须设备的特征值支持notify才可以成功调用,具体参照 characteristic 的 properties

--监听低功耗蓝牙连接的错误事件,包括设备丢失,连接异常断开等等

wx.onBLEConnectionStateChanged(CALLBACK)

--监听低功耗蓝牙设备的特征值变化

必须先启用notify接口才能接收到设备推送的notification。

wx.onBLECharacteristicValueChange(CALLBACK)

--蓝牙配对接口,仅安卓使用。安卓上蓝牙连接时,部分设备需先配对。

wx.makeBluetoothPair(Objectobject)

--断开与低功耗蓝牙设备的连接

wx.closeBLEConnection(OBJECT)

--关闭蓝牙模块

wx.closeBluetoothAdapter

详细资料:https://www.w3cschool.cn/weixinapp/weixinapp-bluetooth.html

 

微信小程序-蓝牙连接流程

小程序与蓝牙设备建立连接进行通讯的一般流程如下:

详细资料:https://blog.csdn.net/liweipei_gd/article/details/114829582

 

微信小程序-蓝牙开发Demo:

Demo代码:

https://developers.weixin.qq.com/s/pQU51zmz7a3K

Demo连接:

https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html

Demo思路:

1打开蓝牙适配器接口wx.openBluetoothAdapter

1.1蓝牙适配器启用成功,搜索蓝牙设备wx.startBluetoothDevicesDiscovery

1.2蓝牙适配器启用失败,监听蓝牙适配器状态变化wx.onBluetoothAdapterStateChange

1.2.1 当蓝牙适配器状态为可用时,进行搜索蓝牙设备wx.startBluetoothDevicesDiscovery

2 搜索蓝牙设备wx.startBluetoothDevicesDiscovery

3 获取发现的蓝牙设备wx.onBluetoothDeviceFound

4 进行低功耗蓝牙设备连接wx.createBLEConnection

4.1 低功耗蓝牙连接成功,获取蓝牙设备所有 service(服务)wx.getBLEDeviceServices(OBJECT)

4.1.1 低功耗蓝牙连接成功,获取蓝牙设备service成功,进行获取蓝牙设备所有 characteristic(特征值)wx.getBLEDeviceCharacteristics(OBJECT)

4.1.1.1 低功耗蓝牙连接成功,获取蓝牙设备service成功,获取蓝牙设备characteristic成功,读取低功耗蓝牙设备的特征值的二进制数据值,wx.readBLECharacteristicValue(OBJECT)

5 向低功耗蓝牙设备特征值中写入二进制数据wx.writeBLECharacteristicValue

6 启用低功耗蓝牙设备特征值变化时的 notify 功能wx.notifyBLECharacteristicValueChange

7 停止搜寻附近的蓝牙外围设备wx.stopBluetoothDevicesDiscovery(OBJECT)

8 关闭低功耗蓝牙连接 wx.closeBLEConnection

9 关闭蓝牙适配器 wx.closeBluetoothAdapter

 

参考资料

https://blog.csdn.net/qq_37896578/article/details/103721004?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=1

https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html

https://blog.csdn.net/liweipei_gd/article/details/114829582

公众号二维码

End:如果有兴趣了解量化交易、数据分析和互联网+的实用技术,欢迎关注本公众号

浏览 118
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报