提示1:銳米所有 LoRa 產品嚴格遵循國標標準的 LoRaWAN 協議。
提示2:您可以免費複製,修改和商用本項目,請註明銳米原創。
提示3:如果您有其他 LoRa 需求或建議,歡迎聯繫銳米 [email protected]
LoRa GPS 定位器
LoRa GPS 定位器廣泛應用於:車輛,畜牧,兒童,老人,資產等位置追蹤,App 實時顯示位置和運動軌跡。
物聯網 Arduino LoRa LoRaWAN GPS 定位器
運行效果
如下圖所示,App 實時顯示 LoRa GPS 定位器的緯度和經度數據
項目介紹
據統計,每年走失老人約有50萬人,每年走失兒童幾千人,人員定位追蹤關乎民生幸福。
自 2004 年,美國堪薩斯州爲 880 萬頭牛實時監控,畜牧定位追蹤步入數字化管理。
自 2018 年集裝箱達到 300 萬個,對這些資產的定位追蹤日趨重要。
LoRa GPS 定位器,App 實時顯示位置和運動軌跡。它功耗低,電池續航時間長;免流量費,運營成本低;組網靈活,用戶按需自主部署基站;成本低,硬件物料批量生產僅 ¥80。
LoRa GPS 定位器可以應用在:車輛,畜牧,兒童,老人,資產等位置追蹤。
LoRa GPS 定位器_應用場景
相比傳統的產品,LoRa GPS 定位器具備的優點爲:
- 超低功耗,電池續航時間長
- 免流量費,運營成本低
- 自主組網,信號覆蓋指定區域
本項目開源設計 LoRa GPS 定位器的核心—軟件和硬件,用戶選擇一個漂亮的外殼和電池,即可組成一個產品。
同時,簡介了 LoRa 網絡組件,輕鬆構建一個商用的物聯網。
組件和材料
LoRa 擴展板 x 1 採購鏈接
Arduino UNO x 1 採購鏈接
GPS模塊 x 1 採購鏈接
天線 x 1 採購鏈接
杜邦線 x 4 採購鏈接
軟件和網絡
LoRa網關 採購鏈接
LoRaServer 下載鏈接
LoRaApp 下載鏈接
Arduino IDE 下載鏈接
技術細節
元器件介紹
這是專爲 Arduino 而設計的 LoRa 擴展板,既可以安裝在 Arduino UNO 上,也能使用杜邦線連接到 Arduino Pro Mini。
它能達到空曠 10km 的通信距離,休眠電流僅 1.3uA。精心設計的軟件庫,使其開發極爲容易:
- 發送數據
LoRa.write("123", 3);
- 接收數據
if (LoRa.availabe()) {
len = LoRa.read(buf, MAX_LEN);
}
Arduino UNO 是最常用的開發板,它便宜簡單,接線方便。
GPS 模塊 NEO-7N,精度高,功耗低,體積小;支持溫啓動/熱啓動,快速定位;兼容 3.3/5V 電平。
470MHz 膠棒天線,增益 3.5dB,特別適合中國 LoRa 頻段範圍(470~510MHz)。
硬件接線
如下圖所示,使用公對母杜邦線連接 Arduino、GPS模塊。
Arduino | 杜邦線 | GPS模塊 |
---|---|---|
3.3V | 紅 | VCC |
GND | 黑 | GND |
6 | 黃 | TXD |
7 | 綠 | RXD |
電路圖
實物圖
通信邏輯
如下圖所示,通過 App 可以實時顯示 LoRa GPS 定位器的經緯度數據。
爲此,需要配置如下的網絡組件:
行業第一的超低功耗—休眠僅 1.4uA
如下圖所示(實物拍攝),Arduino LoRa+ 的低功耗可達 1.4uA,這不僅是行業第一的超低功耗,而且達到了器件極限 ArduinoLoRa 休眠極限 1.4uA
Arduino 代碼
編譯本工程需要添加 LoRa 和 TinyGPSPlus 驅動庫,下載這 2 個庫:
LoRa 驅動庫
TinyGPSPlus 驅動庫
使用 Arduino IDE 打開工程,點擊"Sketch -> Include Library -> Add .ZIP Library…"
Arduino 的 zip 庫安裝路徑一般爲:C:\Users\Administrator\Documents\Arduino\libraries
Arduino 的代碼簡潔,容易理解,下載鏈接
- Arduino 的硬件串口分配給 LoRa 模塊,它使用軟串口連接 GPS 模塊。
- GPS 模塊有 PPS 指示燈:常亮=未實現定位,閃爍(0.1秒滅, 0.9秒亮)=定位成功。
#include <lora.h>
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
#define GPS_RX_PIN 6 // Arduino_PIN_6 <-> GPS_TX
#define GPS_TX_PIN 7 // Arduino_PIN_7 <-> GPS_RX
lora LoRa;
TinyGPSPlus GPS;
SoftwareSerial gpsSerial(GPS_RX_PIN, GPS_TX_PIN);
void setup()
{
Serial.begin(115200); // for LoRa Node
gpsSerial.begin(9600); // default Baud Rate of NEO-6M GPS module is 9600
}
void loop()
{
double latitude, longitude;
double array[2]; // latitude, longitude
// This sketch displays information every time a new sentence is correctly encoded.
while (gpsSerial.available() > 0)
{
GPS.encode(gpsSerial.read());
if (GPS.location.isUpdated())
{
latitude = GPS.location.lat();
longitude = GPS.location.lng();
array[0] = latitude;
array[1] = longitude;
LoRa.write(array, sizeof(array));
delay(10000); // 10 seconds
}//if
}//while
}
低成本批量生產
LoRa GPS 定位器的硬件成本約 ¥80,這依賴於批量數目和供貨渠道。
批量生產的一些技術挑戰:尺寸,成本,功耗,燒錄,升級。
我們爲您準備好解決方案:低成本快速開發LoRa終端:從1到10000