GPS tracker without cellular network with LORA module
In this tutorial we will see how to make a tracker to GPS tracker, with LORA and Arduino module. We will also see a basic webserver with ESP32, where you can open a URL on google maps, with real-time latitude and longitude data.
Electronic components
Two 1 Kohm resistors
Two LED diodes
Arduino nano
The Arduino Nano is a small board, complete and compatible with the test board based on the ATmega328 (Arduino Nano 3.x). It has about the same functionality as the Arduino Duemilanove, but in a different package. It only lacks a DC power connector and works with a Mini-B USB cable instead of a standard one.
Female pins
GT-7U GPS module
Note that when the GPS module works, the green indicator on the GPS module will flash (red is for power indication), and relative figures, time(UTC), latitude, longitude, and more. If we establish a connection between the GPS module, and a serial terminal program in our pc we will obtain data. It is important to try to be in a clear area to capture satellite signals, at least 3 satellites, to obtain latitude and longitude data, but the more satellites we get the better the navigation and accuracy experience.
Product description
Item Description: Features:
GT-U7 module. High sensitivity module, low static deviation, low power consumption and low volume.
Miniaturization: Thanks to the extremely high tracking sensitivity, the position of the cover has been considerably improved.
– High precision: In a narrow urban sky, in dense jungle environments, the GT-U7 can be positioned with great precision.
Easy to use: with IPEX antenna interface you can place the standard distribution of the active antenna quickly. Rechargeable button battery table. Onboard E2PROM enables the storage of parameter data.
-Compatible with: The output format is compatible with NEO-6M.
– Scope of application: vehicles, mobile devices such as PDA, vehicle surveillance, mobile phones, camcorders and other mobile location systems, bicycle sharing, common mobile power supply.
Package contents:
1 GT-U7 GPS module.
1 active antenna with IPEX interface.
Specification:
With IPEX antenna interface, the default distribution of the
active antenna, you can quickly place Operating voltage: 3.6V-5V (or direct USB power supply)
Baud transmission rate: 9600 (can be modified)
Rechargeable button battery on board
Onboard E2PROM
Memory NeMA output format of parameter data supports
NEO-6M Size: 27.6mm*26.6mm can be inserted or selected a patch (with positioning holes)
Application areas: Portable vehicle-mounted devices such
as PDA
Vehicle Monitoring Mobile phones, camcorders and other mobile positioning systems
Pinout
PPS: Pulse per second
TXD: Data transmission pin
RXD: Data transmission pin
GND: Earth
VCC: Power voltage 3.6 to 5.5 volts
Overview The
GT-U7 series of modules is a family of high performance autonomous GPS receivers with u-blox 6 positioning motor. These flexible and cost-effective receivers offer numerous connectivity options in a 16 x 12.2 x 2.4 mm miniature package. Its compact architecture and power and memory options make GT-U7 modules ideal for mobile
devices that run on battery-powered batteries with very strict cost and space constraints. The u-blox 6 50-channel positioning
engine features Time-To-First-Fix (TTFF) of less than 1 second. The dedicated acquisition engine, with 2 million correlators, is capable of performing massive time/frequency space searches in parallel, allowing you to
find satellites instantly. Innovative design and technology suppress interference sources and mitigate multipath effects, giving GT-U7 GPS receivers excellent navigation
performance even in most challenging environments.
Assisted GPS (A-GPS)
Providing help information such as ephemeris, almanaque,
last approximate position and hour and satellite status and an optional time sync signal will significantly reduce the time to fix for the first time and improve acquisition sensitivity. All GT-U7 modules are compatible with u-blox AssistNow Online and AssistNow Offline A-GPS11 services and are compatible with OMA SUPL.
AssistNow Autonomous
AssistNow Autonomous provides functionality similar to assisted GPS without the need for an external network host or connection. Based on satellite ephemeris data previously downloaded and stored by the GPS receiver, AssistNow Autonomous automatically generates accurate satellite orbital data (?AssistNow autonomous data?) that can be used for future GPS positions. AssistNow Autonomous data is reliable up to 3 days after initial capture.
Protocols and interfaces
Protocol type
INPUT/Output NMEA, ASCII, 0183, 2.3 (compatible with 3.0) UBX input/output, binary, u-blox patented RTCM input, 2.3
UART
GT-U7 modules include a configurable UART interface for serial communication.
USB
GT-U7 modules provide a USB version 2.0 FS interface (full speed, 12 Mbit/s) as an alternative to the UART. Pull-up resistance in USB_DP integrated to signal a full-speed device to the host. The VDDUSB pin supplies the USB interface. u-blox provides a Microsoft-certified USB driver? for Windows XP, Windows Vista, and Windows 7 operating systems.
Serial Peripheral Interface (SPI) The
SPI interface allows the connection of external devices with a serial interface, p. E.g. flash serial to save AssistNow Offline A-GPS settings and data or to connect to a host CPU. The interface can be operated in master or slave mode. In master mode, a chip selection signal is available for selecting external slaves. In slave mode, a single chip selection signal allows communication with the host.
Power management
U-blox receivers support different power modes. These modes represent strategies of how to control acquisition and tracking engines in order to achieve the best possible performance or good performance with reduced power consumption.
Maximum performance mode During
a cold start, a receiver in maximum performance mode continuously deploys the acquisition engine to search for all satellites. Once the receiver has a fixed position (or if pre-positioning information is available), the acquisition engine is still used to search for all visible satellites that are not being tracked.
Eco-mode
During a cold start, a receiver in Eco mode works exactly as in maximum performance mode. Once a position can be calculated and a sufficient number of satellites are being tracked, the acquisition engine shuts down, resulting in significant energy savings. The tracking engine continuously tracks purchased satellites and acquires other available or emerging satellites.
Power-saving mode
Power saving mode (PSM) allows a reduction in system power consumption by turning receiver parts on and off.
Lora Module
About Lora Modules
The LoRa radio module is a type of low-speed long-range data radio modem based on Semtech’s Sx1276. It is a low cost transceiver module of less than 1 GHz designed for operations in the ISM (Industrial Scientific Medical) and LPRD bands without license. Frequency spectrum modulation/demodulation, multichannel operation, high bandwidth efficiency and anti-lock performance make LoRa modules easy to perform thanks to robust and reliable wireless linking.
The module can operate in two different modes: standard mode and Star network mode. In standard mode, it acts as a transparent data radio modem that communicates with the host in the preset data format without the need for encoding/decoding. In startup network mode, a module will be configured for the central node and other modules will be configured as node modules. Communication between the central module and the node module is bidirectional, but node modules cannot communicate with each other. Note that the module does not contain the lorawan protocol. Therefore, the star network function of this module is used with the protocol itself, so it is not compatible with lorawan.
Features
- LoRa Frequency Spectrum
- Frequency band 433 / 490Mhz ISM
- -137 dBm receive sensitivity
- 20 dBm max. output power
- Serial activation port
- Wireless alarm clock
- Star network capacity
- Supply voltage 3.4 x 5.5V
Specification
- Operating Voltage: 2.1 x 3.6V (Battery Powered) or 4.5×5.5V
- Working frequency band: 433 MHz
- Modulation: LoRa extended spectrum
- Output power: ≤ 20dBm
- Reception sensitivity: -148dBm
- Emission current: ≤120mA
- Receiving current: ≤15.2mA
- Sleep current: ≤ 3.9uA
- Sleep time: optional 2S, 4S, 6S, 8S, 10S
- Breathing time: optional 2ms, 4ms, 8ms, 16ms, 32ms, 64ms
- Time to wake up: wake up immediately
- Communication interface: TTL serial communication
- Serial transmission speed: 1200 x 57600,9600bps (default)
- Serial port verification: 8E1.8O1.8N1 (optional)
- Operating temperature: -40oC – + 80oC
- Product size: 34.2 * 18.4mm / 1.35 * 0.72 inch
Data Sheets
PIN OUT
Connection Module with Serial USB adapter
SETTINGS
For some applications, default parameters may not be the best
option, so users may need to change the parameters There are two ways to adjust them: by MCU or by PC. In
configuration mode, the EN pin must be connected to
GND and then the configuration tool or commands can work effectively
By PC: DORJI offers a PC-based configuration tool
that can be used to change parameters through the graphical interface. Users can insert the DRF1278DM module into
serial usb adapter, and connect them to the computer and run the configuration tool.
DRF TOOL
This tool allows us to configure the LoRa MODULES DRF1278DM and DRF1276DM
Download—>DRFTOOL
Program description
UART -> Values are set to 9.6k bps and no parity check
RF frequency–> Indicates the central frequency of the RF carrier
RF Mode–> Standard Mode, Center Mode and Node Mode
RF_Factor–> Lora Scatter Factor. A higher value means
higher sensitivity but longer air transmission time. Only users can change it in standard mode
RF_BW–> Lora bandwidth. Higher value means less sensitivity. Recommended value: 125K. Only users can change it in standard mode.
Node ID–> Used only for node-mode modules: 0x65535
Net ID–> Only modules with the same network ID (0 x
255) can communicate with each other. You can avoid module interference
Power–> Used to configure the output power of the DRF1278D. There are 7 power levels. The 7 means the maximum. output power: 20dBm and 0 means the lowest output power
Breath–> The activation period for the module in node mode. Only available for firmware 2.0 or higher
Wake timer–> Time to detect wireless signal during break period, is only available for
firmware 2.7 or higher
Serial transmission rate–> Sets the data rate between DRF1278DM and the host (pc or microcontroller)
Serial Parity–> Defines the parity check between DRF1278DM and the host (pc or microcontroller)
STANDARD MODE Standard
mode is also called transparent mode in
which the module receives or sends data to the host over the serial port (UART) in the preset data format and users do not need to worry about the data processing within the module. The DRF1278DM AUX
pin will give indication about the IN/OUT data of the serial port 2 ms in advance, which can be used to wake up the host. In this mode, the EN pin must be set to
low logic in case the module enters deep sleep.
In STANDARD or transparent mode, nodes can work with a point-to-point (P2P) connection the main feature in this way is that no intermediary device is required to manage communication, devices can send information directly between them, this is perfect for simple communications such as turning on a light.
The other way is with a star network type where we find a central node that manages the network, its disadvantage is that it is limited to 255 255-node networks* and that the coordinator node can only listen to one node at a time.
STAR NETWORK MODE In
this mode, a DRF1278DM module needs to establish a module as a central module
and other modules must be node modules for star networks. For the central module, it works
at full performance so its power consumption is
the same as in standard mode and the EN pin must be connected to the low logic. The logical level of the
SET pin for the central module must be the same as the node module.
Printed circuit
Download the gerber file in –> Gerber_GPS_TRACKER_LORA_ARDUINO
Male pins
30-pin socket for Arduino
Cicuito web server
#include <SoftwareSerial.h>//Librería para emular un puerto serial por software
#include <TinyGPS.h>//Librería para obtener datos del GPS
TinyGPS gps;
SoftwareSerial ss(4, 3);//Pines donde conectaremos el módulo GPS
void setup()
{
Serial.begin(9600);//Velocidad del puerto serial del Arduino
ss.begin(9600);//Velocidad del módulo GPS
Serial.println("Iniciando envío de coordenadas con TinyGPS v. "); Serial.println(TinyGPS::library_version());
}
void loop()
{
bool nuevosDatos = false;
unsigned long caracteres;
unsigned short sentencias, fallas;
// Analizamos si hay datos del módulo GPS cada 5 segundos
for (unsigned long start = millis(); millis() - start < 5000;)
{
while (ss.available())//Se cumple mientras hay datos disponibles desde el GPS
{
char c = ss.read();
if (gps.encode(c)) // Si hay datos validos
nuevosDatos = true;//Asignamos un valor "true" a la variable
}
}
if (nuevosDatos)
{
float flat, flon;//Variables para almacenar la latitud y longitud
gps.f_get_position(&flat, &flon);
Serial.print("https://maps.google.com/maps?q=");//Formato url de google maps
Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);//Obtenemos la latitud
Serial.print(",");
Serial.println(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);//Obtenemos la longitud
}
//En el caso de que exista una mala conexión con el GPS, en el cableado, nos enviará una alerta
gps.stats(&caracteres, &sentencias, &fallas);
if (caracteres == 0)
Serial.println("*No se han recibido caracteres del GPS: compruebe el cableado*");
}
// Canal de youtube http://www.youtube.com/user/carlosvolt?sub_confirmation=1
//Tik-Tok https://www.tiktok.com/@carlosvolt
//https://www.instagram.com/carlosvolt_electronic_robotic
#include <WiFi.h>
#include <Wire.h>
String cadena;
//Pines 16 y 17 para el módulo LORA
#define RXD2 16
#define TXD2 17
//Atos de nuestra red wifi
const char* ssid = "Tu_red_wifi";
const char* password = "Tu_clave_wifi";
WiFiServer server(80);//Puerto 80 para el navegador wep
void setup() {
Serial.begin(9600);//Velocidad del puerto Serial 1
Serial2.begin(9600,SERIAL_8N1,RXD2,TXD2);//Configuración del puerto serial 2
//Intentamos conectarnos a la red wifi
Serial.print("Conectando a la red WiFi");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
//Si todo salió bien nos asigna una dirección ip que debemos colocar en el navegador
Serial.println("Conectado con éxito a la red WiFi.");
Serial.println("La dirección IP es: ");
Serial.println(WiFi.localIP());
server.begin();
Serial.println("Servidor iniciado");
delay(2000);
}
void loop()
{
// Lectura de los caracteres en el terminal serial(si estan disponibles desde el módulo LORA)
if (Serial2.available()) {
cadena = String("");
while (Serial2.available()) {
cadena = cadena + char(Serial2.read());
delay(1);
}
}
//////Se cumple esta condición cada 5 segundos
WiFiClient client = server.available();
if (client)//Si se cumple la condición, mostramos dotos en el webserver
{
Serial.println("Cliente web conectado ");
String request = client.readStringUntil('\r');
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println("Connection: close");
client.println("Refresh: 5");//Refresco de la página web cada 5 segundos
client.println();
client.println("<!DOCTYPE html><html>");
client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
client.println("<link rel=\"icon\" href=\"data:,\">");
client.println("</style></head><body><h1>Servidor Web con esp32 Gps Tracker arduino y Modulo LORA</h1>");
client.println("<h2>Tipo de GPS: GT-U7</h2>");
client.println("<h2>www.rogerbit.com</h2>");
client.println("<table><tr><th>Datos Obtenidos</th><th>Ubicacion</th></tr>");
client.println("<tr><td>Latitud y longitud:</td><td><span class=\"sensor\">");
client.println("<a href=");
client.println(cadena);//Datos de lalitud y longitud
client.println(">");
client.println(cadena);//Datos de lalitud y longitud para que los muestre como un hiper vinculo
client.println("</a>");
client.println("</span></td></tr>");
client.println("</body></html>");
client.stop();
client.println();
Serial.println("Client disconnected.");
Serial.println("");
}
}
Full project image with GPS tracker and webserver.
GPS tracker without cellular network with LORA module
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(5)
- Likes(8)
- Engineer Oct 01,2024
- Engineer Dec 11,2023
- CarlosVolt Tutoriales Sep 12,2023
- Engineer Apr 10,2023
- Sebastian Mackowiak Mar 23,2023
- Engineer Mar 20,2022
- MUHAAB Jun 06,2021
- Engineer Jan 12,2021
- 1 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
10design
-
10usability
-
10creativity
-
10content
More by CarlosVolt Tutoriales
- Infrared stepper motor control with speed control More info and updates https://rogerbit.com/wprb/2024/09/motor-paso-a-paso-x-infrarrojo/In this proje...
- Uploading BME280 Sensor Data to ThingSpeak Using ESP32 In this tutorial, we will show you how to connect a BME280 sensor to an ESP32 to read temperature, h...
- Water pump control for irrigation via telegram and esp32 Water Pump Control by Telegram and ESP32 is an automated system that allows you to remotely control ...
- Air conditioning on/off control via telegram and esp32 In this tutorial we will see how to control an air conditioner, with an esp32 and the telegram appli...
- 35 watt stereo amplifier In this video we will see how to build an audio amplifier, with the TDA7377 integrated circuit, and ...
- Laser alarm with RFID module More info and updates in https://rogerbit.com/wprb/2024/08/alarma-laser-rfid/In this project, we bui...
- Control lights by voice commands and keys In this tutorial we will see how to create a device to control lights by voice commands, with a modu...
- Stepper motor control x bluetooth and app In this tutorial we will see a circuit, which controls a stepper motor, with an application made in ...
- DFplayermini x bluetooth mp3 player control More info and updates in https://rogerbit.com/wprb/2022/12/dfplayermini-x-bluetooth/In this tutorial...
- Robot with WiFi control and servos driven by ESP32 More info and updates in https://rogerbit.com/wprb/2023/07/robot-wifi/A robot controlled by Wi-Fi, s...
- How to make a water level meter with uln2803 In this tutorial we will see how to make a water level meter circuit with the built-in uln2803.The p...
- DTMF decoder for handy with arduino, control over several kilometers In this tutorial we will see how to make a circuit to connect to our handy, in this case a Baofeng U...
- Turn on light from thindspeak with esp32 In this tutorial, we will show you how to control lights over the Internet using an ESP32 and the Th...
- MP3 player control with webserver using ESP32 WIFI In this tutorial, you will learn how to build a web server using the ESP32 to control the YX5300 mod...
- Time clock with fingerprint IoT module, uploading data to thingspeak More info in and updates in https://rogerbit.com/wprb/2022/07/reloj-de-control-fingerprint/In this t...
- Make your own logic tip (includes printed circuit board) In this video tutorial we will see how to make a logic tip, on a printed circuit, with the integrate...
- Coil or inductor meter with Arduino and OLED display More info and updates in https://rogerbit.com/wprb/2022/06/medidor-inductores/In this tutorial we wi...
- Turn on Light with Reyax RYLR896 LoRa Modules with Acknowledgement In this tutorial, you will learn how to use the Reyax RYLR896 LoRa modules to wirelessly and reliabl...
-
-
-
-
-
-
3D printed Enclosure Backplate for Riden RD60xx power supplies
153 1 1 -
-