Quakesense
Quakesenseプロジェクトは、エネルギー収穫システムを通じて駆動され、星トポロジのゲートウェイに接続されているエネルギー自動センサーノードで作られた低電力および低コストのIoTネットワークで構成されるオープンソースの地震および環境監視システムです。
このプロジェクトは、カバレッジ、現在の消費、ペイロード長、帯域幅、およびデータレートの間の良い妥協点を提供する、最も有望な低電力広帯域ネットワーク(LPWAN)テクノロジーの1つであるMQTTとLORAの2つの新興IoTテクノロジーに基づいています。
収集されたデータは、専用のWebベースのインターフェイスのおかげでユーザーに提供されるため、地震イベントと環境パラメーターの両方のリアルタイム監視が可能になります。
プロジェクトの実装
Quakesenseプロジェクトの主なコンポーネントは、1つまたは複数のセンサーノード、シングルチャネルLORAゲートウェイ、IoTクラウドプラットフォームです。
コンポーネントの説明
センサーノード
各センサーノードは、次のコンポーネントで構成されています。
- STM32 NUCLEO F401RE開発ボードSTM32F401RRE 84 MHz ARM cortex-M4 MCU、フローティングポイントユニット(FPU)、512 KBのフラッシュメモリ、96 kBのSRAM
- STM32F401RE MCUのデータシート:http://www.st.com/resource/en/datasheet/stm32ff401re.pdf)
- X-Nucleo-IKS01A2モーションMEMSおよび環境センサー拡張ボードを含む:
- LSM6DSL:MEMS 3D加速度計および3Dジャイロスコープ
- データシート:http://www.st.com/resource/en/datasheet/lsm6dsl.pdf
- LSM303AGR:MEMS 3D加速度計および磁力計
- データシート:http://www.st.com/resource/en/datasheet/lsm303agr.pdf
- LPS22HB:MEMS圧力センサー
- データシート:http://www.st.com/resource/en/datasheet/lps22hb.pdf
- HTS221:容量性デジタル相対湿度と温度センサー
- データシート:http://www.st.com/resource/en/datasheet/hts221.pdf
- dragino lora/gpsシールドを含む:
- RFM95W 137 MHz〜1020 MHz低電力、長距離LORA RFトランシーバー
- データシート:http://www.hoperf.com/upload/rf/rfm95_96_97_98w.pdf
- Quectel L80 GPSモジュールMediaTek MTK MT3339 ALL-IN-ONE GPSシステム(SOC)のオールインワンGPSシステム
- データシート:https://www.quectel.com/uploadimage/downlad/l80_hardware_design_v1.1.pdf
- シードスタジオソーラー充電器シールドv2.2に接続されています:
- Adafruit 2000 MAHリポバッテリー
- データシート:https://cdn-shop.adaffuit.com/datasheets/liion2000mah37v.pdf
- Seed Studio 1.5 Wソーラーパネル
- データシート:http://wiki.seeedstudio.com/1.5w_solar_panel_81x137/
デフォルトでは、各センサーノードは低電力モードで実行されます。この構成では、STM32 MCUはストップモードで実行されます(MCUは停止し、クロックはオフになりますが、SRAMとレジスタのコンテンツは保持されます)、GPSモジュールは常に普及しているインテリジェントな電力モードです(GPSモジュールは環境および動きに応じて適応的かつ自動的に調整できます)。
地震イベントが発生すると、アクセルメーターはウェイクアップイベントに関連付けられた割り込みを生成し、ノードは実行モードで実行を開始します。その結果、STM32 MCUとGPSモジュールがモードで完全に目覚め、LORAモジュールは送信モードになります。ウェイクアップイベントは、3つの加速成分のうち少なくとも1つが基準しきい値(水平コンポーネントでは50 mg、垂直コンポーネントでは1120 mg)を超えると発生します。
実行モードになったら、センサーノードは、アクセラレーションデータの読み取りと記録を開始し、加速閾値の最初と最後の時間間隔として定義され、ピークグラウンドアクセラレーションの3つのコンポーネント(PGA)の3つのコンポーネントが絶対値における加速度の最大振幅として定義されます。計算された強い運動パラメーターは、GPSモジュールのおかげで地理参照されるため、緯度、経度、高度、日付、時刻パラメーターがLORAパケットに追加され、最終的にゲートウェイに送信されます。
ノードのベースラインの動作は、LPS22HBおよびHTS221 MEMSセンサーを介した環境パラメーター(温度、相対湿度、圧力)の定期的な(デフォルト、15分ごと)モニタリングを予見しています。
ゲートウェイ
シングルチャネルロラゲートウェイは、次のコンポーネントで構成されています。
- B-L475E-OIT01A2 STM32L4ディスカバリーキットフィーチャー:
- STM32L475VG:フローティングポイントユニット(FPU)、1 MBのフラッシュメモリ、128 kBのSRAMを含む超低電力アームCortex-M4 MCU
- データシート:http://www.st.com/resource/en/datasheet/stm32l475vg.pdf
- Inventek ISM43362-M3G-L44:Wi-Fiモジュール(802.11 b/g/n)
- データシート:http://www.inventeksys.com/wp-content/uploads/ism43362_m3g_l44_functional_spec
- SPSGRF-868:サブGHz(868 MHz)低電力RFモジュール
- データシート:http://www.st.com/resource/en/datasheet/spsgrf.pdf
- SPBTLE-RF:Bluetooth V4.1モジュール
- データシート:http://www.st.com/resource/en/datasheet/spbtle-rf.pdf
- M24SR64-Y:印刷されたNFCアンテナを含む動的NFCタグ
- データシート:http://www.st.com/resource/en/datasheet/m24sr64-y.pdf
- HTS221:容量性相対湿度と温度センサー
- データシート:http://www.st.com/resource/en/datasheet/hts221.pdf
- LSM303AGR:MEMS 3D加速度計およびMEMS 3D磁力計
- データシート:http://www.st.com/resource/en/datasheet/lsm303agr.pdf
- LSM6DSL:MEMS 3D加速度計およびMEMS 3Dジャイロスコープ
- データシート:http://www.st.com/resource/en/datasheet/lsm6dsl.pdf
- LSP22HB:260-1260 HPA絶対デジタル出力バロメーター
- データシート:http://www.st.com/resource/en/datasheet/lps22hb.pdf
- Dragino Lora Shieldを含む:
- SX1276に基づくRFM95W低電力、長距離LORA RFトランシーバー
- データシート:http://www.hoperf.com/upload/rf/rfm95_96_97_98w.pdf
ゲートウェイは、センサーノードから送信されたパケットを受信し、カプセル化された値を解析し、MQTTプロトコルを介してAdafruit IOプラットフォームに転送することを機能的に担当しています。
ゲートウェイはパケットの整合性も扱っています。新しいパケットが受信されるたびに、ゲートウェイはチェックサムを計算し、受信したメッセージ内のものと比較します。ミスマッチの場合、パケットがドロップされ、エラーメッセージがAdafruit IOプラットフォームに送信されます。
adafruit io
AdaFruit IOプラットフォームは、リアルタイムの環境データと地震イベントに関連する強力なモーションパラメーターを収集、処理、視覚化するために使用されます。
ユーザーインターフェイス(UI)はダッシュボードで構成されており、環境パラメーターの値とピークグラウンドアクセラレーションの3つのコンポーネントの時間傾向を示すために、折れ線グラフ、ゲージ、およびその他のブロックを介して実装されたいくつかのウィジェットを含みます。
ソフトウェアコンポーネント
Quakesenseプロジェクトの実装に使用されるソフトウェアライブラリとフレームワークは次のとおりです。
- Arduino Core STM32:https://github.com/stm32duino/arduino_core_stm32
- stm32lowpowerライブラリ:https://github.com/stm32duino/stm32lowpower
- Adafruit GPSライブラリ:https://github.com/biagiom/adafruit_gps
- Arduino Lora Library:https://github.com/sandeepmistry/arduino-lora
- wifi-ism43362-m3g-l44ライブラリ:https://github.com/stm32duino/wifi-ism43362-m3g-l44
- LSM6DSLライブラリ:https://github.com/stm32duino/lsm6dsl
- HTS221ライブラリ:https://github.com/stm32duino/hts221
- LPS22HBライブラリ:https://github.com/stm32duino/lps22hb
著者
Biagio Montaruli [email protected]
ライセンス
このソフトウェアは、GNU GPLV3の条件の下でライセンスされています。詳細については、license.mdファイルを参照してください。
謝辞
このプロジェクトは、ポリテクニック大学バリ大学(Poliba)の私の学部論文のために開発されました。
私は、このプロジェクトの開発中に私を助けてくれた教授兼監督のルイジ・アルフレド・グリコ、そしてテレマティクス研究所(@Telematics-dev)のすべての研究者と人々に感謝します。