構(gòu)建一款具有運(yùn)動(dòng)檢測(cè)功能的低功耗物聯(lián)網(wǎng)GPS跟蹤器,專(zhuān)為實(shí)時(shí)資產(chǎn)和車(chē)輛監(jiān)控而設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
物聯(lián)網(wǎng)GPS跟蹤器與運(yùn)動(dòng)警報(bào)和LoRaWAN
目的:
?實(shí)時(shí)獲取設(shè)備的GPS精確位置。
?使用加速計(jì)檢測(cè)設(shè)備運(yùn)動(dòng)。
?通過(guò)LoRaWAN和The Things Stack將位置和運(yùn)動(dòng)狀態(tài)發(fā)送到云平臺(tái)進(jìn)行遠(yuǎn)程跟蹤。
?當(dāng)設(shè)備意外移動(dòng)或進(jìn)入/退出定義的地理區(qū)域(地理圍欄,如果平臺(tái)支持)時(shí),配置警報(bào)。
先決條件:
?Arduino (C/ c++)編程基礎(chǔ)。
?電子學(xué)的基本概念。
?熟悉Arduino IDE或PlatformIO開(kāi)發(fā)環(huán)境。
?了解LoRaWAN通信和物棧操作。
?具備GPS系統(tǒng)和具有地圖功能的物聯(lián)網(wǎng)平臺(tái)的基本知識(shí)。
所需材料和軟件:
硬件:
?WISBLOCK底座:RAK19003迷你底座板(用于緊湊便攜的設(shè)計(jì))
?WISBLOCK Core: RAK4630 Nordic NRF52840(集成LoRaWAN遠(yuǎn)程通信)
?WISBLOCK傳感器:RAK12033 IM-42652 6軸加速度計(jì)
?RAK12500 ZOE-M8Q GNSS GPS模塊
?其他組件/配件:
?RAK7268V2 WisGate Edge Lite 2 (LoRaWAN網(wǎng)關(guān))
?電池連接器電纜
?螺絲刀
軟件:
?Arduino IDE或PlatformIO
?用于RAK模塊的Arduino庫(kù)(例如RAKwireless_RAK4631_BSP)和用于GPS的特定庫(kù)(例如TinyGPS++, SoftwareSerial,如果GPS使用非硬件UART引腳)和加速度計(jì)(例如SparkFun_ICM-20948_Arduino_Library或類(lèi)似)。
?RAK7268V2網(wǎng)關(guān)配置軟件。
?Things Stack(用于LoRaWAN網(wǎng)絡(luò))和具有映射功能的云物聯(lián)網(wǎng)平臺(tái)(例如,Ubidots, Datacake, Cayenne MyDevices)上的帳戶(hù)。
學(xué)習(xí)成果:
?能夠?qū)崿F(xiàn)實(shí)時(shí)GPS跟蹤系統(tǒng)。
?具備檢測(cè)設(shè)備移動(dòng)并作出反應(yīng)的技能。
?掌握通過(guò)LoRaWAN傳輸位置數(shù)據(jù),優(yōu)化物棧坐標(biāo)的有效載荷。
?了解物聯(lián)網(wǎng)平臺(tái)上的地理數(shù)據(jù)可視化和地理圍欄配置。
?有優(yōu)化便攜式電池供電設(shè)備功耗的經(jīng)驗(yàn)。
設(shè)置和實(shí)現(xiàn)步驟:
?硬件組裝:將RAK4631 (Core)模塊連接到RAK1903 (Mini Base Board)上。連接RAK12500 GPS模塊和RAK12033加速度計(jì)。連接電池線纜。
?開(kāi)發(fā)環(huán)境配置:安裝Arduino IDE/PlatformIO,支持RAK4631板。為GPS和加速度計(jì)安裝必要的庫(kù)。
?節(jié)點(diǎn)編程(RAK4631):
?編寫(xiě)代碼初始化GPS模塊并獲取坐標(biāo)(經(jīng)度,緯度,海拔)。
?配置加速度計(jì)來(lái)檢測(cè)運(yùn)動(dòng)(例如,使用加速度變化或活動(dòng)/不活動(dòng)檢測(cè)的閾值)。
?實(shí)現(xiàn)通過(guò)LoRaWAN發(fā)送GPS數(shù)據(jù)和運(yùn)動(dòng)狀態(tài)的邏輯。建議僅在有移動(dòng)時(shí)發(fā)送數(shù)據(jù),靜態(tài)時(shí)定期發(fā)送數(shù)據(jù)。
?優(yōu)化功耗:不需要恒讀時(shí),將GPS模塊置于低功耗模式,或者間歇性地打開(kāi)或關(guān)閉。使用微控制器的深度睡眠模式。
?網(wǎng)關(guān)配置(RAK7268V2):將網(wǎng)關(guān)接入網(wǎng)絡(luò),配置為與the Things Stack相連。
Things棧配置:
?進(jìn)入Things Stack控制臺(tái)。
?注冊(cè)網(wǎng)關(guān):添加RAK7268V2網(wǎng)關(guān)。
?創(chuàng)建應(yīng)用程序:創(chuàng)建新的應(yīng)用程序。
?注冊(cè)設(shè)備(RAK4631節(jié)點(diǎn)):用其LoRaWAN憑據(jù)注冊(cè)設(shè)備。
?配置有效負(fù)載格式化器(解碼器):編寫(xiě)Javascript代碼,將GPS坐標(biāo)和運(yùn)動(dòng)狀態(tài)從二進(jìn)制有效負(fù)載解碼為JSON對(duì)象。Things Stack與可以使用這些數(shù)據(jù)的地圖平臺(tái)直接集成。
?與云物聯(lián)網(wǎng)平臺(tái)集成:將集成(例如“Webhook”或“MQTT”)添加到具有映射功能的物聯(lián)網(wǎng)平臺(tái)(例如Ubidots, Datacake)。
?測(cè)試:在室外測(cè)試設(shè)備,確保良好的GPS信號(hào)采集。移動(dòng)設(shè)備并驗(yàn)證地圖上的位置是否更新,移動(dòng)警報(bào)是否按預(yù)期觸發(fā)。
挑戰(zhàn)和故障排除提示:
?GPS信號(hào)采集:GPS模塊可能需要時(shí)間來(lái)獲得初始定位(稱(chēng)為“冷啟動(dòng)”),特別是在室內(nèi)或天空能見(jiàn)度較差的情況下??偸窃趹?hù)外測(cè)試。
?GPS精度:根據(jù)信號(hào)質(zhì)量和環(huán)境,GPS精度可以從米到幾十米不等。為了獲得更高的精度,可以使用平均讀數(shù)或過(guò)濾器等技術(shù)。
?GPS功耗:GPS模塊是功耗最高的器件之一。實(shí)施積極的電源管理策略至關(guān)重要(例如,打開(kāi)GPS僅幾秒鐘以獲取讀數(shù),然后關(guān)閉它)以延長(zhǎng)電池壽命。
?地理圍欄:實(shí)現(xiàn)地理圍欄可能很復(fù)雜。邏輯可以駐留在設(shè)備上(需要更多的處理和內(nèi)存),也可以駐留在云平臺(tái)上(更簡(jiǎn)單,但需要設(shè)備不斷向平臺(tái)發(fā)送數(shù)據(jù)以評(píng)估位置)。
評(píng)估標(biāo)準(zhǔn):
?該裝置準(zhǔn)確可靠地獲取和傳輸GPS位置。
?加速度計(jì)始終檢測(cè)運(yùn)動(dòng)。
?位置數(shù)據(jù)在物聯(lián)網(wǎng)平臺(tái)的地圖上正確地可視化。
?運(yùn)動(dòng)或地理圍欄警報(bào)會(huì)按預(yù)期觸發(fā)。
?電池壽命在預(yù)期用例中是可以接受的(例如,一次充電幾天或幾周)。
本文編譯自hackster.io