使用LoRaWAN的智能水位和洪水警報系統(tǒng)
水位監(jiān)測及洪水預警系統(tǒng)(基于環(huán)境因素)
目的:
?監(jiān)測降水(雨)和大氣壓,作為潛在洪水或水位變化的關(guān)鍵指標。
?通過The Things Stack使用LoRaWAN進行長距離無線傳輸數(shù)據(jù),非常適合偏遠地區(qū),如河流、水庫或農(nóng)村地區(qū)。
?對可能導致洪水的情況發(fā)出早期預警,以便采取積極的應(yīng)對措施。
?在云平臺上可視化數(shù)據(jù),以便進行持續(xù)監(jiān)控和趨勢分析。
先決條件:
?Arduino (C/ c++)編程基礎(chǔ)。
?電子學和傳感器的基本概念。
?熟悉Arduino IDE或PlatformIO開發(fā)環(huán)境。
?了解LoRaWAN通信和物棧操作。
?云物聯(lián)網(wǎng)平臺基礎(chǔ)知識。
所需材料和軟件:
硬件:
?WISBLOCK基礎(chǔ):RAK19007基礎(chǔ)板輪緣Gen
?WISBLOCK核心:RAK3172 STM32WL5(集成LoRaWAN)
?WISBLOCK傳感器:
?RAK12030雨水傳感器
?BME680環(huán)境傳感器(用于大氣壓力、溫度和濕度)
?DS18B20溫度傳感器(如果浸入保護管中,用于環(huán)境溫度或水溫)
?WISBLOCK雜項:
?RAK1921 OLED顯示器(可選,用于調(diào)試和本地讀取)
?其他組件/配件:
?WisGate Edge Lite 2 (LoRaWAN網(wǎng)關(guān))
?電池連接器電纜
?太陽能電池板連接器
?太陽能電池板
?螺絲刀
軟件:
?Arduino IDE或PlatformIO
?用于RAK模塊的Arduino庫(例如RAKwireless_RAK3372_BSP)和用于傳感器的特定庫(例如Adafruit_BME680, dallasttemperature, OneWire, Adafruit_SSD1306, Adafruit_GFX)。
?RAK7268V2網(wǎng)關(guān)配置軟件。
?在The Things Stack(用于LoRaWAN網(wǎng)絡(luò))和用于可視化和警報的云物聯(lián)網(wǎng)平臺上的帳戶。
?預計持續(xù)時間:8-12小時。
學習成果:
?能夠設(shè)計以自然災害預防為重點的環(huán)境監(jiān)測系統(tǒng)。
?能夠解釋與洪水風險相關(guān)的降水和大氣壓力數(shù)據(jù)。
?掌握LoRaWAN通信在潛在的挑戰(zhàn)環(huán)境(例如,農(nóng)村,障礙)使用物棧。
?具備配置關(guān)鍵警報和實時決策可視化數(shù)據(jù)的知識。
?有在戶外部署物聯(lián)網(wǎng)設(shè)備的經(jīng)驗,考慮水保護和能源自主。
設(shè)置和實現(xiàn)步驟:
?硬件組裝:將RAK3372 (Core)模塊連接到RAK1907 (Base Board)模塊。連接傳感器(雨傳感器,BME680, DS18B20)和OLED顯示器(如果使用)。連接電池電纜和太陽能板。
?開發(fā)環(huán)境配置:安裝Arduino IDE/PlatformIO,支持RAK3372板。為傳感器和OLED安裝必要的庫。
節(jié)點編程(RAK3372):
?編寫代碼從雨傳感器讀取數(shù)據(jù)(雨滴檢測,或強度估計,如果傳感器允許)。
?從BME680讀取大氣壓力(快速的壓力下降可能表示低壓系統(tǒng),因此表明惡劣天氣和可能的強降雨)。
?從DS18B20讀取溫度。
?執(zhí)行邏輯以偵測洪水風險情況(例如,在一段時間內(nèi)持續(xù)降雨,快速和持續(xù)的壓力下降)。
?將RAK3372配置為LoRaWAN節(jié)點,定期發(fā)送數(shù)據(jù),并在檢測到風險情況時發(fā)送告警信息。
?實現(xiàn)低功耗模式(深度睡眠),以最大限度地延長電池壽命。
?網(wǎng)關(guān)配置(RAK7268V2):將網(wǎng)關(guān)接入網(wǎng)絡(luò),配置為與the Things Stack相連。
Things棧配置:
?進入Things Stack控制臺。
?注冊網(wǎng)關(guān):添加RAK7268V2網(wǎng)關(guān)。
?創(chuàng)建應(yīng)用程序:創(chuàng)建新的應(yīng)用程序。
?注冊設(shè)備(RAK3372節(jié)點):使用其LoRaWAN憑據(jù)注冊設(shè)備。
?配置有效負載格式化器(解碼器):編寫Javascript代碼來解碼傳感器有效負載。
?配置警報集成:向物聯(lián)網(wǎng)平臺或通知服務(wù)添加集成(例如,“Webhook”或“MQTT”)以接收洪水警報。
?測試與部署:在真實環(huán)境中測試系統(tǒng),模擬降雨,觀察壓力變化。確保所有部件都安裝在防水外殼內(nèi),并確保雨敏傳感器正確外露。
挑戰(zhàn)和故障排除提示:
?洪水數(shù)據(jù)解釋:將傳感器讀數(shù)與實際洪水風險相關(guān)聯(lián)可能需要更先進的數(shù)據(jù)分析和該地區(qū)的水文知識??紤]與外部氣象數(shù)據(jù)集成。
?防水:如果部署在戶外和靠近水源,所有電子元件必須在一個完全防水的外殼中(IP67或更高)。雨水傳感器必須設(shè)計為室外使用。
?雨水傳感器維護:雨水傳感器可能需要定期清洗,以防止污垢或碎片的積累,影響精度。
?網(wǎng)絡(luò)可靠性:確保LoRaWAN通信在惡劣天氣條件下(雨、風)是穩(wěn)健的,并且網(wǎng)關(guān)有一個最佳的位置。
評估標準:
?該系統(tǒng)精確監(jiān)測降水和大氣壓力。
?當滿足預先設(shè)定的條件時,會迅速而可靠地發(fā)出洪水風險警報。
?數(shù)據(jù)在云平臺上清晰可視化,允許有效監(jiān)控。
?該裝置對環(huán)境條件具有抵抗性,并在監(jiān)測期間利用太陽能自主運行。
?代碼健壯、高效,警報邏輯也很有效。
本文編譯自hackster.io