目录

2020-03-01-花-1-小时,开源设计-LoRa-GPS-定位器

花 1 小时,开源设计 LoRa GPS 定位器

提示1:锐米所有 LoRa 产品严格遵循 国际标准的 LoRaWAN 协议

提示2:您可以免费复制,修改和商用本项目,请注明

提示3:如果您有其他 LoRa 需求或建议,欢迎联系锐米

https://i-blog.csdnimg.cn/blog_migrate/f6f31702b9959b841b2412eec733e98b.png

LoRa GPS 定位器

LoRa GPS 定位器广泛应用于:车辆,畜牧,儿童,老人,资产等位置追踪,App 实时显示位置和运动轨迹。

物联网 Arduino LoRa LoRaWAN GPS 定位器

运行效果

如下图所示,App 实时显示 LoRa GPS 定位器的纬度和经度数据

https://i-blog.csdnimg.cn/blog_migrate/4da35ff7c18c97363bb517e7064d2b7f.png

项目介绍

据统计,每年走失老人约有50万人,每年走失儿童几千人, 人员定位追踪 关乎民生幸福。

自 2004 年,美国堪萨斯州为 880 万头牛实时监控, 畜牧定位追踪 步入数字化管理。

自 2018 年集装箱达到 300 万个,对这些 资产的定位追踪 日趋重要。

LoRa GPS 定位器, App 实时显示位置和运动轨迹 。它功耗低,电池续航时间长;免流量费,运营成本低;组网灵活,用户按需自主部署基站;成本低,硬件可大规模批量生产。

LoRa GPS 定位器可以应用在:车辆,畜牧,儿童,老人,资产等位置追踪。

LoRa GPS 定位器_应用场景

https://i-blog.csdnimg.cn/blog_migrate/54ca2a6303664470e8561300712ba7f7.png

相比传统的产品,LoRa GPS 定位器具备的优点为:

  • 超低功耗,电池续航时间长
  • 免流量费,运营成本低
  • 自主组网,信号覆盖指定区域

本项目 开源设计 LoRa GPS 定位器的核心—软件和硬件 ,用户选择一个漂亮的外壳和电池,即可组成一个产品。

同时,简介了 LoRa 网络组件,轻松构建一个商用的物联网。

组件和材料

https://i-blog.csdnimg.cn/blog_migrate/b01b72102892a1d66be50ca9599ee08c.png LoRa 开发板 x 1


https://i-blog.csdnimg.cn/blog_migrate/d43dc2f26e773e110b2d3f12905722ae.jpeg GPS模块 x 1

软件和网络

https://i-blog.csdnimg.cn/blog_migrate/369b5bf353651d8ff3c37cca4cf0e9b2.jpeg LoRa网关


https://i-blog.csdnimg.cn/blog_migrate/3b5efd8b8fd7ce09d01a5a9389373cf9.png LoRaServer


https://i-blog.csdnimg.cn/blog_migrate/c856f83464e7971abae39a85217c20a7.jpeg LoRaApp


https://i-blog.csdnimg.cn/blog_migrate/1c9927250bcae7ea0c2be83eb132f203.jpeg Arduino IDE

技术细节

元器件介绍

https://i-blog.csdnimg.cn/blog_migrate/b01b72102892a1d66be50ca9599ee08c.png

LoRa 开发板遵循 LoRaWAN 国际标准,兼容 SX130x 八通道和 SX127x 单/双通道网关,接入 loraserver

软硬件 100% 兼容 Arduino,借助全球开源软件降低开发成本,串口下载程序(无须仿真器)。

它能达到 空旷 10km 的通信距离,休眠电流仅 1.4uA 。精心设计的软件库,使其开发极为容易:

  • 发送数据
LoRa.write("123", 3);
  • 接收数据
if (LoRa.availabe()) { 
    len = LoRa.read(buf, MAX_LEN); 
}

https://i-blog.csdnimg.cn/blog_migrate/d43dc2f26e773e110b2d3f12905722ae.jpeg

GPS 模块 NEO-7N,精度高,功耗低,体积小;支持温启动/热启动,快速定位;兼容 3.3/5V 电平。

硬件接线

如下图所示连接 LoRa 开发板和 GPS 模块。

LoRa 开发板杜邦线GPS模块
3.3VVCC
GNDGND
6TXD
7绿RXD

https://i-blog.csdnimg.cn/blog_migrate/06a4d683e503596c0da6474b30c4c74d.png

通信逻辑

如下图所示,通过 App 可以实时显示 LoRa GPS 定位器的经纬度数据。

为此,需要配置如下的网络组件:

https://i-blog.csdnimg.cn/blog_migrate/faa0a5382876b88b916b5c93a8f4dce1.png

行业第一的超低功耗—休眠仅 1.4uA

如下图所示(实物拍摄),Arduino LoRa+ 的低功耗可达 1.4uA,这不仅是 行业第一的超低功耗,而且达到了器件极限

https://i-blog.csdnimg.cn/blog_migrate/1cdf2b9aa5a6ca627d97c5d2a4d19855.png

Arduino 代码

编译本工程需要添加 LoRa 和 TinyGPSPlus 驱动库,下载这 2 个库:

使用 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(57600);  // 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
}

低成本批量生产

批量生产的一些技术挑战: 尺寸,成本,功耗,烧录,升级

我们为您准备好解决方案:

68747470733a2f2f626c6f672e63:73646e2e6e65742f6a69616e676a756e6a69655f323030352f:61727469636c652f64657461696c732f313034353439353039