Device Information Service
Bluetooth 採択済みプロファイルの1つです。
Service UUID: 0x180A
Characteristics | UUID (16bit) |
---|---|
Manufacturer Name String 製造者の名称を記載する |
0x2A29 |
Hardware Revision String ハードウェアのリビジョンを記載する |
0x2A27 |
Firmware Revision String ファームウェアのリビジョンを記載する |
0x2A26 |
KeiganMotor Service
KeiganMotor の制御を司る独自のサービスです。
Service UUID: f140ea35-8936-4d35-a0ed-dfcd795baa8c
アドバタイズしている、KeiganMotor のスキャン(絞り込み)には、上記のUUIDを使用して下さい。
Characteristics | UUID (128bit) |
---|---|
Motor Control KeiganMotorへの設定、制御命令を取り扱う |
f1400001-8936-4d35-a0ed-dfcd795baa8c |
Motor LED KeiganMotorのLEDを取り扱う |
f1400003-8936-4d35-a0ed-dfcd795baa8c |
Motor Measurement モーターの位置・速度・トルク等測定値を取り扱う |
f1400004-8936-4d35-a0ed-dfcd795baa8c |
Motor IMU Measurement KeiganMotorの加速度・ジャイロセンサー(IMU)を取り扱う |
f1400005-8936-4d35-a0ed-dfcd795baa8c |
Motor Settings KeiganMotorの設定値を取り扱う |
f1400006-8936-4d35-a0ed-dfcd795baa8c |
KeiganMotor Service の各キャラクタリスティクス
read
write
write_without_response
Characteristics UUID: f1400001-8936-4d35-a0ed-dfcd795baa8c
本キャラクタリスティクスに、以下の コマンド (無線-有線共通)を書き込むことにより、KeiganMotorを制御します。
read
write
write_without_response
Characteristics UUID: f1400003-8936-4d35-a0ed-dfcd795baa8c
本キャラクタリスティクスに、以下の形式でデータを書き込むと、LEDを制御します。
byte | [0] | [1] | [2] | [3] |
---|---|---|---|---|
値 | uint8_t ledState | uint8_t red | uint8_t green | uint8_t blue |
説明 | 点灯モード (下記) |
red 強度 0-255 |
green 強度 0-255 |
blue 強度 0-255 |
typedef enum ledState =
{
LED_STATE_OFF = 0, // LED消灯
LED_STATE_ON_SOLID = 1, // LED点灯(点灯しっぱなし)
LED_STATE_ON_FLASH = 2, // LED点滅(一定間隔で点滅)
LED_STATE_ON_DIM = 3 // LEDがゆっくり明滅する
}
Device Disconnect
:DisConnectted
R:00R:11R:22R:33R:44R:55R:66R:77R:88R:99R:AAR:BBR:CCR:DDR:EER:FF
G:00G:11G:22G:33G:44G:55G:66G:77G:88G:99G:AAG:BBG:CCG:DDG:EEG:FF
B:00B:11B:22B:33B:44B:55B:66B:77B:88B:99B:AAB:BBB:CCB:DDB:EEB:FF
Send
read
notify
Characteristics UUID: f1400004-8936-4d35-a0ed-dfcd795baa8c
本キャラクタリスティクスに、モーターの位置、速度、トルクの測定値が通知されます。
データの形式は下記となります。
byte | [0][1][2][3] | [4][5][6][7] | [8][9][10][11] |
---|---|---|---|
値 | float position | float velocity | float torque |
説明 | 絶対位置 [radian] |
角速度 [radian/second] |
トルク [N*m] |
read
notify
Characteristics UUID: f1400005-8936-4d35-a0ed-dfcd795baa8c
本キャラクタリスティクスに、IMU(加速度・ジャイロセンサー)の測定値が通知されます。
ジャイロセンサーは各軸周りの角速度を出力します。データの形式は下記となります。
byte | [0][1] | [2][3] | [4][5] | [6][7] | [8][9] | [10][11] | [12][13] |
---|---|---|---|---|---|---|---|
値 | int16_t accel-x | int16_t accel-y | int16_t accel-z | int16_t temp | int16_t gyro-x | int16_t gyro-y | int16_t gyro-z |
説明 | 加速度(x) -32,768 - 32,767 |
加速度(y) -32,768 - 32,767 |
加速度(z) -32,768 - 32,767 |
温度 -32,768 - 32,767 |
角速度(x) -32,768 - 32,767 |
角速度(y) -32,768 - 32,767 |
角速度(z) -32,768 - 32,767 |
各値については以下にて単位変換を行ってください。読み取った生の値を raw_value, 変換した値を value と定義します。
- 加速度
value [G] = raw_value * 2 / 32,767 - 温度
value [℃] = raw_value / 333.87 + 21.00 - 角速度
value [degree/second] = raw_value * 250 / 32,767
value [radians/second] = raw_value * 0.00013316211
※ 1.0 G = 9.80665 m/s^2
read
write
write_without_response
Characteristics UUID: f1400006-8936-4d35-a0ed-dfcd795baa8c
本キャラクタリスティクスに、コマンド(モーター設定) を書き込むことにより、モーターの設定(レジスタ)を読み書きします。
(無線-有線共通コマンド)