Sisukord:

Arduino projekt: testivahemik LoRa moodul RF1276 GPS -i jälgimiseks Lahendus: 9 sammu (piltidega)
Arduino projekt: testivahemik LoRa moodul RF1276 GPS -i jälgimiseks Lahendus: 9 sammu (piltidega)

Video: Arduino projekt: testivahemik LoRa moodul RF1276 GPS -i jälgimiseks Lahendus: 9 sammu (piltidega)

Video: Arduino projekt: testivahemik LoRa moodul RF1276 GPS -i jälgimiseks Lahendus: 9 sammu (piltidega)
Video: SX1276 LoRa vs Si4432 FSK, тест дальности 2024, Juuli
Anonim
Arduino projekt: testivahemik LoRa moodul RF1276 GPS -i jälgimislahenduse jaoks
Arduino projekt: testivahemik LoRa moodul RF1276 GPS -i jälgimislahenduse jaoks

Ühendus: USB - jadaliides

Vajadus: Chrome'i brauser

Vajadus: 1 X Arduino Mega

Vajadus: 1 X GPS

Vaja: 1 x SD -kaart

Vajadus: 2 X LoRa modem RF1276

Funktsioon: Arduino Saatke GPS-väärtus põhibaasi-Peamine baas salvestab andmed Dataino Serveri Lora moodulis: ülikõrge kaugusega RF1276 APPCONWIRELESS-ist LoRa on uus, privaatne ja hajaspektriga modulatsioonitehnika, mis võimaldab saata andmeid äärmiselt madala andmesagedusega pikki vahemaid. Madal andmeedastuskiirus (kuni mõni bait sekundis) ja LoRa modulatsioon põhjustavad vastuvõtja väga madalat tundlikkust, tähendab selle testi puhul rohkem kui 10 km.

1. samm: tugijaama ehitamine

Hoone tugijaam
Hoone tugijaam
Hoone tugijaam
Hoone tugijaam

Arvuti laiusega Interneti -ühendus ja LoRa -modem, mis on ühendatud USB -porti.

Arduino autokomplekt ·

Mõõdikukast

Anduino Mega on ühendatud 2. seeriaga GPS -vastuvõtjaga ja seeria 1 LoRa -modemiga. Andmete salvestamiseks kasutatakse SD -kaarti.

2. etapp: esimene test

Esimene test
Esimene test

· 10,6 km rajal läbi linnakeskuste, galeriide ja piki rannikut, mis on tehtud silmustega

Vastuvõtu /edastamise suhe on olnud 321 /500TX punkti

RX punkt

Samm: looge liides

Looge liides
Looge liides
Looge liides
Looge liides

1 - Looge uus projekt LoRa

Projekti konfiguratsiooni avamiseks vajutage ikooni hammasratas

Samm: lisage mõõtur

Lisage gabariit
Lisage gabariit

2) Avage gabariidi liugur.

· 3) Leidke GPS.

· 4) Lisage üks lauale.

Samm: lohistage GPS -i ja lisage OpenStreetMap

Lohistage GPS -i ja lisage OpenStreetMap
Lohistage GPS -i ja lisage OpenStreetMap
Lohistage GPS -i ja lisage OpenStreetMap
Lohistage GPS -i ja lisage OpenStreetMap

· 5) Lisage lauale OpenStreetMap kaart

Lohistades komponendi GPS -i ikoonikaardile, luuakse OpenStreet -kaart.

Looge liides

· 6) Muuda kaardi värskendamist

Muutke kaardi värskendamisaega 5000 -lt 10000 -le

6. samm: lohistage GPS -i gabariiti ja lisage tabelilogi

Lohistage GPS -i gabariiti ja lisage tabelilogi
Lohistage GPS -i gabariiti ja lisage tabelilogi

· 7) Lisage tabelilõigu mõõtur.

Mõõturit lohistades GPS -i ikoonitabeli kohal, luuakse gabariiditabeli logi

· 8) Muutke tabeli logi värskendamist. Muutke kaardi värskendamisaega 5000 -lt 10000 -le

Reguleerige mõõturite asukohta

