Sadržaj:
- Korak 1: Izgradnja bazne stanice
- Korak 2: Prvi test
- Korak 3: Kreirajte sučelje
- Korak 4: Dodajte mjerač
- Korak 5: Povucite GPS mjerač i dodajte OpenStreetMap
- Korak 6: Povucite GPS mjerač i dodajte tablični dnevnik
- Korak 7: Nabavite kôd
- Korak 8: Arduino IDE
- Korak 9: Kodiranje detalja
Video: Arduino projekt: LoRa modul za testiranje RF1276 za rješenje za GPS praćenje: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Priključak: USB - serijski
Potrebno: Chrome preglednik
Potrebno: 1 X Arduino Mega
Potrebno: 1 X GPS
Potrebno: 1 x SD kartica
Potrebno: 2 X LoRa modema RF1276
Funkcija: Arduino Šaljite GPS vrijednost u glavnu bazu-Podaci glavne baze pohranjuju podatke u Dataino poslužiteljskom modulu Lora: RF1276 ultra velike udaljenosti iz APPCONWIRELESS-a LoRa je nova, privatna tehnika moduliranja s širokim spektrom koja omogućuje slanje podataka po izuzetno niskim brzinama prijenosa do ekstremno niskih brzina prijenosa podataka velike domete. Niska brzina prijenosa podataka (do nekoliko bajtova u sekundi) i LoRa modulacija dovode do vrlo niske osjetljivosti prijemnika, što znači da u ovom testu znači više od 10 km.
Korak 1: Izgradnja bazne stanice
Internetska širina računara i LoRa modem spojeni na USB priključak.
Arduino automobilski komplet ·
Metrička kutija
Anduino Mega povezan serijskim 2 na GPS prijemnik, a serijski 1 na LoRa modem. Za pohranu podataka koristi se SD kartica.
Korak 2: Prvi test
· 10,6 km na stazi kroz urbana središta, galerije i uz obalu napravljenu petljama
Odnos prijema /prenosa je 321 /500TX tačka
RX tačka
Korak 3: Kreirajte sučelje
1 - Postavite novi projekt LoRa
Pritisnite ikonu zupčanika da otvorite konfiguraciju projekta
Korak 4: Dodajte mjerač
2) Otvorite klizač mjerača.
· 3) Pomaknite se do GPS -a.
· 4) Dodajte jednu na stol.
Korak 5: Povucite GPS mjerač i dodajte OpenStreetMap
· 5) Dodajte OpenStreetMap kartu radnom stolu
Povlačenjem komponentnog GPS -a na mapu ikona, generira se OpenStreet karta.
Kreirajte interfejs
· 6) Promijenite osvježavanje karte
Promijenite vrijeme osvježavanja karte sa 5000 na 10000
Korak 6: Povucite GPS mjerač i dodajte tablični dnevnik
· 7) Dodajte mjerač tabličnog dnevnika.
Povlačenjem mjerača iznad tablice ikona GPS -a stvara se dnevnik tablice mjerača
· 8) Promijenite osvježavanje dnevnika tablice. Promijenite vrijeme osvježavanja karte sa 5000 na 10000
Podesite položaj mjerača
· 9) Mjerači za povlačenje prilagođavaju položaj mjerača povlačenjem po ekranu.
· 10) Sačuvajte projekat
Korak 7: Nabavite kôd
10) Aktivirajte spremnik kodova
Dugme u gornjem desnom kutu, odaberite sve i kopirajte osnovni kôd.
Korak 8: Arduino IDE
· 11) Zalijepite kôd na Arduino IDE
· 12) Uredite kôd Dodajte ovaj red u definiciju
Korak 9: Kodiranje detalja
Dodajte ovu liniju u definiciju
//*************************************************************************
// ** BIBLIOTEKA ** // ***************************************** ********************************
#include // ++ GPS biblioteka
#include // ++ SPI biblioteka #include
// ++ SD biblioteka //
*************************************************************************
// ** SD ** // ***************************************** ********************************
// * SD kartica priključena na SPI sabirnicu na sljedeći način:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (CS pin se može promijeniti) i pin #10 (SS) moraju biti izlaz
// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (CS pin se može promijeniti) i pin #52 (SS) moraju biti izlaz
// ** Leonardo: Povežite se sa hardverskim SPI putem ICSP zaglavlja
// Pin 4 koji se ovdje koristi za usklađenost s drugim Arduino primjerima const int chipSelect = 53;
// ++ SD pin selektor
//*************************************************************************
//** GPS ** //***************************************** ********************************
TinyGPS gps; // ++ GPS na Serial2
void gpsdump (TinyGPS & gps); // ++
bool newdataGPS = false; // ++
Dodajte ovaj red u setup ()
//***********************************************************************
// ** GPS serijsko postavljanje ** // *************************************** ********************************
Serial2.begin (9600); // ++
kašnjenje (1000); // ++
//***********************************************************************
// ** SD inicijalizacija ** // **************************************** *******************************
// provjerite je li zadani pin za odabir čipa postavljen na // ++
// izlaz, čak i ako ga ne koristite: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("Inicijalizacija SD kartice …")); // ++
// vidjeti je li kartica prisutna i može li se inicijalizirati: // ++
if (! SD.begin (chipSelect)) {// ++
Serial.println (F ("Kartica nije uspjela ili je nema")); // ++
// ne radite ništa više: // ++
return; // ++
} else {// ++
Serial.println (F ("SD kartica u redu")); // ++
} // ++
Dodajte ove redove u loop () void
serialEvent2 (); // ++ poziv GPS serijski događaj
Dodajte kod SeriaEvent2
//*************************************************************************
// ** GPS serialEvent ** // ************************************** *********************************
void serialEvent2 () {// ++
while (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
//Serial.print(c); // uklonite komentar da biste vidjeli neobrađene GPS podatke // ++
if (gps.encode (c)) {// ++
newdataGPS = true; // ++
break; // uklonite komentar za ispisivanje novih podataka odmah! // ++
} // ++
} // ++
} // ++
Dodajte GPS dump voud
//*************************************************************************
// ** GPS dump ** // **************************************** *********************************
// ** Važeći raspon zemljopisne širine u stupnjevima je -90 i +90. **
// ** Geografska dužina je u rasponu -180 i +180 **
// ** određujući položaj istok-zapad **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS & gps) // ++
{ // ++
int godina; // ++
bajt mjesec, dan, sat, minut, sekunda, stotinke; // ++
nepotpisana duga dob; // ++
gps.f_get_position (& LATGP00, & LONGP00, & age); // ++
gps.crack_datetime (& godina, & mjesec, & dan, & sat, // ++
& minut, & drugi, & stoti, & dob); // ++
dugačak lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** napravite niz za sastavljanje podataka u dnevnik: **
// *********************************************************************
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 (dan)); // ++
dataString += "/"; // ++
dataString += String (static_cast (mesec)); // ++
dataString += "/"; // ++
dataString += String (godina); // ++
dataString += ";"; // ++
dataString += String (static_cast (sat)); // ++
dataString += ":"; // ++
dataString += String (static_cast (minuta)); // ++
dataString += ":"; // ++
dataString += String (static_cast (drugi)); // ++ // ******************************************** *****************************
// ** SPREMI NA SD ** // *************************************** ********************************
// otvaranje datoteke. imajte na umu da samo jedna datoteka može biti otvorena odjednom, **
// pa morate zatvoriti ovaj prije nego otvorite drugi. ** // ********************************************** ***************************
Datoteka dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** ako je datoteka dostupna, napišite joj: **
// ***********************************************************************
if (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} else {// ++
Serial.println (F ("ERROR SD Write")); // ++
} // ++
}
Ako želite preuzeti kôd, posjetite ovu stranicu.
Preporučuje se:
Praćenje i praćenje za male trgovine: 9 koraka (sa slikama)
Track & trace za male trgovine: Ovo je sistem koji je napravljen za male trgovine koje bi trebalo montirati na e-bicikle ili e-skutere za kratke isporuke, na primjer pekara koja želi isporučivati peciva. Track and Trace je sistem koji koriste ca
LoRa GPS praćenje: 6 koraka (sa slikama)
LoRa GPS Tracker: Ovaj projekt će pokazati kako sastaviti vlastiti GPS modul za praćenje, za upotrebu s mrežastim mrežama Ripple LoRa. Za više informacija pogledajte ovaj popratni članak: https://www.instructables.com/id/LoRa-Mesh-Radio/ Ovi moduli za praćenje koriste radio Sem Sem LoRa i
Vidjeli LoRa IoTea rješenje: 5 koraka
Vidjeli LoRa IoTea rješenje: Automatski sistem prikupljanja informacija primijenjen na plantaži čaja. To je dio inteligentnog prikupljanja poljoprivrednih informacija
Vidjeli IoTea LoRa rješenje (ažuriranje 1811): 5 koraka
Vidjeli IoTea LoRa rješenje (ažuriranje 1811): Internet+ je sada popularan koncept. Ovaj put smo pokušali putem Interneta i poljoprivrede napraviti vrt iz čaja iz interneta
Vidjeli IoTea LoRa rješenje (sa Azure, ažuriranje 1812): 5 koraka
Vidjeli IoTea LoRa rješenje (s Azureom, ažuriranje 1812): Microsoft Azure je usluga u oblaku koja pruža snažniju i stabilniju računalnu snagu. Ovaj put smo pokušali poslati svoje IoTea podatke