天道酬勤,学无止境

HM10 ble 改变特征值 AT 命令 Arduino(HM10 ble change characteristic value AT command Arduino)

问题

任何人都可以帮助我使用 AT 命令来写入特征值,或者如何使用 Hm10 模块将数据从 arduino 发送到另一个 ble 设备。

HM10发送AT+START后,会做广告包,可以检测服务和特征,但是特征值是默认的0x00,怎么改?

已多次检查数据表,但找不到能够执行相同操作的 AT 命令。

更新:在中央模式下设置 HM10 的类似问题:

中央模式设置!

1) AT+ROLE1 - 设置为中央模式

2) AT+IMME1 - 从 RESET 开始

3) AT+SHOW1 - 显示发现的设备

4)AT+光盘? - 发现设备获取设备 MAC ID,

5) AT+CON[MAC ID]

结果:总是给出 OK+CONNA 并在 10 秒后给出 OK+CONNF

我很困惑,在“AT+DISC”之前使用“AT+START”? 导致 AT+START 不起作用,反之亦然。 使用 AT+START 会导致 OK+CONN 循环,然后是 OK+LOST,并且不再接受更多的 AT 命令。 我相信它会导致

你能建议正确的顺序吗?

使用 LightBlue iOS 应用程序作为外围设备。 如何选择服务并订阅特征以从应用程序接收数据?

谢谢你。

回答1

没有设置特征值的 AT 命令。

HM10 是一个串行端口仿真设备 - 您发送到 HM10 模块的任何串行数据(除了 AT 命令)都可以通过它的 BLE 特性获得。 不幸的是,数据表没有记录服务和特性,但此代码表明串行 RX/TX 特性是0000ffe1-0000-1000-8000-00805f9b34fb

因此,写入串行端口的数据应显示为该特性的值。 写入该特性的数据应从 HM10 模块上的 TX 串行端口引脚传送出去。

回答2

这个线程有点过时了。 但是 HM-1X 固件现在支持更改模块的特性。

“AT+字符?” 将获得 RX/TX 的当前特性设置 "AT+CHAR0xFFFF" 将 TX/RX 特性设置为 0xFFFF

发送:AT+CHAR0xAAA0 接收:OK+Set:0xAAA0

这些功能是在 v518 中添加的。

如果您需要更新固件,

链接到华贸的下载站点。

回答3

我没有足够的声誉来评论 Ladvien 的回答,但是......

关于从华茂的下载站点使用新版本更新固件的警告。 http://www.jnhuamao.cn/download_rom_en.asp?id=83

根据我的经验,V539 存在问题,这阻止了固件作为 iBeacon 运行 - 可能还有其他问题。 我很幸运地发现有人通过电子邮件向我发送了 V538 固件的副本,并且能够再次降级。

Huamao 没有可供下载的旧版本固件,AFIK 也无法备份您当前的固件版本。

但是,如果您有 V538 等的 bin 文件,则可以从 V539 降级回 V538。即至少到 V539 为止,固件确实允许降级并且不检查版本号以仅允许升级。

回答4