· 9) Lohistamisnäidikud reguleerivad mõõturite asukohta, lohistades neid üle ekraani.

· 10) Salvesta projekt

Samm: hankige kood

Hangi kood
Hangi kood

10) Aktiveerige koodikonteiner

Nupp paremas ülanurgas, valige kõik ja kopeerige põhikood.

Samm: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Kleepige kood Arduino IDE -sse

· 12) Muuda koodi Lisage see rida definitsiooni

9. samm: üksikasjade kodeerimine

Lisage see rida definitsiooni

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

// ** RAAMATUKOGU ** // **************************************** ********************************

#include // ++ GPS -i kogu

#include // ++ SPI raamatukogu #include

// ++ SD kogu //

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

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

// * SD -kaart SPI -siini külge kinnitatud järgmiselt:

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

// (CS -tihvti saab muuta) ja pin #10 (SS) peavad olema väljund

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

// (CS -tihvti saab muuta) ja pin #52 (SS) peavad olema väljund

// ** Leonardo: ühendage riistvara SPI -ga ICSP päise kaudu

// Tihvt 4, mida kasutatakse siin järjepidevuse saavutamiseks teiste Arduino näidetega const int chipSelect = 53;

// ++ SD -nööpnõela valija

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

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

TinyGPS gps; // ++ GPS Serial2 -s

tühine gpsdump (TinyGPS & gps); // ++

bool newdataGPS = vale; // ++

Lisage see rida seadistusse ()

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

// ** GPS -i jadaseadistus ** // *************************************** ********************************

Seriaal2.algus (9600); // ++

viivitus (1000); // ++

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

// ** SD -vormindamine ** // *************************************** *******************************

// veenduge, et kiibi vaikimisi valitud pin on seatud // ++

// väljund, isegi kui te seda ei kasuta: // ++

pinMode (SS, VÄLJUND); // ++

Serial.println (F ("SD -kaardi lähtestamine …")); // ++

// vaadake, kas kaart on olemas ja kas seda saab lähtestada: // ++

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

Serial.println (F ("Kaart ebaõnnestus või puudub")); // ++

// ära tee rohkem midagi: // ++

tagasipöördumine; // ++

} muu {// ++

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

} // ++

Lisage need read silmusesse () void

serialEvent2 (); // ++ kõne GPS -i jadaüritus

Lisage SeriaEvent2 kood

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

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

void serialEvent2 () {// ++

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

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

//Seriaalne.print (c); // uncomment to raw GPS data // ++

kui (gps.kood (c)) {// ++

newdataGPS = tõene; // ++

murda; // loobuge uute andmete kohesest printimisest! // ++

} // ++

} // ++

} // ++

Lisage GPS -i tühjendusvoud

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

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

// ** Kehtiv laiuskraad kraadides on -90 ja +90. **

// ** Pikkuskraadid on vahemikus -180 kuni +180 **

// ** ida-lääne positsiooni määramine **

//** "123456789 1234567890" **

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

tühine gpsdump (TinyGPS & gps) // ++

{ // ++

int aasta; // ++

bait kuu, päev, tund, minut, sekund, sajandik; // ++

allkirjastamata pikk vanus; // ++

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

gps.crack_datetime (& aasta, & kuu, & päev, & tund, // ++

& minut, & teine, & sajandikud & vanus); // ++

pikk lat, lon; // ++

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

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

// ** tehke string andmete kogumiseks logimiseks: **

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

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 (päev)); // ++

dataString += "/"; // ++

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

dataString += "/"; // ++

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

dataString += ";"; // ++

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

dataString += ":"; // ++

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

dataString += ":"; // ++

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

// ** SAVE to SD ** // ************************************** **********************************

// faili avamine. pange tähele, et korraga saab avada ainult ühe faili, **

// nii et enne teise avamist peate selle sulgema. ** // ********************************************* ***************************

Faili andmedFail = SD.open ("gps00.txt", FILE_WRITE); // ++

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

// ** kui fail on saadaval, kirjutage sellele: **

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

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} muu {// ++

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

} // ++

}

Kui soovite koodi alla laadida, külastage seda lehte.

Soovitan: