INHOUDSOPGAWE:

Arduino -projek: toetsreeks LoRa -module RF1276 vir GPS -opsporingsoplossing: 9 stappe (met foto's)
Arduino -projek: toetsreeks LoRa -module RF1276 vir GPS -opsporingsoplossing: 9 stappe (met foto's)

Video: Arduino -projek: toetsreeks LoRa -module RF1276 vir GPS -opsporingsoplossing: 9 stappe (met foto's)

Video: Arduino -projek: toetsreeks LoRa -module RF1276 vir GPS -opsporingsoplossing: 9 stappe (met foto's)
Video: ✅ Detector de incendios remoto con GPS y módulos Lora y arduino - PCBWay.es 2024, November
Anonim
Arduino -projek: toetsreeks LoRa -module RF1276 vir GPS -opsporingsoplossing
Arduino -projek: toetsreeks LoRa -module RF1276 vir GPS -opsporingsoplossing

Verbinding: USB - Reeks

Benodig: Chrome -blaaier

Benodig: 1 X Arduino Mega

Benodig: 1 X GPS

Benodig: 1 X SD -kaart

Benodig: 2 X LoRa -modem RF1276

Funksie: Arduino Stuur GPS-waarde na die hoofbasis-Hoofbasis stoor data in Dataino Server Lora-module: Ultra lang afstand RF1276 van APPCONWIRELESS LoRa is 'n nuwe, private en verspreidingspektrum modulasietegniek waarmee data teen uiters lae datatempo's na uiters lae data gestuur kan word lang afstande. Die lae datatempo (tot 'n paar grepe per sekonde) en LoRa-modulasie lei tot 'n baie lae ontvangergevoeligheid, wat beteken dat hierdie toets meer as 10km beteken.

Stap 1: Bou basisstasie

Bou basisstasie
Bou basisstasie
Bou basisstasie
Bou basisstasie

Rekenaarwydte internetverbinding en 'n LoRa -modem wat op 'n USB -poort gekoppel is.

Arduino Car Kit ·

Die metrieke boks

Anduino Mega is gekoppel aan reeks 2 aan die GPS -ontvanger en Serial 1 aan die LoRa -modem. 'N SD -kaart word gebruik vir stoor data.

Stap 2: Die eerste toets

Die eerste toets
Die eerste toets

· 10,6 km op 'n pad deur stedelike sentrums, galerye en langs die kus met lusse

Die verhouding van ontvangs /versending was 321 /500TX punt

RX punt

Stap 3: Skep die koppelvlak

Skep die koppelvlak
Skep die koppelvlak
Skep die koppelvlak
Skep die koppelvlak

1 - Stel 'n nuwe projek LoRa op

Druk op die ikoon om die konfigurasie van die projek oop te maak

Stap 4: Voeg meter by

Voeg meter by
Voeg meter by

2) Maak die maatskyfie oop.

· 3) Blaai na die GPS.

· 4) Voeg een by die lessenaar.

Stap 5: Sleep Gauge GPS en voeg OpenStreetMap by

Sleep GPS -meter en voeg OpenStreetMap by
Sleep GPS -meter en voeg OpenStreetMap by
Sleep GPS -meter en voeg OpenStreetMap by
Sleep GPS -meter en voeg OpenStreetMap by

· 5) Voeg OpenStreetMap -kaart by die lessenaar

Deur die komponent -GPS op die ikoonkaart te sleep, word OpenStreet -kaart gegenereer.

Skep die koppelvlak

· 6) Verander kaartverfris

Verander die herlaai -tyd van die kaart van 5000 na 10000

Stap 6: Sleep GPS -meter en voeg tabellogboek by

Sleep GPS -meter en voeg tabellogboek by
Sleep GPS -meter en voeg tabellogboek by

· 7) Voeg 'n tabel log meter by.

Deur die meter bo die GPS -ikoon -tabel te sleep, word 'n metertabel -log geskep

· 8) Verander die tabelopdatering. Verander die herlaai -tyd van die kaart van 5000 na 10000

Pas die posisie van die meters aan

· 9) Sleepmeters pas die posisie van die meters aan deur dit oor die skerm te sleep.

· 10) Stoor projek

Stap 7: Kry kode

Kry kode
Kry kode

10) Aktiveer kodehouer

Knoppie regs bo, kies alles en kopieer die basiskode.

Stap 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Plak kode op Arduino IDE

· 12) Wysig kode Voeg hierdie reël by in die definisie

Stap 9: Koderingsbesonderhede

Voeg hierdie reël by in die definisie

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

// ** BIBLIOTEKE ********************************

#sluit // ++ GPS -biblioteek in

#include // ++ SPI biblioteek #include

// ++ SD biblioteek //

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

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

// * SD -kaart is soos volg aan die SPI -bus geheg:

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

// (CS -pen kan verander word) en pen #10 (SS) moet 'n uitset wees

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

// (CS -pen kan verander word) en pen #52 (SS) moet 'n uitset wees

// ** Leonardo: Koppel aan hardeware SPI via die ICSP -kop

// Speld 4 wat hier gebruik word om in ooreenstemming te wees met ander Arduino -voorbeelde const int chipSelect = 53;

// ++ SD -pen selekteerder

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

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

TinyGPS gps; // ++ GPS op Serial2

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

bool newdataGPS = vals; // ++

Voeg hierdie reël by die opstelling ()

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

// ** Seriële opstelling van GPS ** // ************************************ ********************************

Reeks2. begin (9600); // ++

vertraging (1000); // ++

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

// ** SD -inisialisering *******************************

// maak seker dat die standaard chip -kiespen op // ++ gestel is

// uitvoer, selfs as u dit nie gebruik nie: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("Initialiseer SD -kaart …")); // ++

// kyk of die kaart teenwoordig is en geïnisialiseer kan word: // ++

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

Serial.println (F ("Kaart misluk, of nie teenwoordig nie")); // ++

// doen niks meer nie: // ++

terugkeer; // ++

} anders {// ++

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

} // ++

Voeg hierdie reëls by lus () leeg

serialEvent2 (); // ++ oproep GPS -reeksgebeurtenis

Voeg SeriaEvent2 -kode by

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

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

ongeldig serialEvent2 () {// ++

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

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

//Serial.print(c); // kommentaar om rou GPS -data te sien // ++

as (gps.kode (c)) {// ++

newdataGPS = waar; // ++

breek; // kommentaar lewer om nuwe data onmiddellik te druk! // ++

} // ++

} // ++

} // ++

Voeg GPS dump voud by

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

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

// ** Die geldige breedtegraad in grade is -90 en +90. **

// ** Lengtegraad is in die reeks -180 en +180 **

// ** spesifiseer die oos-wes posisie **

//** "123456789 1234567890" **

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

leegte gpsdump (TinyGPS en gps) // ++

{ // ++

int jaar; // ++

byte maand, dag, uur, minuut, sekonde, honderdstes; // ++

ongetekende lang ouderdom; // ++

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

gps.crack_datetime (& jaar, & maand, & dag, & uur, // ++

& minuut, & tweede, & honderdstes, & ouderdom); // ++

lang lat, lon; // ++

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

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

// ** maak 'n string vir die samestelling van die data om aan te meld: **

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

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

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

// maak die lêer oop. let op dat slegs een lêer op 'n slag oop kan wees, **

// sodat u hierdie een moet sluit voordat u 'n ander een oopmaak. ** // ********************************************* ****************************

Lêer dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++

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

// ** as die lêer beskikbaar is, skryf daaraan: **

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

as (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} anders {// ++

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

} // ++

}

Besoek hierdie bladsy as u die kode wil aflaai.

Aanbeveel: