Cuprins:

Proiect Arduino: Gama de testare a modulului LoRa RF1276 pentru urmărirea GPS Soluție: 9 pași (cu imagini)
Proiect Arduino: Gama de testare a modulului LoRa RF1276 pentru urmărirea GPS Soluție: 9 pași (cu imagini)

Video: Proiect Arduino: Gama de testare a modulului LoRa RF1276 pentru urmărirea GPS Soluție: 9 pași (cu imagini)

Video: Proiect Arduino: Gama de testare a modulului LoRa RF1276 pentru urmărirea GPS Soluție: 9 pași (cu imagini)
Video: Hablemos de antena Tracker #antena de seguimiento #eagle tree systems #mfd crossbow #u360gts #esàñol 2024, Noiembrie
Anonim
Proiect Arduino: Test Range Module LoRa RF1276 pentru soluție de urmărire GPS
Proiect Arduino: Test Range Module LoRa RF1276 pentru soluție de urmărire GPS

Conexiune: USB - Serial

Necesitate: browserul Chrome

Necesitate: 1 X Arduino Mega

Necesitate: 1 X GPS

Necesitate: 1 card SD

Necesitate: 2 X LoRa Modem RF1276

Funcție: Arduino Trimite valoarea GPS la baza principală - Datele principale de stocare a bazei în modulul Datora Server Lora: RF1276 cu rază de acțiune ultra lungă de la APPCONWIRELESS LoRa este o nouă tehnică de modulare privată și cu spectru larg care permite trimiterea de date la rate de date extrem de mici raze lungi. Rata de date scăzută (până la câțiva octeți pe secundă) și modulația LoRa duc la o sensibilitate foarte mică a receptorului, ceea ce înseamnă că în acest test înseamnă mai mult de 10 km.

Pasul 1: Construirea stației de bază

Stația de bază a clădirii
Stația de bază a clădirii
Stația de bază a clădirii
Stația de bază a clădirii

Conexiune la internet la lățimea computerului și un modem LoRa conectat la portul USB.

Set auto Arduino ·

Cutia metrică

Anduino Mega conectat la serial 2 la receptor GPS și Serial 1 la modem LoRa. Un card SD este utilizat pentru stocarea datelor.

Pasul 2: Primul test

Primul test
Primul test

· 10,6 Km pe o cale prin centre urbane, galerii și de-a lungul coastei realizate cu bucle

Raportul recepție / transmisie a fost de 321 / 500TX punct

Punctul RX

Pasul 3: Creați interfața

Creați interfața
Creați interfața
Creați interfața
Creați interfața

1 - Configurați un nou proiect LoRa

Apăsați pictograma cog pentru a deschide configurarea proiectului

Pasul 4: Adăugați un indicator

Adăugați Calibru
Adăugați Calibru

2) Deschideți glisorul manometrului.

· 3) Derulați la GPS.

· 4) Adăugați unul la birou.

Pasul 5: Trageți GPS Gauge și adăugați OpenStreetMap

Trageți GPS Gauge și adăugați OpenStreetMap
Trageți GPS Gauge și adăugați OpenStreetMap
Trageți GPS Gauge și adăugați OpenStreetMap
Trageți GPS Gauge și adăugați OpenStreetMap

· 5) Adăugați harta OpenStreetMap la birou

Tragând componenta GPS pe harta pictogramei, se generează harta OpenStreet.

Creați interfața

· 6) Schimbați reîmprospătarea hărții

Modificați timpul de reîmprospătare a hărții de la 5000 la 10000

Pasul 6: Trageți indicatorul GPS și adăugați jurnalul tabelului

Trageți indicatorul GPS și adăugați jurnalul tabelului
Trageți indicatorul GPS și adăugați jurnalul tabelului

· 7) Adăugați un indicator de tabel.

Prin tragerea manometrului deasupra tabelului cu pictograme GPS se creează jurnalul tabelului manometrului

· 8) Schimbați actualizarea jurnalului tabelului. Modificați timpul de reîmprospătare a hărții de la 5000 la 10000

Reglați poziția indicatorilor

· 9) Indicatoarele de glisare ajustează poziția indicatorilor prin glisarea lor pe ecran.

· 10) Salvați proiectul

Pasul 7: Obțineți codul

Obțineți codul
Obțineți codul

10) Activați containerul de cod

Butonul din butonul din dreapta sus, selectați toate și copiați codul de bază.

Pasul 8: Arduino IDE

IDE Arduino
IDE Arduino

· 11) Lipiți codul pe Arduino IDE

· 12) Editați codul Adăugați această linie în definiție

Pasul 9: Detalii de codare

Adăugați această linie în definiție

//*************************************************************************

// ** BIBLIOTECĂ ** // ****************************************** *********************************

#include // ++ biblioteca GPS

#include // ++ biblioteca SPI #include

// ++ biblioteca SD //

*************************************************************************

// ** SD ** // ***************************************** *********************************

// * Card SD atașat la magistrala SPI după cum urmează:

// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4

// (pinul CS poate fi schimbat) și pinul # 10 (SS) trebuie să fie o ieșire

// ** Mega: MOSI - pinul 51, MISO - pinul 50, CLK - pinul 52, CS - pinul 53

// (pinul CS poate fi schimbat) și pinul # 52 (SS) trebuie să fie o ieșire

// ** Leonardo: Conectați-vă la hardware SPI prin antetul ICSP

// Pinul 4 utilizat aici pentru consistența cu alte exemple Arduino const int chipSelect = 53;

// ++ selector pin SD

//*************************************************************************

//** GPS ** //***************************************** *********************************

GPS TinyGPS; // ++ GPS pe Serial2

void gpsdump (TinyGPS & gps); // ++

bool newdataGPS = false; // ++

Adăugați această linie în setare ()

//***********************************************************************

// ** Configurare serial GPS ** // **************************************** *********************************

Serial2.begin (9600); // ++

întârziere (1000); // ++

//***********************************************************************

// ** Initializarea SD ** // ***************************************** ********************************

// asigurați-vă că pinul implicit de selectare a cipului este setat la // ++

// ieșire, chiar dacă nu o utilizați: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("Inițializarea cardului SD …")); // ++

// vezi dacă cardul este prezent și poate fi inițializat: // ++

if (! SD.begin (chipSelect)) {// ++

Serial.println (F („Cardul a eșuat sau nu este prezent”)); // ++

// nu mai face nimic: // ++

întoarcere; // ++

} else {// ++

Serial.println (F ("card SD OK")); // ++

} // ++

Adăugați aceste linii în bucla () void

serialEvent2 (); // ++ apel eveniment GPS serial

Adăugați codul SeriaEvent2

//*************************************************************************

// ** GPS serialEvent ** // ***************************************** **********************************

void serialEvent2 () {// ++

while (Serial2.available ()) {// ++

char c = Serial2.read (); // ++

//Serial.print(c); // decomentează pentru a vedea datele GPS brute // ++

if (gps.encode (c)) {// ++

newdataGPS = adevărat; // ++

pauză; // decomentează pentru a tipări date noi imediat! // ++

} // ++

} // ++

} // ++

Adaugă GPS dump voud

//*************************************************************************

// ** gps dump ** // ***************************************** **********************************

// ** Intervalul valid de latitudine în grade este -90 și +90. **

// ** Longitudinea este cuprinsă între -180 și +180 **

// ** specificarea poziției est-vest **

//** "123456789 1234567890" **

//** "000.00000;0000.00000" ** //*************************************************************************

void gpsdump (TinyGPS & gps) // ++

{ // ++

int an; // ++

octeți lună, zi, oră, minut, secundă, sutimi; // ++

vârsta lungă nesemnată; // ++

gps.f_get_position (& LATGP00, & LONGP00 și & age); // ++

gps.crack_datetime (& anul, & luna, & ziua, & ora, // ++

& minut, & al doilea, & sutimi, & vârstă); // ++

lung lat, lon; // ++

gps.get_position (& lat, & lon, & age); // ++

// *********************************************************************

// ** faceți un șir pentru asamblarea datelor în jurnal: **

// *********************************************************************

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 (day)); // ++

dataString + = "/"; // ++

dataString + = String (static_cast (luna)); // ++

dataString + = "/"; // ++

dataString + = String (year); // ++

dataString + = ";"; // ++

dataString + = String (static_cast (hour)); // ++

dataString + = ":"; // ++

dataString + = String (static_cast (minute)); // ++

dataString + = ":"; // ++

dataString + = String (static_cast (second)); // ++ // ********************************************* *****************************

// ** SAVE TO SD ** // *************************************** ***********************************

// deschideți fișierul. rețineți că poate fi deschis un singur fișier simultan, **

// deci trebuie să o închideți înainte de a deschide alta. ** // ********************************************** ***************************

Fișier dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++

// ***********************************************************************

// ** dacă fișierul este disponibil, scrieți-l: **

// ***********************************************************************

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} else {// ++

Serial.println (F ("ERROR SD Write")); // ++

} // ++

}

Dacă doriți să descărcați codul, vă rugăm să vizitați această pagină.

Recomandat: