Quakesense
Quakesense項目是一種開源地震和環境監測系統,該系統由低功率和低成本的物聯網網絡組成,由能量自主傳感器節點製成,通過能量收集系統供電,並連接到恆星拓撲中的網關。
該項目基於兩種新興的物聯網技術,即MQTT和Lora,這是最有前途的低功率廣泛區域網絡(LPWAN)技術之一,可在覆蓋範圍,當前消耗,有效載荷,帶寬和數據速率之間提供良好的妥協。
通過專用的基於Web的接口,將收集的數據提供給用戶,從而可以實時監視地震事件和環境參數。
項目暗示
Quakesense項目的主要組成部分是:一個或多個傳感器節點,單渠道Lora Gateway和IoT Cloud平台。
組件描述
傳感器節點
每個傳感器節點由以下組件組成:
- STM32 Nucleo F401RE開發板基於STM32F401RE 84 MHz ARM Cortex-M4 MCU,帶有浮點單位(FPU),512 kb的閃存和96 kb的SRAM
- STM32F401RE的數據表:http://www.st.com/resource/en/datasheet/stm32f401re.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_96_97_98w.pdf
- Quectel L80 GPS模塊基於Mediatek MTK MTK MTK MTK MT339在芯片上多合一的GPS系統(SOC)
- 數據表:https://www.quectel.com/uploadimage/downlad/l80_hardware_design_v1.1.pdf
- 與之連接的種子工作室太陽能充電器盾牌v2.2:
- Adafruit 2000 mah Lipo電池
- 數據表:https://cdn-shop.adafruit.com/datasheets/liion2000mah37v.pdf
- Seeed Studio 1.5 W太陽能電池板
- 數據表:http://wiki.seeedstudio.com/1.5w_solar_panel_81x137/
默認情況下,每個傳感器節點以低功率模式運行。在此配置中,STM32 MCU以停止模式運行(MCU被停止並關閉時鐘,但是SRAM和寄存器內容保留),GPS模塊處於始終集結模式(一種智能節能模式,允許GPS模塊可以根據環境和動作的方式適應並自動適應lorRora模型,以適應全部適應,並自動地穩定下來。
當發生地震事件時,加速度計會生成與喚醒事件相關的中斷,並且節點開始在運行模式下運行,從而使STM32 MCU和GPS模塊完全在模式下喚醒GPS模塊,而Lora模塊則將其放置在發送模式。如果3個加速度組件中的至少一個超過參考閾值,則會發生喚醒事件(水平成分為50 mg,垂直成分為1120 mg)。
一旦處於運行模式,傳感器節點就會開始讀取和記錄加速度數據以計算包圍的持續時間,該持續時間定義為加速度閾值的第一個和最後一個超過峰值之間的時間間隔,以及峰值接地加速度(PGA)的3個組件,定義為絕對值的最大加速度振幅。得益於GPS模塊,計算出的強度參數也將是地理參考的,因此將最終發送到網關的緯度,經度,高度,日期和時間參數添加到Lora數據包中。
節點的基線行為可以預見到通過LPS222HB和HTS221 MEMS傳感器對環境參數(溫度,相對濕度和壓力)進行週期性監測(溫度,相對濕度和壓力)。
網關
單渠道Lora網關由以下組件組成:
- B-L475E-IOT01A2 STM32L4 Discovery套件以:
- STM32L475VG:超低功率臂皮層MCU,其中包括浮點單元(FPU),1 MB的閃存和128 kb的SRAM
- 數據表: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:Sub-GHz(868 MHz)低功率RF模塊
- 數據表:http://www.st.com/resource/en/datasheet/spsgrf.pdf
- spbtle-rf:藍牙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_96_97_98w.pdf
網關在功能上負責接收傳感器節點發送的數據包,解析包封的值並通過MQTT協議將其轉發到Adafruit IO平台。
網關還處理數據包的完整性:每次收到新數據包時,網關都會計算校驗和將其與接收到的消息中的一個進行比較。如果不匹配,將數據包刪除,並將錯誤消息發送到Adafruit IO平台。
Adafruit io
Adafruit IO平台用於在與地震事件有關的實時環境數據和強度運動參數中收集,處理和可視化。
用戶界面(UI)由儀表板組成,其中包括通過線圖,儀表和其他塊實現的一些小部件,以顯示環境參數的值以及峰值地面加速的三個組件的時間趨勢。
軟件組件
用於實施Quakesense項目的軟件庫和框架是:
- Arduino Core STM32:https://github.com/stm32duino/arduino_core_stm32
- STM32LOWPOPER庫:https://github.com/stm32duino/stm32lowpower
- Adafruit GPS庫:https://github.com/biagiom/adafruit_gps
- Arduino Lora庫: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的條款許可。有關更多詳細信息,請參見許可證文件。
致謝
該項目是為我在理工大學(Poliba)的物聯網的本科論文開發的。
我要特別感謝我的教授和主管Luigi Alfredo Grieco,以及在開發該項目期間幫助我的所有遠程信息處理實驗室(@Telematics-Dev)的研究人員和人。