connectBle.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. // pages/connectBle/connectBle.js
  2. const btHelper = require('../../devices/bt_helper');
  3. const toastUtil = require('../../utils/toast_util');
  4. import routeUtil from '../../utils/route_util'
  5. import route_constant from '../../utils/route_constant.js'
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. connectDevice: {},
  12. nvabarData: {
  13. showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
  14. title: '连接设备', //导航栏 中间的标题
  15. callback() {
  16. wx.navigateBack({
  17. delta: 1,
  18. })
  19. }
  20. },
  21. },
  22. async connectDeviceTap() {
  23. await btHelper.search()
  24. await this.getConnectedDevices()
  25. btHelper.findDevices(function (devices) {
  26. devices.forEach(element => {
  27. console.log('发现设备:', element.deviceId, element.uuid, element.mac);
  28. let deviceId = element.deviceId ?? ""
  29. if (deviceId.includes("D8:24:07:89:31") ||
  30. element.deviceId.includes("F5:A5:43:70:C8:F1") ||
  31. element.deviceId.includes("D1:4D:DA:76:42:50")
  32. ) {
  33. toastUtil.show("开始连接设备")
  34. btHelper.stopSearch()
  35. btHelper.connect(element, function (data) {
  36. // console.log("连接成功", data)
  37. })
  38. return
  39. }
  40. });
  41. })
  42. }, getConnectedDevices: async function () {
  43. try {
  44. const connectedDevices = await btHelper.getConnectedDevices()
  45. connectedDevices.forEach(element => {
  46. if (element.localName != null && element.localName.indexOf("MW") >= 0) {
  47. console.log('已连接的蓝牙设备:', element);
  48. }
  49. // if (element.deviceId.includes("D8:24:07:89:31") ||
  50. // element.deviceId.includes("F5:A5:43:70:C8:F1") ||
  51. // element.deviceId.includes("D1:4D:DA:76:42:50")
  52. // ) {
  53. // toastUtil.show("开始连接设备")
  54. // btHelper.stopSearch()
  55. // btHelper.connect(element, function (data) {
  56. // // console.log("连接成功", data)
  57. // })
  58. // }
  59. return;
  60. });
  61. // console.log('已连接的蓝牙设备:', connectedDevices);
  62. } catch (error) {
  63. console.error(error);
  64. }
  65. },
  66. /**
  67. * 生命周期函数--监听页面加载
  68. */
  69. onLoad(options) {
  70. btHelper.initBluetooth()
  71. let device = options.param;
  72. this.setData({
  73. connectDevice: device
  74. })
  75. },
  76. /**
  77. * 生命周期函数--监听页面初次渲染完成
  78. */
  79. onReady() {
  80. },
  81. /**
  82. * 生命周期函数--监听页面显示
  83. */
  84. onShow() {
  85. },
  86. /**
  87. * 生命周期函数--监听页面隐藏
  88. */
  89. onHide() {
  90. },
  91. /**
  92. * 生命周期函数--监听页面卸载
  93. */
  94. onUnload() {
  95. btHelper.closeBle()
  96. },
  97. /**
  98. * 页面相关事件处理函数--监听用户下拉动作
  99. */
  100. onPullDownRefresh() {
  101. },
  102. /**
  103. * 页面上拉触底事件的处理函数
  104. */
  105. onReachBottom() {
  106. },
  107. /**
  108. * 用户点击右上角分享
  109. */
  110. onShareAppMessage() {
  111. }
  112. })