
ここでは、この度提供するセンサモジュールを使ったセンサネットワークの構築について説明します。
センサモジュール単体での使用、次に、中継器(ゲートウエイ)との接続、最後にエッジサーバへのデータの蓄積方法、と順を追って説明します。
研究開発段階であるため、動作を保証するものではありません。また、試用(稼働)中のいかなる損害についても保証しかねますので、ご自分の判断でお使いください。
ハードウエアのデザイン、プログラムの権利は本学が所有しますが、ハードウエアの改造、プログラムの変更・再配布は、事前に本学に連絡の上、自由に行っていただいてもかまいません。
ただし、改造・再配布におけるいかなる損害や第3者からのクレーム等については保証および対応はできませんのでご承知ください。
センサモジュールの仕様
図1.1にケースに収めた状態のセンサモジュールの外観を示します。ケースは3Dプリンターで作成しました。ケースの設計データはダウンロードのページで提供します。基本ソフトは書き込み済みです。ソフトは、ダウンロードのページからダウンロードして、センサモジュールに改めて再インストールすることができます。
図1.1 センサモジュールの外観 (ケース入り)
※防水防塵対策は施していません
配布用パッケージと内容物
基板の表面(上面)、裏面(下面)をそれぞれ、図1.2, 1.3に示します。表面には9軸センサ、環境センサ等を実装しています。環境センサ、カラーセンサー等は外界に曝す必要がありますので、ケースに収める際には該当部分に窓を開けるなどして、センサ性能が十分発揮できるようにして下さい。
図1.2 センサーモジュール基板の外観 -(表面) と、搭載デバイス
図1.3 センサーモジュール基板の外観 -(裏面)
■センサーモジュール基板に電源を供給するには3つの給電ルートがあります。
1)USB端子にパソコン等を接続して給電する。
2)UART2コネクタのVIN-GND間にDC5Vを供給する。
3)LiPO端子にリチウムポリマー電池を接続する。
USBコネクタにモバイルバッテリーを接続したり、LiPO端子にDC5Vまでの電源を接続することでも利用できます。センサーモジュールを接続するシステム構成に合わせて、給電ルートを選択してください。
・電源スイッチはありませんので、給電を開始するとすぐに動作を開始します。
■センサーモジュールの起動時に、Mode A/Dスイッチの状態を見て起動モードを変更します。
測定する対象に合わせてMode-AまたはMode-Dを選択してご利用ください。
1)Mode-A (アナログセンサモード):搭載するESP32マイコンのADCポートのみを高速に駆動し、
6chのアナログ信号をデジタル変換してデータを出力します。
6chのデータ出力周期は1mS固定ですが、内部では6chのアナログポートを3回サンプリングした後に
メディアンフィルタを適用し、チャンネルごとに中央値のひとつの値のみ出力します。
2)Mode-D (デジタルセンサモード):センサボードのI2Cバスに接続された各種デジタルセンサを駆動して
気温、湿度、加速度、ジャイロ、明るさなど、センサが取得したデジタルデータを出力します。
・センサーボードに搭載したセンサーの中でどれをONにするか、どんな周期で駆動するかを設定できます。
・I2C外部端子を利用して、センサーモジュールに搭載されていないセンサーを外部接続することができます。
Mode-AとMode-Dを同時に動作することはできません。
通電中にMode A/Dスイッチを切り替えた場合、一度リセットすることでモードが切り替わります。
(センサーモジュールのEN/RSTボタンを押すか、一度電源を抜いて接続しなおしてください)
Aモード(高速アナログセンサモード)とDモード(デジタルセンサモード)で同時に計測する必要がある場合は
本機を2台使用するなどしてシステムを構成してください。
■センサーモジュールのブロック図
図1.4 センサモジュールブロック図
■センサーモジュールのピン配置
図1.5 ピン配置
表1.1 ピン配置詳細
・アナログセンサモード(Mode-A) ポート
コネクタ名称 | 番号 | 名称 | 用途 | 備考 |
A-ADC1 | 1 | A-ADC0 | Mode-A アナログ入力ポート 0 | ESP32-GPIO32 |
2 | A-ADC1 | Mode-A アナログ入力ポート 1 | ESP32-GPIO33 | |
3 | A-ADC2 | Mode-A アナログ入力ポート 2 | ESP32-GPIO25 | |
4 | GND | GND | ||
A-ADC2 | 1 | A-ADC3 | Mode-A アナログ入力ポート 3 | ESP32-GPIO26 |
2 | A-ADC4 | Mode-A アナログ入力ポート 4 | ESP32-GPIO27 | |
3 | A-ADC5 | Mode-A アナログ入力ポート 5 | ESP32-GPIO14 | |
4 | GND | GND |
・デジタルセンサモード(Mode-D) ポート
コネクタ名称 | 番号 | ピン名称 | 用途 | 備考 |
ADC | 1 | A-GND | アナログGND、基板のGNDとは分離しています。 | |
2 | ADC-IN3 | ADCアナログ入力ポート ジャンパ設定でボード上のマイクを接続できます。 |
ADS1015 – 7 | |
3 | ADC-IN2 | ADCアナログ入力ポート | ADS1015 – 6 | |
4 | ADC-IN1 | ADCアナログ入力ポート | ADS1015 – 5 | |
5 | ADC-IN0 | ADCアナログ入力ポート | ADS1015 – 4 | |
6 | A-GND | アナログGND、基板のGNDとは分離しています。 | ||
DAC | 1 | GND | GND | |
2 | DAC-OUT | DAコンバーター出力ポート | MCP4725 – 1 | |
IO-Ex1 | 1 | GP0 | IOエキスパンダ GPIO 0 | MCP23008 – 12 |
2 | GP1 | IOエキスパンダ GPIO 1 | MCP23008 – 13 | |
3 | GP2 | IOエキスパンダ GPIO 2 | MCP23008 – 14 | |
4 | GP3 | IOエキスパンダ GPIO 3 | MCP23008 – 15 | |
5 | GP4 | IOエキスパンダ GPIO 4 | MCP23008 – 16 | |
6 | GND | GND | ||
IO-Ex2 | 1 | GP5 | IOエキスパンダ GPIO 5 | MCP23008 – 17 |
2 | GP6 | IOエキスパンダ GPIO 6 | MCP23008 – 18 | |
3 | GP7 | IOエキスパンダ GPIO 7 | MCP23008 – 19 | |
4 | GND | GND | ||
Ex-I2C | 1 | GND | GND | |
2 | VREF2 |
I2C外部端子リファレンス電圧 |
PCA9306 – 7 | |
3 | SDA2 | 外部I2CバスのSDA | PCA9306 – 5 | |
4 | SCL2 | 外部I2CバスのSCL | PCA9306 – 6 |
・Mode A/D 共通ポート
コネクタ名称 | 番号 | ピン名称 | 用途 | 備考 |
UART2 | 1 | VIN | UART2 に接続する機器から給電する際に使用します | 5V入力 |
2 | GND | GND | ||
3 | RXD2 | UART2 RXDポート | ESP32 – GPIO16 | |
4 | TXD2 | UART2 TXDポート | ESP32 – GPIO17 | |
+VOUT | 1 | +3.3V OUT | センサーボードの3.3V電源を出力します。外部センサを接続する際の電源として利用できます | |
2 | GND | GND | ||
WDT/RST | 1 | PC-E | WDT/RSTで動作するフォトカプラのエミッタ端子 ・フォトカプラを動作させる場合はあらかじめセンサーボード上のジャンパ設定が必要です。 |
|
2 | PC-C | WDT/RSTで動作するフォトカプラのコレクタ端子 | ||
LiPO | 1 | LiPO-VIN | リチウムポリマー電池でモバイル動作をさせる時に使用します。直流電源を接続するなど、給電端子としても使用できます。 | 3.6V ~ 5V入力 |
2 | GND | GND |
センサモジュールをUSB端子でPC等に接続すると、USB端子から供給される電源で動作を開始します。USB接続の場合、外部電源を接続する必要はありません。モバイル(ワイヤレス)での運用の際の電源接続に関しては、後の章(7. モバイル運用)で詳しく説明します。
センサモジュールからの信号は、USB端子(シリアル)、UART2端子(シリアル)、およびBT(Bluetooth classic)から出力することができ、同じ内容を同じタイミングで出力します。オンボードのセンサは全てI2Cバス1本でマイコン(ESP32)へ接続されています。センサモジュールには時計(RTC, Real Time Clock)は搭載していません。システムとしての時刻管理の方法を13章に示します。
Mode-A動作時のメディアンフィルタについて
測定系には外来ノイズ等の影響で、欠損値として扱うべき値が時々計測されます。これらの値は、前段での処理することでリアルタイムフィードバックにもIoTにも影響を少なくすることが可能です。スパイク状のノイズ(1回だけ桁違いに大きな値や小さな値)に対しては、メディアンフィルタが効果的なので、センサモジュールではMode-Aでの動作時に初期設定として、ESP32のADC入力に対してメディアンフィルタを有効にしています。アナログ信号の入力ならば、入力ポートの前段にLPF(Low pass Filter)を挿入することも効果的です。遮断周波数が数kHzのLPF(RCフィルタを)を入れることをお勧めします。