当前位置 博文首页 > jiangjunjie_2005的专栏:花 1 小时,开源设计 LoRa GPS 定位器

    jiangjunjie_2005的专栏:花 1 小时,开源设计 LoRa GPS 定位器

    作者:[db:作者] 时间:2021-08-16 15:57

    提示1:锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议
    提示2:您可以免费复制,修改和商用本项目,请注明锐米原创
    提示3:如果您有其他 LoRa 需求或建议,欢迎联系锐米 support@rimelink.com

    LoRa GPS 定位器

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

    运行效果

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

    项目介绍

    据统计,每年走失老人约有50万人,每年走失儿童几千人,人员定位追踪关乎民生幸福。
    自 2004 年,美国堪萨斯州为 880 万头牛实时监控,畜牧定位追踪步入数字化管理。
    自 2018 年集装箱达到 300 万个,对这些资产的定位追踪日趋重要。

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

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

    LoRa GPS 定位器_应用场景

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

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

    本项目开源设计 LoRa GPS 定位器的核心—软件和硬件,用户选择一个漂亮的外壳和电池,即可组成一个产品。
    同时,简介了 LoRa 网络组件,轻松构建一个商用的物联网。

    组件和材料

    LoRa 开发板 x 1 采购链接


    GPS模块 x 1 采购链接

    软件和网络

    LoRa网关 采购链接


    LoRaServer 下载链接


    LoRaApp 下载链接


    Arduino IDE 下载链接

    技术细节

    元器件介绍

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

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

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

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

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

    硬件接线

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

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

    通信逻辑

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

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

    • LoRa 网关重定向到本地 Server
    • 在 LoRa Server 上添加终端
    • LoRa App 连接到 LoRa Server
    • 配置 LoRa App

    行业第一的超低功耗—休眠仅 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(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
    }
    

    低成本批量生产

    批量生产的一些技术挑战:尺寸,成本,功耗,烧录,升级
    我们为您准备好解决方案:低成本快速开发LoRa终端:从1到10000

    cs