複数種類のI2Cセンサーを使用する
このモードは本アプリで使用できるI2Cセンサーを複数種類同時に使用することができます。(v2.0.2 以降)
例えばTWELITE 2525Aとジャイロセンサーを組み合わせてより詳細なモノの動きをモニタリングしたり、温湿度センサーと照度センサーを組み合わせて環境の情報をTWELITE-トワイライト 1つで計測することができます。
子機を本モードにする場合、 インタラクティブモード にて、センサー種別(m)を0xD1に設定します。
使用するセンサーの指定
使用するセンサーの組み合わせはセンサーごとに番号が割り振られており、その番号を足した数(16進数)をSensor Parameter2に設定します。
センサーの番号は下記表を参照してください。
センサー番号(16進) | センサー名 |
---|---|
0x0001 | SHT21 (温湿度) |
0x0002 | ADT7410 (温度) |
0x0004 | MPL115A2 (気圧) |
0x0008 | LIS3DH (加速度) |
0x0010 | ADXL34x (加速度) |
0x0020 | TSL2561 (照度) |
0x0040 | L3GD20 (ジャイロ) |
0x0080 | S11059-02DT (カラー) |
0x0100 | BME280 (温湿度・気圧) |
0x0200 | SHT3x (温湿度) |
0x0400 | SHTC3 (温湿度) |
例1 : SHT21とMPL115A2を組み合わせる場合
0x0001 + 0x0004 = 0x0005 → 5に設定する
例2 : SHT21とTSL2561とS11059-02DT を組み合わせる場合
0x0001 + 0x0020 + 0x0080 = 0x00A1 → A1に設定する
配線に関しては各センサーのページを参考にしてください。
親機でのUART出力
子機で得られたセンサー情報を親機の出力形式別に説明します。
セミコロン区切り形式
下記のように出力されます。
;61;00000000;165;002;10f0eb5;3270;2467;2467;0000;0000;W;X;00;0000;0000;0096;G;0000;0000;0000; ;*1;*2 ;*3 ;*4 ;*5 ;*6 ;*7 ;*8 ;*9 ;*10 ;*11;*12 ... ;
このデータには下記のような情報が記述されています。
*1: 親機起動後のタイムスタンプ[s]
*2: 中継機のSID(中継していない場合は0x00000000)
*3: LQI
*4: 続き番号
*5: 子機SID
*6: 子機の電源電圧(mV)
*7: ADC1(mV)
*8: ADC2(mV)
*9: 未使用
*10: 未使用
*11: 複数センサーを使用することを示す文字(W)
*12: 以降はセンサーデータ
センサーデータは最初にセンサーごとの識別子、そのあとにセンサーのデータの順番で出力されます。
センサーごとのデータは下記の表のようなデータ形式で出力されます。
センサー名 | センサーの識別子 | データ1 | データ2 | データ3 | データ4 |
---|---|---|---|---|---|
SHT21 (温湿度) | S | 温度(℃)×100 | 湿度(%)×100 | - | - |
ADT7410 (温度) | D | 温度(℃)×100 | - | - | - |
MPL115A2 (気圧) | M | 気圧(hPa) | - | - | - |
LIS3DH (加速度) | I | X軸の加速度(mg*10) | Y軸の加速度(mg*10) | Z軸の加速度(mg*10) | - |
ADXL34x (加速度) | X | センサーのモード番号 | X軸の加速度(mg*10) | Y軸の加速度(mg*10) | Z軸の加速度(mg*10) |
TSL2561 (照度) | T | 照度(lux) | - | - | - |
L3GD20 (ジャイロ) | G | ロール軸の回転量(dps) | ピッチ軸軸の回転量(dps) | ヨー軸の回転量(dps) | - |
S11059-02DT (カラー) | C | 赤 | 緑 | 青 | 赤外 |
BME280 (温湿度・気圧) | B | 温度(℃)×100 | 湿度(%)×100 | 気圧(hPa) | - |
SHT3x (温湿度) | H | 温度(℃)×100 | 湿度(%)×100 | - | - |
SHTC3 (温湿度) | Y | 温度(℃)×100 | 湿度(%)×100 | - | - |
カンマ区切り形式
親機の設定をインタラクティブモードでオプションビットを0x00000040に変更することでTeratermなどでログを保存したときにExcelなどの表計算ソフトで読み込みやすい表示形式に変更することができます。
下記のように出力されます。
,61, 00000000,165,002, 10f0eb5,3270,2467,2467,0000,0000,W,X,00,0000,0000,0096,G,0000,0000,0000, ,*1,*2 ,*3 ,*4 ,*5 ,*6 ,*7 ,*8 ,*9 ,*10 ,*11,*12 ... ,
このデータには下記のような情報が記述されています。
*1: 親機起動後のタイムスタンプ[s]
*2: 中継機のSID(中継していない場合は0x00000000)
*3: LQI
*4: 続き番号
*5: 子機SID
*6: 子機の電源電圧(mV)
*7: ADC1(mV)
*8: ADC2(mV)
*9: 未使用
*10: 未使用
*11: 複数センサーを使用することを示す文字(W)
*12: 以降はセンサーデータ
センサーデータは最初にセンサーごとの識別子、そのあとにセンサーのデータの順番で出力されます。
センサーごとのデータは下記の表のようなデータ形式で出力されます。
センサー名 | センサーの識別子 | データ1 | データ2 | データ3 | データ4 |
---|---|---|---|---|---|
SHT21 (温湿度) | S | 温度(℃)×100 | 湿度(%)×100 | - | - |
ADT7410 (温度) | D | 温度(℃)×100 | - | - | - |
MPL115A2 (気圧) | M | 気圧(hPa) | - | - | - |
LIS3DH (加速度) | I | X軸の加速度(mg*10) | Y軸の加速度(mg*10) | Z軸の加速度(mg*10) | - |
ADXL34x (加速度) | X | センサーのモード番号 | X軸の加速度(mg*10) | Y軸の加速度(mg*10) | Z軸の加速度(mg*10) |
TSL2561 (照度) | T | 照度(lux) | - | - | - |
L3GD20 (ジャイロ) | G | ロール軸の回転量(dps) | ピッチ軸軸の回転量(dps) | ヨー軸の回転量(dps) | - |
S11059-02DT (カラー) | C | 赤 | 緑 | 青 | 赤外 |
BME280 (温湿度・気圧) | B | 温度(℃)×100 | 湿度(%)×100 | 気圧(hPa) | - |
SHT3x (温湿度) | H | 温度(℃)×100 | 湿度(%)×100 | - | - |
SHTC3 (温湿度) | Y | 温度(℃)×100 | 湿度(%)×100 | - | - |
書式(アスキー)形式
下記のように出力されます。
:80000000A2C20D810133E900D1E70593031403310A1511653303E63500001AFF95FFFB48 ^^^^^^^1^2^^^3^^^^^^^4^5^6^7^^^8^^^9^a ... ^b
このデータにか下記のような情報が記述されています。
- 1: 中継機のSID(中継していない場合は0x80000000)
- 2: LQI
- 3: 続き番号
- 4: 子機SID
- 5: 子機の論理デバイスID
- 6: センサー種別
- 7: 子機の電源電圧
- 8: ADC1[mV]
- 9: ADC2[mV]
- a: 使用しているセンサの個数
ここから最後の2バイトまではセンサーデータ
- b: チェックサム
センサーデータは最初にセンサーごとの識別子、そのあとにセンサーのデータの順番で出力されます。
センサーごとのデータは下記の表のようなデータ形式で出力されます。
センサー名 | センサー識別子(1バイト) | データ1 | データ2 | データ3 | データ4 | ||||
---|---|---|---|---|---|---|---|---|---|
バイト数 | 内容 | バイト数 | 内容 | バイト数 | 内容 | バイト数 | 内容 | ||
SHT21 (温湿度) | 0x31 | 2 | 温度(℃)×100 | 2 | 湿度(%)×100 | - | - | - | - |
ADT7410 (温度) | 0x32 | 2 | 温度(℃)×100 | - | - | - | - | - | - |
MPL115A2 (気圧) | 0x33 | 2 | 気圧(hPa) | - | - | - | - | - | - |
LIS3DH (加速度) | 0x34 | 2 | X軸の加速度(mg*10) | 2 | Y軸の加速度(mg*10) | 2 | Z軸の加速度(mg*10) | - | - |
ADXL34x (加速度) | 0x35 | 1 | センサーのモード番号 | 2 | X軸の加速度(mg*10) | 2 | Y軸の加速度(mg*10) | 2 | Z軸の加速度(mg*10) |
TSL2561 (照度) | 0x36 | 4 | 照度(lux) | - | - | - | - | - | - |
L3GD20 (ジャイロ) | 0x37 | 2 | ロール軸の回転量(dps) | 2 | ピッチ軸軸の回転量(dps) | 2 | ヨー軸の回転量(dps) | - | - |
S11059-02DT (カラー) | 0x38 | 2 | 赤 | 2 | 緑 | 2 | 青 | 2 | 赤外 |
BME280 (温湿度・気圧) | 0x39 | 2 | 温度(℃)×100 | 2 | 湿度(%)×100 | 2 | 気圧(hPa) | - | - |
SHT3x (温湿度) | 0x3A | 2 | 温度(℃)×100 | 2 | 湿度(%)×100 | - | - | - | - |
SHTC3 (温湿度) | 0x3B | 2 | 温度(℃)×100 | 2 | 湿度(%)×100 | - | - | - | - |
書式(バイナリ)形式
下記のように出力されます。
A5 5A 80 23 80 00 00 00 96 00 20 81 01 33 E9 00 D1 E7 05 9D 03 23 03 31 0A 27 11 9A 33 03 E5 35 00 00 06 FF 95 FF FF FA 04
このデータにか下記のような情報が記述されています。
- 2バイト : ヘッダ
- 2バイト : 0x8000 + 続くデータ長
- 4バイト : 中継機のSID(中継していない場合は0x80000000)
- 1バイト: LQI
- 2バイト: 続き番号
- 4バイト: 子機SID
- 1バイト: 子機の論理デバイスID
- 1バイト: センサー種別
- 1バイト: 子機の電源電圧
- 2バイト: ADC1[mV]
- 2バイト: ADC2[mV]
- 1バイト: 使用しているセンサの個数
ここから最後の2バイトまではセンサーデータ
- 1バイト: チェックサム
- 1バイト: フッタ
センサーデータは最初にセンサーごとの識別子、そのあとにセンサーのデータの順番で出力されます。
センサーごとのデータは下記の表のようなデータ形式で出力されます。
センサー名 | センサー識別子(1バイト) | データ1 | データ2 | データ3 | データ4 | ||||
---|---|---|---|---|---|---|---|---|---|
バイト数 | 内容 | バイト数 | 内容 | バイト数 | 内容 | バイト数 | 内容 | ||
SHT21 (温湿度) | 0x31 | 2 | 温度(℃)×100 | 2 | 湿度(%)×100 | - | - | - | - |
ADT7410 (温度) | 0x32 | 2 | 温度(℃)×100 | - | - | - | - | - | - |
MPL115A2 (気圧) | 0x33 | 2 | 気圧(hPa) | - | - | - | - | - | - |
LIS3DH (加速度) | 0x34 | 2 | X軸の加速度(mg*10) | 2 | Y軸の加速度(mg*10) | 2 | Z軸の加速度(mg*10) | - | - |
ADXL34x (加速度) | 0x35 | 1 | センサーのモード番号 | 2 | X軸の加速度(mg*10) | 2 | Y軸の加速度(mg*10) | 2 | Z軸の加速度(mg*10) |
TSL2561 (照度) | 0x36 | 4 | 照度(lux) | - | - | - | - | - | - |
L3GD20 (ジャイロ) | 0x37 | 2 | ロール軸の回転量(dps) | 2 | ピッチ軸軸の回転量(dps) | 2 | ヨー軸の回転量(dps) | - | - |
S11059-02DT (カラー) | 0x38 | 2 | 赤 | 2 | 緑 | 2 | 青 | 2 | 赤外 |
BME280 (温湿度・気圧) | 0x39 | 2 | 温度(℃)×100 | 2 | 湿度(%)×100 | 2 | 気圧(hPa) | - | - |
SHT3x (温湿度) | 0x3A | 2 | 温度(℃)×100 | 2 | 湿度(%)×100 | - | - | - | - |
SHTC3 (温湿度) | 0x3B | 2 | 温度(℃)×100 | 2 | 湿度(%)×100 | - | - | - | - |