BLE_Profile

Fuminori OKUHARA edited this page Oct 28, 2015 · 6 revisions

HyouRowGanで定義しているBluetooth LE GATTプロファイルについて記載します。

HyouRowGanのプロファイルには以下のサービスが含まれます。

サービス名 UUID
GPIO Service 00010000-6727-11e5-988e-f07959ddcdfb
PWM Service 00020000-6727-11e5-988e-f07959ddcdfb
Motion sensor Service 00050000-6727-11e5-988e-f07959ddcdfb
Airpressure sensor Service 00060000-6727-11e5-988e-f07959ddcdfb

GPIO Service

UUID: 00010000-6727-11e5-988e-f07959ddcdfb

GPIO(デジタル入出力)。
GPIO16~19を入力、GPIO20~23を出力として扱います。

キャラクタリスティック

Name UUID Access Value Description
GPIO 00010001-6727-11e5-988e-f07959ddcdfb Read/Write GPIOの状態
00000000b ~ 11111111b
GPIO入出力
割り当ては下記参照

GPIOの状態

GPIOと各ビットの割り当てを下表に示します。
GPIO16~GPIO19が入力ポート、GPIO20~GPIO23が出力ポートです。

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
GPIO23 GPIO22 GPIO21 GPIO20 GPIO19 GPIO18 GPIO17 GPIO16
RW RW RW RW R R R R
0: Lo
1: Hi
0: Lo
1: Hi
0: Lo
1: Hi
0: Lo
1: Hi
0: Lo
1: Hi
0: Lo
1: Hi
0: Lo
1: Hi
0: Lo
1: Hi

PWM Service

UUID: 00020000-6727-11e5-988e-f07959ddcdfb

PWM出力。
PWM0とPWM1の2chに対応します。

キャラクタリスティック

Name UUID Access Value Description
PWM0 ON/OFF 00020001-6727-11e5-988e-f07959ddcdfb Read/Write 8bit整数:0: OFF, 1:ON PWM0の有効/無効
PWM0 Clock 00020002-6727-11e5-988e-f07959ddcdfb Read/Write 32bit符号なし整数:50 - 30000 PWM0の周波数[Hz]
PWM0 Duty 00020003-6727-11e5-988e-f07959ddcdfb Read/Write 単精度浮動小数点数:0.0 - 1.0 PWM0のデューティ
PWM1 ON/OFF 00020101-6727-11e5-988e-f07959ddcdfb Read/Write 8bit整数:0: OFF, 1:ON PWM1の有効/無効
PWM1 Clock 00020102-6727-11e5-988e-f07959ddcdfb Read/Write 32bit符号なし整数:50 - 30000 PWM1の周波数[Hz]
PWM1 Duty 00020103-6727-11e5-988e-f07959ddcdfb Read/Write 単精度浮動小数点数:0.0 - 1.0 PWM1のデューティ

Motion sensor Service

UUID: 00050000-6727-11e5-988e-f07959ddcdfb

9軸モーションセンサ。

キャラクタリスティック

Name UUID Access Value Description
Value 00050001-6727-11e5-988e-f07959ddcdfb Notify バイト列 36 Byte 9軸センサーの計測値
フォーマットは下記参照

9軸モーションセンサ計測値

一回のNotificationで下記の18Byteデータを2レコード分送信します。
Notificationは1秒毎、データは500ミリ秒間の平均値を送信します。

Byte array index 00 01 02 03 04 05
Value Gyro
X Y Z
LSB MSB LSB MSB LSB MSB
Byte array index 06 07 08 09 10 11
Value Acceleromter
X Y Z
LSB MSB LSB MSB LSB MSB
Byte array index 12 13 14 15 16 17
Value Magnetometer
X Y Z
LSB MSB LSB MSB LSB MSB

計測値はMPU-9250のRAWデータです。
ジャイロは、最大値2000 degree/sで1/16.4(≒0.06)degree/s単位です。
加速度は、最大16Gで1/2048(≒0.00005)G単位です。
地磁気は、物理量への変換せず大小比較にご使用ください。

Airpressure sensor Service

UUID: 00060000-6727-11e5-988e-f07959ddcdfb

気圧センサー。

キャラクタリスティック

Name UUID Access Value Description
Value 00060001-6727-11e5-988e-f07959ddcdfb Notify バイト列 6 Byte 気圧センサー計測値
フォーマットは下記参照

気圧センサー計測値

一回のNotificationに下記の6Byteのデータを送信します。
送信間隔は1秒です。

Byte array index 00 01 02 03 04 05
Value Temperature Airpressure
LSB MSB LSB MSB

計測値はBMP280のRAWデータです。
温度は1/100℃単位です。
気圧は1/256Pa単位です。

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.