无需使用任何 AT 命令发送数据,因为它像透明串行一样工作。 目前,将草图从 iOS 设备上传到 Arduino 效果很好。 查看 http://www.apploader.info

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • HM10 ble change characteristic value AT command Arduino
    Can anyone help me with the AT command to write characteristic value, Or how to send data from arduino to another ble device using Hm10 module. The HM10 after sending the AT+START, does advertise packets, and can detect the service and characteristic, But the characteristic value is the default 0x00, How can I change that? Have checked the data sheet multiple times but can not find an AT command that is capable of doing the same. UPDATE: Similar problem with setting the HM10 in Central Mode: Central Mode Setup! 1) AT+ROLE1 - Set up to Central Mode 2) AT+IMME1 - Start from RESET 3) AT+SHOW1 -
  • 如何使用基于HM-10蓝牙模块的BLE Shield?(How to use BLE Shield based on HM-10 bluetooth module?)
    问题 我是arduino项目的新手。 我想请你帮忙。 我从 ( http://imall.iteadstudio.com/development-platform/arduino/shields/im130704001.html ) 为 Arduino 购买了 BLE Shield。 他们使用Hm-10蓝牙模块(http://www.jnhuamao.cn/bluetooth.asp?ID=1)制作了这个盾牌。 Itead Studio 没有使用此屏蔽的示例代码。 我不知道如何编程或从 Arduino 发送 AT 命令。 我阅读了数据表(ftp://imall.iteadstudio.com/Shield/IM130704001_ITEAD_BLE_Shield/DS_IM130704001_ITEAD_BLE_Shield.pdf)中的“AT命令”,并尝试使用此代码(http: //arduino.cc/en/Reference/SoftwareSerial )但我只收到了命令。 这里有人用过这个 HM-10 蓝牙模块吗? 我需要一些 arduino 草图来寻求帮助! 回答1 #include <SoftwareSerial.h> int led = 13; int bluetoothTx = 2; int bluetoothRx = 3; SoftwareSerial
  • How do I pair and/or bond to BLE on iOS using Swift code and an HM-10 so data sent is encrypted?
    Background I've built a simple circuit which includes an Arduino Nano and a HM-10 BLE serial module. You can see that circuit at the following Electrical Engineering SE question: https://electronics.stackexchange.com/questions/412525/when-i-write-data-to-a-ble-characteristic-ffe1-to-send-data-over-bluetooth-is I also have an Xcode project written in Swift that successfully sends bytes to the FFE1 characteristic. It all works great and I can see the data coming from my iPad via Arduino Serial monitor. However, from the research I did (see previous link) I believe I've determined that the data I
  • How to use BLE Shield based on HM-10 bluetooth module?
    I'm a new bie on arduino projects. I would like to ask you for some help. I bought a BLE Shield for Arduino from ( http://imall.iteadstudio.com/development-platform/arduino/shields/im130704001.html ). They made this shield using Hm-10 Bluetooth module(http://www.jnhuamao.cn/bluetooth.asp?ID=1). Itead Studio has no sample codes using this shield. I have no idea on how to program it or send AT commands from Arduino. I read the “AT commands” at the data sheet (ftp://imall.iteadstudio.com/Shield/IM130704001_ITEAD_BLE_Shield/DS_IM130704001_ITEAD_BLE_Shield.pdf) and I tried to send "AT commands”
  • SWIFT-BLE通信(SWIFT - BLE communications)
    问题 我有一个SWIFT应用程序,该应用程序必须使用蓝牙LowEnergy模块向我的Arduino发送一个值! 我已经正确完成了搜索和连接部分,但是无法发送和接收任何数据。 这是我的代码,以获取可用的BLE设备列表,并将所有这些内容放入表格视图中,然后在单击单元格后,应用程序提供了将设备与其连接的功能! 所有这些都可以正常工作,但是我不知道例如将“ a”字符从应用程序发送到BLE,并将答案从arduino发送回应用程序! import UIKit import CoreBluetooth class BluetoothList: UITableViewController,CBCentralManagerDelegate, CBPeripheralDelegate { var listValue = [Lista]() var Blue: CBCentralManager! var conn: CBPeripheral! var a: String! var char: CBCharacteristic! func centralManager(central: CBCentralManager, didDiscoverPeripheral peripheral: CBPeripheral, advertisementData: [String : AnyObject], RSSI
  • BLE协议分析
    一,Bluetooth Low Energy协议基本组成蓝牙系统核心架构可分为三个方面:BLE Application和BLE Host 属于应用层APIHCI(Host Controller Interface)为中间层BLE Controller为底层蓝牙芯片 其中在HOST层有的两个比较核心的协议:ATT、GATT1,ATT(Attribute Protocol)该协议将数据以属性(Attribute)的方式抽象出来,用UUID定义不同的属性,并提供一下方法以供远端设备读取、修改这些属性的值。每个属性又由三个元素组成:一个16bits的Handle一个16bits/32bits/64bits的UUID确定长度的属性值需要注意的是,Handle是用于识别唯一属性的数字,而非UUID,因为一个BLE设备中可能有多个属性拥有同一个UUID,UUID由更上层的GATT定义。UUID用于确定属性中存放的值所对应的服务,其中主要包括一下几种:Service UUIDCharacteristic UUIDProfile UUIDVendor-Specified UUID和属性相关的读写权限保存于属性值中,但它也由更上层的GATT定义,ATT本身并不关心。ATT本身有两个角色,即C/S架构,其中Server存储属性,Client什么也不存,Client主动发起请求读写Server端数据
  • Android BLE蓝牙配置全流程(二) 附APP源码
    事务的难度远远低于对事物的恐惧 0.前言 在 Android BLE蓝牙配置全流程(一) 附APP源码 中已经完成了前期的准备工作,在这里我们得到了需要连接的蓝牙设备的名字和地址,需要完成蓝牙设备的连接和数据传输功能。 1.初始化界面 首先需要完成对这个界面包含的控件进行初始化,代码如下: private TextView text1, text2; private EditText editText; private Button btn_send; private String status = "Disconnected"; private final static String TAG = "hello"; //界面初始化 private void initView() { text1 = findViewById(R.id.text1); text2 = findViewById(R.id.text2); editText = findViewById(R.id.edit_text); btn_send = findViewById(R.id.btn_send); text1.setText("状态:" + status); btn_send.setOnClickListener(this); } 控件text1中显示目前的连接状态,控件text2中显示接收到的数据
  • android蓝牙BLE 有源码 有视频
    前序 ​ Google在android 4.3(API Level 18)的android版本中引入了低功耗蓝牙BLE核心API。低功耗蓝牙BLE也就是我们经常说的蓝牙4.0, 该技术拥有极低的运行和待机功耗,使用一粒纽扣电池甚至可连续工作数年之久。先不讲蓝牙协议与蓝牙模块一些类的作用与之间的关系,本章仅仅记录android Ble开发中的扫描模块及其一些细节。 一、声明蓝牙权限和定位权限 ​ 由于蓝牙扫描需要用到模糊定位权限( Android10 后需要精准定位权限 ),所以android6.0之后,除了在 AndroidManifest.xml中 申明权限之外,还需要动态申请定位权限,才可进行蓝牙扫描,否则不会扫描到任何Ble设备。 可依据 PackageManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE) 获知该手机是否支持BLE 二、中心设备与外围设备 Ble开发中,存在着两个角色:中心设备角色和外围设备角色。粗略了解下: 外围设备:一般指非常小或者低功耗设备,更强大的中心设备可以连接外围设备为中心设备提供数据。外设会不停的向外广播,让中心设备知道它的存在。 例如小米手环。 中心设备:可以扫描并连接多个外围设备,从外设中获取信息。 ​ 外围设备会设定一个广播间隔,每个广播间隔中,都会发送自己的广播数据
  • 微信小程序 蓝牙开发全套过程(封装)
    小程序完整的蓝牙操作过程 1. 小程序蓝牙操作一些诡异的问题罗列一下 ios蓝牙的搜,连,写 或者 读 都是没有用问题,但是安卓问题很多蓝牙连接成功后读写操作最好close一下安卓的wx.onBluetoothDeviceFound 多次连接后发现在搜不到当前设备,原因是之前已经建立的通讯,后期则搜不到了安卓在wx.createBLEConnection创建蓝牙连接后会的出现异常的err,需要重发机制几次即可连接成功wx.onBluetoothAdapterStateChange一旦发生变化,需要立刻 wx.offBluetoothAdapterStateChange(),不然会都次触发事件搜索设备的时候需要定时器,不能无限制的搜索特征值变化( wx.notifyBLECharacteristicValueChange)的时候需要添加定时器,为了考虑到手机兼容性当你发现 一直在wx.startBluetoothDevicesDiscovery(),没有任何反应时候的,相当于安卓手机多次连接,产生很对进程,一种方案删除当前小程序进程 第二种,关闭蓝牙开关,等几秒 在开启。 安卓连接蓝牙失败率大概10%,ios基本都是ok(失败率可忽略) 2. 封装的js方法 // airtuBLE.js export async function initBLEFromAirtu({ name })
  • 微信小程序 - 蓝牙BLE小程序开发
    1.前言 最近领导看我比较闲,安排我开发一个蓝牙BLE微信小程序,刚开始接到这个项目时,我第一反应时,"卧槽“”。老子在公司的岗位是做Windows和Android 软件开发的,看我闲,竟然让我去做小程序,我从来没有接触过。后面领导说给你一个星期,看不看能不能完成,实在没有办法,只能硬着头皮去学习小程序。 2.BLE蓝牙相关知识 2.1 经典蓝牙和蓝牙BLE的区别 蓝牙1.0~3.0都是经典蓝牙,有些人一直认为蓝牙4.0就是蓝牙BLE,是错误的。因为4.0是双模的,既包括经典蓝牙又包括低能耗蓝牙。蓝牙BLE相比于经典蓝牙的优点是搜索、连接的速度更快,关键就是BLE(Bluetooth Low Energy)低能耗,缺点呢就是传输的速度慢,传输的数据量也很小,每次只有20个字节。但是蓝牙BLE低能耗,在智能穿戴设备(手环和各种智能硬件)应用越来越广泛。 2.2 相关概念 (参考 通用属性配置文件(GATT)及其服务,特性与属性介绍 )和 (BLE4.0教程二 蓝牙协议之服务与特征值分析) 2.2.1 特性 一个特性至少包含2个属性:一个属性用于声明,一个属性用于存放特性的值。 所有通过GATT服务传输的数据必须映射成一系列的特性,可以把特性中的这些数据看成是一个个捆绑起来的数据,每个特性就是一个自我包容而独立的数据点。 例如,如果几块数据总是一起变化
  • 如何通过低功耗蓝牙(BLE)链接发送数据?(How to send data over a Bluetooth Low Energy (BLE) link?)
    问题 我能够发现并连接到蓝牙。 源代码 - - 通过蓝牙连接到远程设备: //Get the device by its serial number bdDevice = mBluetoothAdapter.getRemoteDevice(blackBox); //for ble connection bdDevice.connectGatt(getApplicationContext(), true, mGattCallback); Gatt回呼状态: private BluetoothGattCallback mGattCallback = new BluetoothGattCallback() { @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { //Connection established if (status == BluetoothGatt.GATT_SUCCESS && newState == BluetoothProfile.STATE_CONNECTED) { //Discover services gatt.discoverServices(); } else if (status == BluetoothGatt
  • 低功耗蓝牙应用无法在 iOS 7 上写入特征(Bluetooth Low Energy app failed to write characteristics on iOS 7)
    问题 我有一个蓝牙低功耗 (BLE) 应用程序,它通过开放式连接与 BLE 设备进行通信。 我正在使用 CoreBluetooth 库。 在我将 iPhone 升级到 iOS 7 并将 XCode 升级到 XCode 5 之后。我重新编译了我的低功耗蓝牙应用程序,发现它不再工作了。 连接成功。 可以毫无问题地发现服务和特征。 甚至特征的阅读似乎都很好。 但是写入应该在 BLE 设备上触发某些操作的特性没有任何影响。 如果我使用 XCode 将相同的应用程序下载到另一部装有iOS 6 的iPhone 上,则一切正常。 所以我可以确定问题可能出在 iOS 7 而不是 XCode 5 的重新编译上。 也有可能 XCode 5 为 iOS 6 设备准备不同的应用程序,即使来自同一个项目,因为我可以看到应用程序的外观在两个设备上是不同的。 那么从 iOS 6 到 iOS 7 发生了什么变化导致写入特性失败? 回答1 我遇到了同样的问题,问题在于固件而不是您的 iOS 代码。 iOS6 对特征类型比较宽松,但iOS7 比较严格。 特性的 WriteWithoutResponse 标志必须显式设置才能与 iOS7 一起使用 我在启动时使用 RedBear's Biscuit for Arduino 来测试我们的产品,它与 iOS6 配合得很好,但是当应用程序迁移到 iOS7 时,写入会悄悄地失败
  • 微信小程序蓝牙(BLE)开发与蓝牙设备数据交互开发总结
    需要做一个类似于美团单车小程序扫码开锁的程序,需要使用到微信小程序的蓝牙模块功能与蓝牙锁进行交互 一、这里我先把我遇到的两个天坑在这里先说明一下: 1、根据锁的开发文档描述:读特征值是000036F6-0000-1000-8000-00805F9B34FB,但是在iOS上设置通知一直报10008错误码!实际开发下来发现:在Android手机是使用这个,在iOS手机确是0000FEC8-0000-1000-8000-00805F9B34FB这个问题一直没有搞懂!(上面这两个特征值至是举例)2、开启读特征值通知成功后发送数据给锁,无法收到锁回复的数据 二、这里就主要总结一下BLE的开发步骤,与蓝牙设备进行交互 第一步:初始化蓝牙模块 wx.openBluetoothAdapter({ success(res) { //开启成功 }, fail(res) { //开启失败 } }) 第二步:监听寻找到新设备的事件 wx.onBluetoothDeviceFound(function (devices) { var bleArray = devices.devices //这里会收到周边搜索到的蓝牙 } }) 第三步:开始搜寻附近的蓝牙外围设备 wx.startBluetoothDevicesDiscovery({ services: ['FEE7'], success(res) {
  • 蓝牙BLE: ATT协议层中属性(Attribute)
    ATT(Attribute Protocol)属性层是GATT和GAP的基础,它定义了BLE协议栈上层的数据结构和组织方式。属性(Attribute)概念是ATT层的核心,ATT层定义了属性的内容,规定了访问属性的方法和权限。以编程的眼光来看,属性是一个数据结构,它包括了数据类型和数据值,就如同C语言结构体的概念,开发者可以设计独特的结构,来描述外部世界实体。属性包括三种类型:服务项、特征值和描述符。三者之间存在树状包含关系,服务项包含一个或多个特征值,特征值包含一个或多个描述符,多个服务项组织在一起,构成属性规范(Attribute Profile)。对于常用的属性规范,比如体重计、心率计,SIG(蓝牙技术联盟)做了具体定义,这样的话,只要BLE主从设备均遵守某个Profile来进行设计,那么二者就能够优雅的通信。ATT层相关的东西与开发者比较近,易于理解,但是章节内容图表较少,阐述偏多。一. 属性的组成(数据结构)属性主要由以下四部分组成:属性句柄(Attribute Handler)、属性类型(Attribute Type)、属性值(Attribute Value)、属性权限(Attribute Permissions)。1.1 属性句柄属性句柄(Attribute Handle)犹如指向属性实体的指针,对端设备可通过属性句柄来访问该属性,它是一个2字节长度的十六进制码
  • 使用小米MiBand和BLE测量心率(Heart Rate measuring using Xiaomi MiBand and BLE)
    问题 我正在尝试实现简单的 sdk,以便与健身追踪器小米 Mi Band 配合使用。 目前我可以跟踪步数、激活振动、处理传感器触摸,但我在测量心率时遇到问题。 我的 sdk 基于 https://github.com/pangliang/miband-sdk-android。 为了测量心率,我需要将描述符写入适当的特征以在该特征的值发生变化时启用处理回调,然后将适当的数据写入心率控制点特征以直接启动心率测量过程。 问题是在将启动此过程的数据成功写入特征后,心率测量过程并未启动(当 Mi Band 开始测量心率时,底部传感器呈绿色闪烁)。 这可能是由于健身追踪器的新固件(固件版本:4.15.12.10;HeartRate 版本:1.3.74.64)或我的代码中存在一些缺陷引起的: /-------- MiBandProfile --------/ public static final UUID UUID_SERVICE_HEARTRATE = UUID.fromString("0000180d-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_NOTIFICATION_HEARTRATE = UUID.fromString("00002a37-0000-1000-8000-00805f9b34fb")
  • Android BLE葡萄糖通知(Android BLE notifications for Glucose)
    问题 我厌倦了使用Android BLE SDK与我的Glucose设备进行通信。 我需要UUID 2a18和2a34的setCharacteristicNotification。 我指的是Android官方SDK,如下所示: http://developer.android.com/guide/topics/connectivity/bluetooth-le.html#notification BluetoothGattCharacteristic charGM = mConnGatt.getService(UUID.fromString(BleUuid.SERVICE_GLUCOSE)) .getCharacteristic(UUID.fromString(BleUuid.CHAR_GLUCOSE_MEASUREMENT_STRING)); mConnGatt.setCharacteristicNotification(charGM, enabled); BluetoothGattDescriptor descGM = charGM.getDescriptor(UUID.fromString(BleUuid.CHAR_CLIENT_CHARACTERISTIC_CONFIG_STRING)); descGM.setValue(BluetoothGattDescriptor
  • 获得低功耗蓝牙 (BLE) 设备通知的步骤是什么?(What are the steps to get notified by Bluetooth Low Energy (BLE) device?)
    问题 我正在开发低功耗蓝牙 (BLE) 应用程序。 我有一个测量重量的 BLE 设备(秤)。 我可以连接到这个设备。 但我不知道如何从中读取数据(权重值)。 我想知道我的应用程序是否已连接到任何 BLE 设备,那么通过设备获取通知以获取更新数据的步骤是什么。 好的,以下是我正在使用的活动。 public class BlogBLEActivity extends Activity implements OnItemClickListener { private final static String TAG = BlogBLEActivity.class.getSimpleName(); private BluetoothAdapter bluetoothAdapter; BluetoothManager bluetoothManager; boolean hasBleFeature = false; TextView tvMessage; int messageId = R.string.doesnt_support_ble; int colorId = android.R.color.holo_red_light; private boolean mScanning; private Handler handler = new Handler(); private static
  • 如何在Android中快速稳定地为BLE编写连续特征?(How to Write consecutive Characteristic fast and stable for BLE in Android?)
    问题 我正在 Android 中开发 BLE,我可以扫描、连接并将特征写入到 BLE 设备。 单击Button时,我调用以下函数将BluetoothGatt和characteristic传递给AsyncTask 。 write_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new WriteCharacteristic(mBluetoothGatt , HueCharacteristic).execute(); } }); 写入特性的代码如下: private class WriteCharacteristic extends AsyncTask<String, Void, String> { public BluetoothGatt mGatt; public BluetoothGattCharacteristic mCharacteristic; public WriteCharacteristic(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic){ mGatt = gatt; mCharacteristic = characteristic; }
  • 从 iBeacon 接收 BLE 信号到 Bluno(带有 BLE 的 arduino)(Receive BLE signal from iBeacon to Bluno(arduino with BLE))
    问题 我想从 iBeacon 接收 rssi 信号和 UUID 到 Arduino 板具有 BLE 的 Bluno。 对此有一些问题。 是否有任何解决方案可以从 BLE 接收 UUID 和 RSSI 到 BLE? 是否可以相互通信两个 BLE 设备? 我想要一些网站来参考这个问题。 我还需要将 bluno 与 AR.Drone 连接起来。 你能给我一些建议吗? 感谢您的帮助 回答1 Bluno 能够充当 iBeacon(发射器),但它无法接收 iBeacon 公告并将其传递给 Arduino。 BLE 设备可以通信并且可以接收 UUID 和 RSSI,但这取决于设备的能力和它公开的接口。 例如,iOS 设备公开了一个非常复杂的 BLE API。 Bluno 板没有。 它向 Arduino 公开了一个“串行端口”,并将发送/接收数据映射到一组 BLE GATT 特性。 可以将一对 Bluno 设备配置为无线串行链路,或者计算机或移动设备上的软件可以通过蓝牙堆栈与 Arduino 交换数据。 有一个 AT 命令将返回配对设备的 rssi,但文档不清楚这是否可用于 Arduino 或仅通过 USB 连接到计算机。 特别是 Bluno 的最佳参考(例如它是)似乎是 DFRobot Wiki 我怀疑您是否能够直接从没有蓝牙 LE 的 Bluno 使用低功耗蓝牙连接到 AR.Drone。
  • Android蓝牙开发系列文章-玩转BLE开发(一)
    我们在《Android蓝牙开发系列文章-策划篇》中计划讲解一下蓝牙BLE,现在开始第一篇:Android蓝牙开发系列文章-玩转BLE开发(一)。计划要写的BLE文章至少分四篇,其他三篇分别讲解:BLE Server端编码(用手机模拟外围设备),BLE Beacon功能,BLE设备通信(利用自有协议实现Client和Server端通信,在Server端信息改变时,自动上报给Client)。 本文主要内容:编码实现BLE Client端,实现手机与蓝牙体重秤之间的通信 所用的设备:华为荣耀7手机,微信小程序,乐心体重秤 目录 1.基本概念 2.先来认识一下我们的设备 3、认识BLE Client编码 3.1 扫描BLE设备 3.2 建立GATT连接 3.3 解析设备支持的characteristic 3.4 读取characteristic值 3.5 写characteristic值 3.6 设置indication 4、总结 1.基本概念 在这里先讲解一下BLE(Bluetooth Low Energy)的一些简单概念。 本文会涉及一个概念叫“GATT连接”,那我们先说一下什么是GATT,GATT(GenericAttribute Profile)译为通用属性配置文件。GATT连接利用的是在外设(体重秤)与中心设备(手机)之间建议一种联系,这种联系利用的是双方之间都能够识别