iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >微信小程序如何使用蓝牙小插件
  • 725
分享到

微信小程序如何使用蓝牙小插件

2024-04-02 19:04:59 725人浏览 泡泡鱼
摘要

这篇文章主要介绍了微信小程序如何使用蓝牙小插件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下bluetooth.jsfuncti

这篇文章主要介绍了微信小程序如何使用蓝牙小插件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

具体内容如下

bluetooth.js

function BLE(options) {
 this.options = options || { locator: {} };
}

function ab2hex(buffer) {
 const hexArr = Array.prototype.map.call(
  new Uint8Array(buffer),
  function (bit) {
   return ('00' + bit.toString(16)).slice(-2)
  }
 )
 return hexArr.join('-')
};

BLE.prototype = {
 open: function (callback) {//打开适配器 成功 调用callback();
  wx.openBluetoothAdapter({
   success(res) {
    if (typeof callback != "undefined") {
     callback();
    }
   },
   fail(res) {
    console.log(res)
   }
  })
 },
 scan: function (callback) {//扫描设备 成功 调用callback(ls);
  wx.startBluetoothDevicesDiscovery({
   success(res) {
    wx.getBluetoothDevices({
     success(res) {
      console.log(res);
      var ls = [];
      for (var i = 0; i < res.devices.length; i++) {
       console.log(res.devices[i].name);
       ls[i] = {
        deviceId: res.devices[i].deviceId,
        name: res.devices[i].name
       };
      }
      if (typeof callback!= "undefined"){
       callback(ls);
      }
      
     }
    })
   },
   fail(res) {
    console.log(res)
    return 0;
   }
  })
 },
 link: function (deviceId, callback) {//连接设备 成功 调用callback();
  wx.createBLEConnection({
   // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
   deviceId: deviceId,
   success(res) {
    console.log(res);
    wx.getBLEDeviceServices({
     // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
     deviceId: deviceId,
     success(res) {
      console.log(res);

      wx.getBLEDeviceCharacteristics({
       // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
       deviceId: deviceId,
       // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
       serviceId: ' ',
       success(res) {
        console.log(res)
        if (typeof callback != "undefined") {
         callback();
        }
       }
      })
     }
    })
   },
   fail(res) {
    console.log(res)
   }
  })
 },
 write: function (deviceId, value, callback) {//写入数据 成功 调用callback();
  const buffer = new ArrayBuffer(value.length);
  const dataView = new DataView(buffer);
  for (var i = 0; i < value.length; i++) {
   dataView.setUint8(i, value[i].charCodeAt());
  }
  console.log(buffer);
  console.log(buffer);
  wx.getBLEDeviceServices({
   // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
   deviceId: deviceId,
   success(res) {
    console.log(res);

    wx.getBLEDeviceCharacteristics({
     // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
     deviceId: deviceId,
     // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
     serviceId: '4FAFC201-1FB5-459E-8FCC-C5C9C331914B',
     success(res) {
      wx.writeBLECharacteristicValue({
       deviceId: deviceId,
       serviceId: '4FAFC201-1FB5-459E-8FCC-C5C9C331914B',
       characteristicId: 'BEB5483E-36E1-4688-B7F5-EA07361B26B8',
       value: buffer,
       success: function (res) {
        console.log(res);
        if (typeof callback != "undefined") {
         callback();
        }
       },
       fail: function (res) {
        console.log(res);
       }
      })
     }
    })
   }
  })

  
 },
 read: function (deviceId, callback) {//读取数据 成功 调用callback(xmlString);
  wx.onBLECharacteristicValueChange(function (characteristic) {
   var board = ab2hex(characteristic.value);
   var bigData = board.split('-');
   var result = [];
   for (var i = 0; i < bigData.length; i++) {
    result.push(String.fromCharCode('0X' + bigData[i]));
   }
   var xmlString = result.join('');
   if (typeof callback != "undefined") {
    callback(xmlString);
   }
  });
  wx.readBLECharacteristicValue({
   // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
   deviceId: deviceId,
   // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
   serviceId: '4FAFC201-1FB5-459E-8FCC-C5C9C331914B',
   // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
   characteristicId: 'BEB5483E-36E1-4688-B7F5-EA07361B26B8',
   success(res) {
    // console.log('readBLECharacteristicValue:', res.errCode);
    console.log(res);
   },
   fail(res) {
    console.log(res);
   }
  })
 },
 close: function (deviceId, callback) {//关闭蓝牙 成功 调用callback();
  wx.closeBLEConnection({
   deviceId: deviceId,
   success(res) {
    console.log(res);
    if (typeof callback != "undefined") {
     callback();
    }
   }
  })
  // wx.closeBluetoothAdapter({
  //  success(res) {
  //   console.log(res);
  //   if (typeof callback != "undefined"){
  //    callback();
  //   }
  //  }
  // }) 
 }
}

exports.BLE = BLE;

index.js

const Ble = require('../../lib/bluetooch/bluetooch');
var ble = new Ble.BLE();

感谢你能够认真阅读完这篇文章,希望小编分享的“微信小程序如何使用蓝牙小插件”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网html频道,更多相关知识等着你来学习!

--结束END--

本文标题: 微信小程序如何使用蓝牙小插件

