微信小程序调用Android手机蓝牙BLE传输数据

本文介绍如何使用微信小程序调用Android手机的蓝牙BLE功能进行数据传输。通过详细步骤,包括初始化蓝牙、搜索设备、连接指定MAC地址的设备、获取service和characteristic ID,以及实现数据的读写。特别指出,启用notify功能对于实现双向通信至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做的微信小程序要调用手机自带的4.0蓝牙发送、接收数据

4.0蓝牙又叫BLE,整理了下,蓝牙连接要经过如下步骤:

  1. 初始化蓝牙
  2. 检查蓝牙是否初始化成功
  3. 开始搜索附近蓝牙设备
  4. 显示扫描得到的蓝牙
  5. 选择连接特定MAC地址的蓝牙设备
  6. 连接成功后,获取service ID
  7. 然后获取characteristic ID
  8. write/read data

*每个步骤对应的操作在js代码中有注释

我遇到的坑:一定要启用notify功能,否则只能发送,无法接收数据!!!


index.json为空,只上传了index.wxml,index.wxss,index.js三个文件,源码如下

index.wxml

<!--pages/mine/mine.wxml-->
<view class="container">
   
  <view class="section">       <!-- 第一行 -->
    <view class="content">
      <text>蓝牙开关</text>
    </view>
    <view class="switch">
      <switch checked="{
  {isbluetoothready}}" bindchange="open_BLE" />
    </view>
  </view>

  <view class="section">        <!-- 第二行 -->
    <button type="default" size="{
  {primarySize}}" loading="{
  {searchingstatus}}" plain="{
  {plain}}" disabled="{
  {disabled}}" bindtap="search_BLE"> {
  {searchingstatus?"搜索中":"搜索蓝牙"}} </button>
  </view>

  <block wx:for="{
  {list}}">     <!-- 第三行 -->
    <view class="section" style="flex-direction:row" >
      <view>
        <text>{
  {index}}:\n </text>
        <text>设备名称:  {
  {item.name}}\n</text>
        <text>MAC地址:   {
  {item.deviceId}}</text>
      </view>
      <view class="connection">
      <button id="{
  {item.deviceId}}" size="mini"
              bindtap="connectTO"> {
  {deviceconnected?"已连接":"连接"}} </button>
      </view>
    </view>
</block> 

<block wx:if="{
  {deviceconnected}}">    <!-- 第四行 -->
    <view >
    
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值