Innholdsfortegnelse:
- Trinn 1: Bygg basestasjon
- Trinn 2: Den første testen
- Trinn 3: Lag grensesnittet
- Trinn 4: Legg til måler
- Trinn 5: Dra Gauge GPS og legg til OpenStreetMap
- Trinn 6: Dra GPS -måler og Legg til tabelllogg
- Trinn 7: Få kode
- Trinn 8: Arduino IDE
- Trinn 9: Kodingsdetaljer
Video: Arduino Project: Test Range LoRa -modul RF1276 for GPS -sporing: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Tilkobling: USB - Seriell
Behov: Chrome -nettleser
Behov: 1 X Arduino Mega
Trenger: 1 X GPS
Trenger: 1 X SD -kort
Behov: 2 X LoRa -modem RF1276
Funksjon: Arduino Send GPS-verdi til hovedbasen-Hovedbase lagrer data i Dataino Server Lora Module: Ultra lang rekkevidde RF1276 fra APPCONWIRELESS LoRa er en ny, privat og spredt spektrum modulasjonsteknikk som gjør det mulig å sende data med ekstremt lave datahastigheter til ekstremt lange avstander. Den lave datahastigheten (ned til få byte per sekund) og LoRa-modulering fører til svært lav mottakerfølsomhet, betyr i denne testen mer enn 10 km.
Trinn 1: Bygg basestasjon
Datamaskinbredde Internett -tilkobling og et LoRa -modem koblet til USB -port.
Arduino bilmonteringssett ·
Den metriske boksen
Anduino Mega koblet til seriell 2 til GPS -mottaker, og serie 1 til LoRa -modem. Et SD -kort brukes til lagringsdata.
Trinn 2: Den første testen
· 10,6 km på en sti gjennom bysentre, gallerier og langs kysten laget med løkker
Forholdet mellom mottak /overføring har vært på 321 /500TX punkt
RX -punkt
Trinn 3: Lag grensesnittet
1 - Sett opp et nytt prosjekt LoRa
Trykk på ikonet for å åpne prosjektkonfigurasjonen
Trinn 4: Legg til måler
2) Åpne målerens glidebryter.
· 3) Bla til GPS -en.
· 4) Legg en til skrivebordet.
Trinn 5: Dra Gauge GPS og legg til OpenStreetMap
· 5) Legg til OpenStreetMap -kartet på skrivebordet
Når du drar komponent -GPS -en på ikonet, genereres OpenStreet -kart.
Lag grensesnittet
· 6) Endre kartoppdatering
Endre kartoppdateringstiden fra 5000 til 10000
Trinn 6: Dra GPS -måler og Legg til tabelllogg
· 7) Legg til en tabellloggmåler.
Ved å dra måleren over GPS -ikonet tabellen opprettes målertabelloggen
· 8) Endre tabellloggoppdatering. Endre kartoppdateringstiden fra 5000 til 10000
Juster posisjonen til målerne
· 9) Dragmålere justerer posisjonen til målerne ved å dra dem over skjermen.
· 10) Lagre prosjekt
Trinn 7: Få kode
10) Aktiver kodebeholder
Knapp øverst til høyre, velg alle og kopier grunnkoden.
Trinn 8: Arduino IDE
· 11) Lim inn koden på Arduino IDE
· 12) Rediger kode Legg til denne linjen i definisjonen
Trinn 9: Kodingsdetaljer
Legg til denne linjen i definisjonen
//*************************************************************************
// ** BIBLIOTEK ** // ***************************************** ********************************
#inkludere // ++ GPS -bibliotek
#include // ++ SPI -bibliotek #include
// ++ SD -bibliotek //
*************************************************************************
// ** SD ** // ***************************************** ********************************
// * SD -kort festet til SPI -bussen som følger:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (CS -pin kan endres) og pin #10 (SS) må være en utgang
// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (CS -pin kan endres) og pin #52 (SS) må være en utgang
// ** Leonardo: Koble til maskinvare -SPI via ICSP -toppteksten
// Pin 4 brukt her for konsistens med andre Arduino -eksempler const int chipSelect = 53;
// ++ SD -pinvelger
//*************************************************************************
// ** GPS ** // ***************************************** ********************************
TinyGPS gps; // ++ GPS på Serial2
void gpsdump (TinyGPS & gps); // ++
bool newdataGPS = false; // ++
Legg til denne linjen i oppsettet ()
//***********************************************************************
// ** GPS -seriell oppsett ** // *************************************** ********************************
Serial2.begin (9600); // ++
forsinkelse (1000); // ++
//***********************************************************************
// ** SD -initialisering ** // **************************************** *******************************
// sørg for at standard chip -valgnål er satt til // ++
// output, selv om du ikke bruker den: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("Initialiserer SD -kort …")); // ++
// se om kortet er tilstede og kan initialiseres: // ++
hvis (! SD.begin (chipSelect)) {// ++
Serial.println (F ("Kort mislyktes, eller finnes ikke")); // ++
// ikke gjør noe mer: // ++
komme tilbake; // ++
} annet {// ++
Serial.println (F ("SD -kort OK")); // ++
} // ++
Legg til disse linjene i loop () void
serialEvent2 (); // ++ ring GPS -seriell hendelse
Legg til SeriaEvent2 -kode
//*************************************************************************
// ** GPS serialEvent ** // **************************************** ********************************
void serialEvent2 () {// ++
mens (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
//Serial.print(c); // uncomment for å se rå GPS -data // ++
hvis (gps.encode (c)) {// ++
newdataGPS = true; // ++
gå i stykker; // kommenterer ikke å skrive ut nye data umiddelbart! // ++
} // ++
} // ++
} // ++
Legg til GPS dump voud
//*************************************************************************
// ** gps dump ** // **************************************** ********************************
// ** Gyldig breddegrad i grader er -90 og +90. **
// ** Lengdegrad er i området -180 og +180 **
// ** spesifiserer øst-vest-posisjon **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS & gps) // ++
{ // ++
int år; // ++
byte måned, dag, time, minutt, sekund, hundredeler; // ++
usignert lang alder; // ++
gps.f_get_position (& LATGP00, & LONGP00, & alder); // ++
gps.crack_datetime (& år, & måned, & dag, & time, // ++
& minutt, & andre, & hundredeler, & alder); // ++
lang lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** lag en streng for å samle data til logg: **
// *********************************************************************
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 (måned)); // ++
dataString += "/"; // ++
dataString += String (år); // ++
dataString += ";"; // ++
dataString += String (static_cast (time)); // ++
dataString += ":"; // ++
dataString += String (static_cast (minutt)); // ++
dataString += ":"; // ++
dataString += String (static_cast (sekund)); // ++ // ******************************************** *****************************
// ** LAGRE TIL SD ** // *************************************** *********************************
// åpne filen. Vær oppmerksom på at bare en fil kan være åpen om gangen, **
// så du må lukke denne før du åpner en annen. ** // ********************************************** ****************************
Fil dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** hvis filen er tilgjengelig, skriv til den: **
// ***********************************************************************
if (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} annet {// ++
Serial.println (F ("FEIL SD -skrive")); // ++
} // ++
}
Hvis du vil laste ned koden, kan du gå til denne siden.
Anbefalt:
LoRa GPS Tracker/Pager: 9 trinn (med bilder)
LoRa GPS Tracker/Pager: --- En enhet som kombinerer sanntids posisjonssporing og toveis personsøker, over et LoRa mesh-nettverk .--- Jeg har blitt kontaktet av en rekke personer i søk og redning (SAR) som er interessert i de andre Ripple LoRa mesh -prosjektene jeg har jobbet
Sammenligning av LV-MaxSonar-EZ og HC-SR04 Sonar Range Finders med Arduino: 20 trinn (med bilder)
Sammenligning av LV-MaxSonar-EZ og HC-SR04 Sonar Range Finders med Arduino: Jeg finner ut at mange prosjekter (spesielt roboter) krever, eller kan ha nytte av, å måle avstanden til et objekt i sanntid. Sonar-avstandsfindere er relativt rimelige og kan enkelt kobles til en mikrokontroller som Arduino. Dette i
LoRa GPS Tracker: 6 trinn (med bilder)
LoRa GPS Tracker: Dette prosjektet vil vise hvordan du monterer din egen GPS -trackermodul, for bruk med Ripple LoRa mesh -nettverk. Se denne ledsageartikkelen for informasjon: https://www.instructables.com/id/LoRa-Mesh-Radio/Disse sporingsmodulene bruker Semtech LoRa-radioene, og
Kontroller hvitevarer over LoRa - LoRa i hjemmeautomatisering - LoRa fjernkontroll: 8 trinn
Kontroller hvitevarer over LoRa | LoRa i hjemmeautomatisering | LoRa fjernkontroll: Kontroller og automatiser dine elektriske apparater fra lange avstander (kilometer) uten tilstedeværelse av internett. Dette er mulig gjennom LoRa! Hei, hva skjer, folkens? Akarsh her fra CETech. Denne PCB har også en OLED -skjerm og 3 reléer som en
GÅR UTEN HORIZONEN MED LoRa RF1276: 12 trinn
GÅR UTEN HORIZONEN MED LoRa RF1276: Jeg har funnet RF1276 Transceiver for å levere den mest fremragende ytelsen når det gjelder signalområde og kvalitet. På min første flytur klarte jeg å nå 56 km avstand ved -70dB signalnivå med små kvart bølgelengde antenner