本文链接: https://www.lsjlt.com/news/70348.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序如何使用蓝牙小插件
    这篇文章主要介绍了微信小程序如何使用蓝牙小插件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下bluetooth.jsfuncti...
    99+
    2022-10-19
  • 微信小程序如何实现蓝牙
    这篇文章给大家分享的是有关微信小程序如何实现蓝牙的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信小程序 蓝牙的实现实例代码1.简述蓝牙适配器接口是基础库版本 1.1.0 开始支...
    99+
    2022-10-19
  • 微信小程序怎么使用蓝牙链接
    小编给大家分享一下微信小程序怎么使用蓝牙链接,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序之蓝牙的链接微信小程序蓝牙连...
    99+
    2022-10-19
  • 微信小程序如何实现蓝牙连接小票打印机
    这篇文章将为大家详细讲解有关微信小程序如何实现蓝牙连接小票打印机,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.连接蓝牙(第一次发表博客)第一步打开蓝牙并搜索附近打印机...
    99+
    2022-10-19
  • 微信小程序如何监听蓝牙适配器状态变化事件
    这篇“微信小程序如何监听蓝牙适配器状态变化事件”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“微信小程序如何监听蓝牙适配器状态变化事件”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇...
    99+
    2023-06-26
  • 微信小程序如何使用图表插件wx-charts
    这篇文章主要介绍了微信小程序如何使用图表插件wx-charts,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序图表工具,charts...
    99+
    2022-10-19
  • 微信小程序裁剪头像插件如何使用
    这篇文章主要介绍“微信小程序裁剪头像插件如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序裁剪头像插件如何使用”文章能帮助大家解决问题。用户上传头像,需要裁剪成正方形,结合在网上找到裁...
    99+
    2023-06-30
  • wx-charts中如何使用微信小程序图表插件
    小编给大家分享一下wx-charts中如何使用微信小程序图表插件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序图表插件...
    99+
    2022-10-19
  • 微信小程序日历插件怎么用
    这篇“微信小程序日历插件怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序日历插件怎么用”文章吧。属性如下:使用...
    99+
    2023-06-26
  • 微信小程序slot插槽的使用
    微信小程序中的插槽是一种组件化技术,可以帮助开发者创建复用性更高的组件。本文将详细介绍微信小程序中插槽的定义、用法、作用以及注意事项。 插槽的定义 插槽是指在组件中预留的一块区域,可以动态地替换成其他组件或内容。组件开发者在编写组件时...
    99+
    2023-08-19
    微信小程序 前端 小程序 javascript vue.js
  • 微信小程序的视频插件怎么使用
    本篇内容主要讲解“微信小程序的视频插件怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序的视频插件怎么使用”吧!一、在小程序中引入插件。进入微信公众平台,在设置中找到第三方服务,在...
    99+
    2023-06-26
  • 微信小程序连接蓝牙汉印HM-A300L标签打印机
    需求: 以下文章针对打印一讲解,打印二的代码放在最后。 打印一 打印二 参考文章: 微信小程序实现蓝牙打印 打印机CPCL编程参考手册(CPCL 语言) 蓝牙打印机CPCL编程手册~汉印HM-A300 无用小知识: A300系列:先将打...
    99+
    2023-08-17
    微信小程序 小程序
  • 微信小程序开发中如何获取本机蓝牙适配器状态
    本文将为大家详细介绍“微信小程序开发中如何获取本机蓝牙适配器状态”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“微信小程序开发中如何获取本机蓝牙适配器状态”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,...
    99+
    2023-06-26
  • 如何初始化小程序蓝牙模块
    这篇文章主要为大家展示了如何初始化小程序蓝牙模块,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“如何初始化小程序蓝牙模块”这篇文章吧。初始化小程序蓝牙模块,生效周期为调用wx.openBluetoo...
    99+
    2023-06-26
  • 微信小程序显示loading效果,微信小程序节流效果,微信小程序生命周期,微信小程序组件的创建与使用
    一、显示loading效果         文档地址:wx.showLoading(Object object) | 微信开放文档         请求前 显示loading 效果,请求结束后隐藏loading // 在请求模块中wx.sh...
    99+
    2023-09-14
    微信小程序 小程序 微信
  • 微信小程序TodoList如何使用
    这篇文章主要介绍“微信小程序TodoList如何使用”,在日常操作中,相信很多人在微信小程序TodoList如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序TodoList如何使用”的疑惑有所...
    99+
    2023-06-26
  • 微信小程序弹窗组件如何使用
    本篇内容主要讲解“微信小程序弹窗组件如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序弹窗组件如何使用”吧!效果图需求背景项目需求是需要在页面上通过点击按钮, 然后弹出弹窗蒙层; ...
    99+
    2023-07-02
  • 微信小程序日历插件怎么实现
    这篇文章主要介绍了微信小程序日历插件怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序日历插件怎么实现文章都会有所收获,下面我们一起来看看吧。微信小程序的日历插件,主要针对酒店选择时间段的日历,带...
    99+
    2023-06-26
  • 微信小程序checkbox如何变小
    这篇“微信小程序checkbox如何变小”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序checkbox如何变小”文...
    99+
    2023-06-26
  • 【小程序】微信小程序如何获取微信公众号openid?
    一图总览 大家可以先看看下面的流程图,来了解笔者想实现的功能,简单来说就是两个不同主体间的小程序与公众号该如何产生关联。 注:为什么这里要强调不同主体呢,因为同主体的小程序与公众号是可以通过unionId来进行关联绑定。 ...
    99+
    2023-08-19
    微信小程序 小程序 微信
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作