Inhoudsopgave:
- Stap 1: Basisstation bouwen
- Stap 2: De eerste test
- Stap 3: Maak de interface
- Stap 4: Meter toevoegen
- Stap 5: Sleep Gauge GPS en voeg OpenStreetMap toe
- Stap 6: GPS-meter slepen en tabellogboek toevoegen
- Stap 7: code ophalen
- Stap 8: Arduino IDE
- Stap 9: coderingsdetails
Video: Arduino-project: testbereik LoRa-module RF1276 voor GPS-trackingoplossing - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Aansluiting: USB - Serieel
Nodig: Chrome-browser
Nodig: 1 X Arduino Mega
Nodig: 1 X GPS
Nodig: 1 X SD-kaart:
Behoefte: 2 X LoRa-modem RF1276
Functie: Arduino Stuur GPS-waarde naar hoofdbasis - Hoofdbasis slaat gegevens op in Dataino Server Lora Module: Ultra long range RF1276 van APPCONWIRELESS LoRa is een nieuwe, private en spread-spectrum modulatietechniek waarmee gegevens met extreem lage datasnelheden naar extreem lage lange afstanden. De lage datasnelheid (tot enkele bytes per seconde) en LoRa-modulatie leiden tot een zeer lage ontvangergevoeligheid, wat in deze test betekent meer dan 10 km.
Stap 1: Basisstation bouwen
Computerbrede internetverbinding en een LoRa-modem aangesloten op de USB-poort.
Arduino Carkit ·
Het metrische vak
Anduino Mega aangesloten op serieel 2 op GPS-ontvanger en serieel 1 op LoRa-modem. Voor het opslaan van gegevens wordt een SD-kaart gebruikt.
Stap 2: De eerste test
· 10,6 Km op een pad door stedelijke centra, galerijen en langs de kust gemaakt met lussen
De verhouding tussen ontvangst / verzending was 321/500TX punt
RX-punt
Stap 3: Maak de interface
1 - Een nieuw project LoRa. opzetten
Druk op het pictogram tandwiel om de projectconfiguratie te openen
Stap 4: Meter toevoegen
2) Open de meterschuif.
· 3) Scroll naar de GPS.
· 4) Voeg er een toe aan het bureau.
Stap 5: Sleep Gauge GPS en voeg OpenStreetMap toe
· 5) OpenStreetMap-kaart toevoegen aan bureau
Door de component GPS op de pictogramkaart te slepen, wordt de OpenStreet-kaart gegenereerd.
Maak de interface
· 6) Wijzig kaartvernieuwing
Wijzig de verversingstijd van de kaart van 5000 in 10000
Stap 6: GPS-meter slepen en tabellogboek toevoegen
· 7) Voeg een tabellogmeter toe.
Door de meter boven de GPS-pictogramtabel te slepen, wordt een metertabellogboek gemaakt
· 8) Wijzig tabel log verversen. Wijzig de verversingstijd van de kaart van 5000 in 10000
Pas de positie van de meters aan
· 9) Sleepmeters pas de positie van de meters aan door ze over het scherm te slepen.
· 10) Project opslaan
Stap 7: code ophalen
10) Activeer codecontainer
Knop op knop rechtsboven, alles selecteren en basiscode kopiëren.
Stap 8: Arduino IDE
· 11) Plak code op Arduino IDE
· 12) Bewerk code Voeg deze regel toe aan de definitie
Stap 9: coderingsdetails
Voeg deze regel toe aan de definitie
//*************************************************************************
//** BIBLIOTHEEK ** //***************************************** *******************************
#include // ++ GPS-bibliotheek
#include // ++ SPI-bibliotheek #include
// ++ SD-bibliotheek//
*************************************************************************
//** SD ** //********************************************* *******************************
// * SD-kaart als volgt aangesloten op de SPI-bus:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (CS-pin kan worden gewijzigd) en pin #10 (SS) moet een uitvoer zijn
// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (CS-pin kan worden gewijzigd) en pin #52 (SS) moet een uitvoer zijn
// ** Leonardo: maak verbinding met hardware-SPI via de ICSP-header
// Pin 4 hier gebruikt voor consistentie met andere Arduino-voorbeelden const int chipSelect = 53;
// ++ SD-pinkiezer
//*************************************************************************
//** GPS ** //***************************************** *******************************
TinyGPS-gps; // ++ GPS op Serial2
ongeldig gpsdump(TinyGPS &gps); // ++
bool newdataGPS = false; // ++
Voeg deze regel toe in de setup()
//***********************************************************************
//** Seriële GPS-setup ** //**************************************** *******************************
Serial2.begin (9600); // ++
vertraging (1000); // ++
//***********************************************************************
//** SD-initialisatie ** //**************************************** ******************************
// zorg ervoor dat de standaard chipselectiepin is ingesteld op // ++
// output, zelfs als je het niet gebruikt: // ++
pinMode (SS, UITGANG); // ++
Serial.println(F("Initialiseren SD-kaart…")); // ++
// kijk of de kaart aanwezig is en kan worden geïnitialiseerd: // ++
if (!SD.begin(chipSelect)) { // ++
Serial.println(F("Kaart mislukt, of niet aanwezig")); // ++
// doe niets meer: // ++
opbrengst; // ++
} anders { // ++
Serial.println(F ("SD-kaart OK")); // ++
} // ++
Voeg deze regels toe in loop() void
seriëleEvent2(); // ++ bel GPS seriële gebeurtenis
SeriaEvent2-code toevoegen
//*************************************************************************
//** GPS serialEvent ** //**************************************** *******************************
void serialEvent2() { // ++
while (Serial2.available()) { // ++
char c = Serial2.read(); // ++
//Serial.print(c); // uncomment om onbewerkte GPS-gegevens te zien // ++
if (gps.encode(c)) { // ++
nieuwedataGPS = waar; // ++
pauze; // uncomment om nieuwe gegevens onmiddellijk af te drukken! // ++
} // ++
} // ++
} // ++
GPS-dump toevoegen voud
//*************************************************************************
//** gps-dump ** //**************************************** *******************************
//** Het geldige breedtegraadbereik in graden is -90 en +90. **
//** Lengtegraad ligt tussen -180 en +180 **
//** met vermelding van de oost-west positie **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS & gps) // ++
{ // ++
int jaar; // ++
byte maand, dag, uur, minuut, seconde, honderdsten; // ++
ongetekende lange leeftijd; // ++
gps.f_get_position(&LATGP00, &LONGP00, &age); // ++
gps.crack_datetime(&jaar, &maand, &dag, &uur, // ++
&minuut, &seconde, &honderdsten, &leeftijd); // ++
lange lat, lon; // ++
gps.get_position(&lat, &lon, &age); // ++
// *********************************************************************
// ** maak een string voor het samenstellen van de gegevens om te loggen: **
// *********************************************************************
String dataString = ""; // ++
dataString += (lat / 100000); // ++
dataString += "."; // ++
dataString += lat - (lat / 100000) * 100000; // ++
dataString += ";"; // ++
dataString += (lon / 100000); // ++
dataString += "."; // ++
dataString += lon - (lon / 100000) * 100000; // ++
dataString += ";"; // ++
dataString += String (static_cast (dag)); // ++
dataString += "/"; // ++
dataString += String (static_cast (maand)); // ++
dataString += "/"; // ++
dataString += String (jaar); // ++
dataString += ";"; // ++
dataString += String (static_cast (uur)); // ++
dataString += ":"; // ++
dataString += String (static_cast (minuut)); // ++
dataString += ":"; // ++
dataString += String(static_cast(second)); // ++ //********************************************* **************************
//** OPSLAAN NAAR SD ** //**************************************** ***********************************
// open het bestand. merk op dat er slechts één bestand tegelijk kan zijn geopend, **
// dus je moet deze sluiten voordat je een andere opent. ** //************************************************** **************************
Bestand dataFile = SD.open("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** als het bestand beschikbaar is, schrijf ernaar: **
// ***********************************************************************
if (gegevensbestand) { // ++
dataFile.println(dataString); // ++
dataFile.close(); // ++
} anders { // ++
Serial.println(F("FOUT SD-schrijven")); // ++
} // ++
}
Ga naar deze pagina als je de code wilt downloaden.
Aanbevolen:
Installatie voor externe Bluetooth GPS-provider voor Android-apparaten: 8 stappen
Installatie voor externe Bluetooth GPS-provider voor Android-apparaten: deze instructable legt uit hoe u uw eigen externe Bluetooth-compatibele GPS voor uw telefoon kunt maken, wat dan ook voor ongeveer $ 10. Materiaallijst: NEO 6M U-blox GPSHC-05 bluetooth-module Kennis van interface Blutooth Low energy-modulesArdui
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
Huishoudelijke apparaten bedienen via LoRa - LoRa in Domotica - LoRa-afstandsbediening: 8 stappen
Huishoudelijke apparaten bedienen via LoRa | LoRa in Domotica | LoRa-afstandsbediening: bedien en automatiseer uw elektrische apparaten vanaf lange afstanden (kilometers) zonder de aanwezigheid van internet. Dit kan via LoRa! Hé, wat is er, jongens? Akarsh hier van CETech. Ook deze print heeft een OLED-display en 3 relais die een
Relaisbord voor Arduino voor minder dan $8: 5 stappen
Relaisbord voor Arduino voor minder dan $8.: Hallo vrienden, vandaag ga ik je vertellen hoe je een relaisbord voor Arduino maakt voor minder dan $8. In dit circuit gaan we geen IC of transistor gebruiken. Dus laten we het doen
Hoe u de DeLorme Earthmate GPS LT-20 aansluit op uw Google Earth voor een geweldige GPS-volgkaart: 5 stappen
Hoe u de DeLorme Earthmate GPS LT-20 met uw Google Earth verbindt voor een geweldige GPS-trackingkaart. Ik zal u laten zien hoe u een GPS-apparaat kunt verbinden met het populaire Google Earth-programma, zonder Google Earth Plus te gebruiken. Ik heb geen groot budget, dus ik kan garanderen dat dit zo goedkoop mogelijk zal zijn