ArduinoBLE.h - 一个特征有多个值

ArduinoBLE.h - multiple values in one characteristic

我最近阅读了 ArduinoBLE.h 库的文档。在“服务设计模式”下​​,注意到可以将多个值写入一个特征:

我怎样才能做到这一点?不幸的是,我在文档中找不到关于此的任何信息。

我想分别发送一个特性中的所有加速度计数据和所有陀螺仪数据以及时间戳。这导致两个特征

  1. accChara:[时间戳、xAcc、yAcc、zAcc] 和
  2. gyroChara:[时间戳,xGyro,yGyro,zGyro],

其中时间戳是无符号长整数(通过 millis()),读取的值是浮点数(注意:我正在为 IMU 使用 Arduino_LSM9DS1.h 库)。

文档说明(如您的图片所示):

The accelerometer characteristic above, for example, takes 11 bytes as a ASCII-encoded string.

他们刚刚创建了一个包含所有数据的逗号分隔字符串 ("200,133,150") 并使用 writeValue. You could do the same for your values and convert them back to numbers on your receiving end. Another way would be to use a struct 传输它以保存和发送您的数据。