#微信小程序# 蓝牙模块
-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:如果有兴趣了解量化交易、数据分析和互联网+的实用技术,欢迎关注本公众号