基于Wio Terminal的LoRa GPS定位追踪器

基于Wio Terminal的LoRa GPS定位追踪器

基于 Wio Terminal的 LoRa GPS定位追踪器,来满足多个不同场景下的定位追踪需求。
electronics Arduino LoRa GPS

基于Seeedstudio Wio Terminal制作的LoRa GPS定位追踪器。坐标信息通过LoRa通讯从发送方发送到接收方Wio Terminal,并在Wio Terminal上处理后,可以实时查看发送方在地图上的坐标。

项目物料清单

所用硬件清单:

  • Seeed Wio Terminal ×1
  • Seeed Grove - LoRa Radio 868MHz模块 ×2
  • Seeed Grove GPS (Air530)模块 ×1
  • Seeed Grove主动蜂鸣器模块 ×1
  • SparkFun Arduino Pro Micro ×1
  • Seeed Grove按钮模块 ×1
  • Seeed 聚合锂离子电池 ×1
  • 5V锂电池充电器×2


关于Wio Terminal

关于LoRa

LoRa是LPWAN通信技术中的一种,由Semtech采用和推广的一种基于扩频技术的超远距离无线传输方案。以下是Semtech对LoRa的定义:

LoRa (Long Range,远距离)是一种调制技术,与同类技术相比,提供更长的通信距离。调制是基于扩频技术,线性调制扩频(CSS)的一个变种,具有前向纠错(FEC)。LoRa显著地提高了接受灵敏度,与其他扩频技术一样,使用了整个信道带宽广播一个信号,从而使信道噪声和由于使用低成本晶振而引起频率偏移的不敏感性更健壮。LoRa可以调制信号19.5dB低于底噪声,而大多数频移键控(FSK)在底噪声上需要一个8-10dB的信号功率才可以正确调制。LoRa定义了通讯栈中较低的物理层(PHY),可为不同协议和不同网络架构所用-如Mesh、Star、点对点等等。

项目特色功能

  • 在OpenStreetMap地图上进行实时跟踪,也可以做相应修改后使用其他地图(如Google Map或MapQuest)
  • 双击信号发射装置上的按钮后,可以在 Wio Terminal 中收到警报通知蜂鸣声
  • 温度 / 湿度传感器可以实时了解信号发射装置当前所处的环境状况(温度 / 湿度)
  • 信号发射装置上的蜂鸣器可发出声音,帮助您找到信号发射所在位置。
  • Wio Terminal 上接收到的信息(包括坐标,日期,时间,温度和湿度)可保存在存储卡中
  • 可以将发件人发出的信息上传到个人服务器或其他云服务(如 Adafruit IO )

项目最终形态

Wio Terminal接收装置正面

Wio Terminal接收装置背面

信号发射装置

项目如何运作

Grove GPS模块可以采集信号发射装置的GPS坐标信息,Grove DHT 11模块则会采集温度和湿度信息,并通过Grove LoRa模块将其发送到信号接收装置。每个数据包发送的时间间隔可以自主设定,这个项目中我设为了15秒。

基于Wio Terminal的信号接收装置,在收到由信号发射装置发送的信息后,会开始处理信息。GPS坐标和其他信息会被提取。信息通过Wi-Fi连接发送,并接收地图的静态图像。最后,通过TJpg解码器库,将位置信息呈现在Wio Terminal的屏幕上。Wio Terminal的 A,B,C键分别用于放大、缩小和返回默认地图设置。按下五向开关的中间键后,信号发射装置的蜂鸣器则会响起,继而可以更准确定位信号发射装置所在位置。

项目所需要的软件和代码库

项目使用Arduino IDE作为编程平台,并安装了以下代码库:

  • TinyGPS++: https://github.com/mikalhart/TinyGPSPlus/releases
  • Grove LoRa 433MHz and 915MHz RF : https://github.com/Seeed-Studio/Grove_LoRa_433MHz_and_915MHz_RF
  • Grove Temperature And Humidity Sensor : https://github.com/Seeed-Studio/Grove_Temperature_And_Humidity_Sensor
  • OneButton : https://github.com/mathertel/OneButton
  • TJpg Decoder :https://github.com/Bodmer/TJpg_Decoder
  • Wio Terminal Libraries : https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/

项目组成-信号发射装置

信号发射装置所用的模块如下所示连接至Arduino Pro Micro主板。因为我手上没有Seeeduino XIAO,我使用了Arduino Pro Micro微型主控。你也可以使用其他微控制器。尺寸越小越好。

为了保护所有硬件模块,我使用了现成的外壳。使用锂电池和移动电源模块是为了方便给信号发射装置供电。

现成的外壳

项目组成-基于Wio Terminal的信号接收装置

信号接收装置中,Wio Termianl与Grove LoRa模块的链接如下图所示。(使用Grove LoRa模块时需要提供硬件序列号)

借助串行通信串口(SERCOM),可以轻松地将Grove LoRa模块连接到Wio Termianl左侧的I2C Grove接口。

我使用了锂电池和移动电源模块给Wio Termianl供电,也可以使用Wio Termianl电池机箱。

项目源代码下载:https://github.com/idreamsi/LoRa-GPS-Tracker


备注

1. 该项目使用由osm-static-maps的Openstreetmap.org静态图像。因为osm-static-maps是一个demo,其使用的Heroku服务器可能不稳定。

2. 谷歌地图服务需要收费,因此在项目中我使用了免费的OpenStreetMap地图。

3. 这个项目测试中,LoRa定位追踪器没有使用天线,其可用通讯范围为300-500米,如果加上更好的天线,其可用通讯范围可能会更长。

4. GPS连接时间有时可能需要几分钟。

5. 使用Wio Terminal之前,一定要确保对其 WiFi 硬件进行更新。

6. 如果手上有尺寸更小的主控(比如Seeeduino XIAO),可以用上,这样可以大大缩减信号发射装置的尺寸。

LoRa GPS定位追踪器应用场景



评论:
相关文章

ESP32 使用DAC模拟输出完成两路呼吸灯

ESP32的DAC函数可以实现真正的模拟输出。


在 ESP32 上使用 LEDC (PWM)

ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。


Arduino UNO R4 WiFi 官方介绍文档

本文档作为UNO R4 WiFi的技术概览,您将找到一系列资源和指南链接,帮助您开始下一个项目。


OneButton: 用于使用单个按钮进行多用途输入的Arduino库

Arduino OneButton库是一个用于简化按钮操作的库,它可以轻松地处理按钮的单击、双击和长按等操作。适用于Arduino开发板以及ESP32等其他基于Arduino的开发板。


Arduino Bootloader

本文从Arduino Uno入手,看看怎样在这个"简单"的8bit单片机搭建一个属于自己的bootloader


Arduino IDE第三方开发包的制作

许多硬件厂商都希望自己的开发板能被Arduino IDE集成开发环境所支持。这里就以小脚丫开发板所使用的开发包为例,介绍一下第三方开发包的制作方法。


ESP32 SD卡读写

ESP32 可以通过 SDMMC 和 SPI 两种方式读取SD/TF卡数据。



如何使用Arduino IDE进行ESP32双核编程

本文将展示如何使用 ESP32的两个内核同时执行两个操作。

相关创作
项目是基于 ESP32 处理器的自主 GPS 跟踪器,可以支持常规SIM800扩展板来管理2G GSM通信,并且与大多数3.3V的GPS模块兼容。
热度:354
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。