設(shè)計(jì)一個(gè)基于LoRa的GPS虛擬圍欄解決方案,用于牲畜和野生動物管理
該項(xiàng)目為牲畜和野生動物管理實(shí)現(xiàn)了基于lora的虛擬圍欄解決方案。該系統(tǒng)使用LoRa通信、GPS和邊緣處理來創(chuàng)建虛擬邊界并監(jiān)測動物的運(yùn)動。當(dāng)動物越過規(guī)定的邊界時(shí),它會觸發(fā)警報(bào),幫助管理放牧區(qū)域并防止未經(jīng)授權(quán)的動物運(yùn)動。
組件
硬件
LoRa發(fā)送節(jié)點(diǎn):
?Heltec LoRa32 V2/V3
?GPS模塊(TinyGPS++)
?音頻反饋蜂鳴器
?用于觸覺反饋的振動電機(jī)(可選)
LoRa發(fā)送節(jié)點(diǎn):Heltec LoRa32 V2/V3GPS模塊(TinyGPS++)音頻反饋蜂鳴器觸覺反饋振動電機(jī)(可選)
LoRa接收節(jié)點(diǎn):
?Heltec LoRa32 V2/V3
?OLED顯示屏(SSD1306)
?LoRa接收節(jié)點(diǎn):Heltec LoRa32 V2/V3OLED Display (SSD1306)
?WiFi連接:ESP32 WiFi進(jìn)行數(shù)據(jù)傳輸
軟件
編程語言:c++ (Arduino)
依賴關(guān)系:
?LoRa.h
?Adafruit_GFX.h
?Adafruit_SSD1306.h
?TinyGPS + + . h
?HTTPClient.h
依賴性:LoRa.hAdafruit_GFX.hAdafruit_SSD1306.hTinyGPS + + .hHTTPClient.h
Dashboard:使用Leaflet.js的基于flash的web應(yīng)用程序,用于實(shí)時(shí)地理位置跟蹤
特性
虛擬擊劍:
?定義基于多邊形的地理圍欄邊界。
?當(dāng)動物離開虛擬圍欄時(shí),使用蜂鳴器和振動發(fā)出警報(bào)。
?虛擬圍欄:定義基于多邊形的地理圍欄邊界。當(dāng)動物離開虛擬圍欄時(shí),使用蜂鳴器和振動發(fā)出警報(bào)。
實(shí)時(shí)監(jiān)控:
?接收動物的實(shí)時(shí)位置數(shù)據(jù)。
?在交互式地圖上顯示節(jié)點(diǎn)位置和移動。
?實(shí)時(shí)監(jiān)控:實(shí)時(shí)接收動物位置數(shù)據(jù)。在交互式地圖上顯示節(jié)點(diǎn)位置和移動。
數(shù)據(jù)傳輸:
?使用LoRa進(jìn)行遠(yuǎn)程、低功耗通信。
?基于http的數(shù)據(jù)從LoRa接收器傳輸?shù)紽lask儀表板。
?數(shù)據(jù)傳輸:采用LoRa進(jìn)行遠(yuǎn)程、低功耗通信?;趆ttp的數(shù)據(jù)從LoRa接收器傳輸?shù)紽lask儀表板。
WiFi連接:
?連接本地WiFi網(wǎng)絡(luò),向遠(yuǎn)程服務(wù)器發(fā)送數(shù)據(jù)。
?WiFi連接:連接本地WiFi網(wǎng)絡(luò),向遠(yuǎn)程服務(wù)器發(fā)送數(shù)據(jù)。
可定制的儀表板:
?用戶友好的界面,查看當(dāng)前位置和路徑。
?地理防御系統(tǒng)有彩色標(biāo)記的漏洞警報(bào)。
?可定制儀表板:用戶友好的界面,用于查看當(dāng)前位置和路徑。地理防御系統(tǒng)有彩色標(biāo)記的漏洞警報(bào)。
如何使用
硬件設(shè)置
傳感器節(jié)點(diǎn):
?將GPS模塊和蜂鳴器連接到Heltec LoRa32。
?程序使用Arduino提供的代碼(transmitter.ino)。
?發(fā)送節(jié)點(diǎn):將GPS模塊和蜂鳴器連接到Heltec LoRa32上。程序使用Arduino提供的代碼(transmitter.ino)。
接收器節(jié)點(diǎn):
?將OLED顯示器連接到Heltec LoRa32上。
?程序使用Arduino提供的代碼(receiver.ino)。
?接收節(jié)點(diǎn):將OLED顯示屏連接到Heltec LoRa32。程序使用Arduino提供的代碼(receiver.ino)。
軟件設(shè)置
Arduino:
?安裝所需的庫(LoRa, Adafruit_GFX, Adafruit_SSD1306, TinyGPS++)。
?將相應(yīng)的代碼上傳到發(fā)射機(jī)和接收機(jī)。
?Arduino:安裝所需的庫(LoRa, Adafruit_GFX, Adafruit_SSD1306, TinyGPS++)。將相應(yīng)的代碼上傳到發(fā)射機(jī)和接收機(jī)。
Flask儀表板:
?確保安裝了Python和Flask。
?運(yùn)行Flask服務(wù)器腳本(app.py)。
?通過http://:5000訪問儀表板。
?Flask Dashboard:確保安裝了Python和Flask。運(yùn)行Flask服務(wù)器腳本(app.py)。通過http://:5000訪問儀表板。
指示板
特性
地圖視圖:
?顯示具有實(shí)時(shí)更新的節(jié)點(diǎn)。
?使用Leaflet.js進(jìn)行地圖渲染。
?地圖視圖?:顯示實(shí)時(shí)更新的節(jié)點(diǎn)。使用Leaflet.js進(jìn)行地圖渲染。
側(cè)邊欄導(dǎo)航:
?主頁:主視圖。
?清除路徑:清除折線路徑。
?導(dǎo)出為CSV:保存跟蹤數(shù)據(jù)。
?設(shè)置:調(diào)整地理圍欄參數(shù)。
?側(cè)邊欄導(dǎo)航:主頁:主視圖。清除路徑:清除折線路徑。導(dǎo)出為CSV:保存跟蹤數(shù)據(jù)。設(shè)置:調(diào)整地理圍欄參數(shù)。
安裝和依賴項(xiàng)
?Arduino庫
?LoRa
?Adafruit GFX
?Adafruit SSD1306
?TinyGPS + +
?Python庫
?Flask
?Leaflet.js(前端)
未來的改進(jìn)
?為動物行為分析添加邊緣機(jī)器學(xué)習(xí)。
?集成SMS/基于通知的警報(bào)。
?延長電池壽命與優(yōu)化的電源管理。
本文編譯自hackster.io