小程序蓝牙通讯设备数据对接实战uniapp

      最近很闲,但是行业很卷!因为公司有硬件设备对接,但是介于原生app。闲来无事,便研究了下这个小程序通过蓝牙与硬件设备进行通讯。废话少说上干货!

本次讲解的目录大致分为三模块。根据我写的代码做讲解。

  • 初始化并搜索蓝牙

  • 获取并启用service服务

  • 数据读取初始化并监听设备返回的数据

html部分

js逻辑部分-分开讲解

页面进来是需要初始化的date中的数据,所以需要在onload中执行

onload中的初始化代码-就是设置列表高度、蓝牙列表的初始化

其中初始化最后面有一段代码注释也写得很明确了,第一种的过滤出你设置好的蓝牙,第二种反之。

在onHide事件就是--重置清空

接下来就是事件逻辑了!!!

我们这里罗列下uniapp官网提供的接下来需要用到的api

// 关闭蓝牙uni.closeBluetoothAdapter({})// 打开蓝牙uni.openBluetoothAdapter({})// 搜索附近的蓝牙uni.startBluetoothDevicesDiscovery({})// 停止搜索uni.stopBluetoothDevicesDiscovery({})// 连接低功耗BLE蓝牙uni.createBLEConnection({})// 获取蓝牙设备所有服务(service)uni.getBLEDeviceServices({})// 获取蓝牙特征值uni.getBLEDeviceCharacteristics({})// 启用低功耗蓝牙设备特征值变化时的 notify 功能,订阅特征值uni.notifyBLECharacteristicValueChange({})// 监听低功耗蓝牙设备的特征值变化事件uni.onBLECharacteristicValueChange({})// 读取低功耗蓝牙设备的特征值的二进制数据值uni.readBLECharacteristicValue({})

我是把各个事件归总到三个事件里面去执行了。没有分事件来讲解,见谅

首先,是搜索蓝牙:搜索蓝牙里面需用到的就是,关闭蓝牙-打开蓝牙-搜索蓝牙-停止搜索。

搜索成功后点击蓝牙列表进行连接

紧接着获取蓝牙设备所有服务(service)及相关的格式转换

启动所有服务(service)后,进行蓝牙读取的初始化并监听

附上代码,希望对大家有所帮助。全文干货满满,实战,文章附上实战视频​。

<template>  <view class="device">    <scroll-view scroll-y :style="'width:500rpx;height:' + list_height + 'rpx'">      <block v-for="(item, index) in devicesList" :key="index">        <view class="list-item" :id="item.deviceId" @tap="Connect">          <view style="display: flex; flex-direction: column; width: 80%">            <text style="font-size: medium; word-break: break-all"              >设备名称: {
  
  { item.name }}</text            >            <text style="font-size: x-small; color: gray; word-break: break-all"              >设备ID: {
  
  { item.deviceId }}</text            >            <text style="font-size: x-small; color: gray; word-break: break-all"              >信号强度RSSI: {
  
  { item.RSSI }}</text            >          </view>          <image            style="width: 36px; height: 36px"            mode="aspectFit"            src="/static/images/bluetooth.png"          ></image>        </view>      </block>    </scroll-view>    <button      type="primary"      class="button"      :loading="searching"      @tap="Search"      style="margin-bottom: 10px"    >      {
  
  {
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈柱全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值