Obsah:

Arduino Project: Testovací rozsah LoRa modul RF1276 pre sledovanie GPS Riešenie: 9 krokov (s obrázkami)
Arduino Project: Testovací rozsah LoRa modul RF1276 pre sledovanie GPS Riešenie: 9 krokov (s obrázkami)

Video: Arduino Project: Testovací rozsah LoRa modul RF1276 pre sledovanie GPS Riešenie: 9 krokov (s obrázkami)

Video: Arduino Project: Testovací rozsah LoRa modul RF1276 pre sledovanie GPS Riešenie: 9 krokov (s obrázkami)
Video: Range Experiments with local LoRa Network based on Arduino ESP32 (EP14) 2024, December
Anonim
Projekt Arduino: Testovací modul LoRa modulu RF1276 pre riešenie sledovania GPS
Projekt Arduino: Testovací modul LoRa modulu RF1276 pre riešenie sledovania GPS

Pripojenie: USB - sériové

Potrebujete: prehliadač Chrome

Potrebujete: 1 X Arduino Mega

Potrebujete: 1 x GPS

Potrebujete: 1 x SD kartu

Potrebujete: 2 x modem LoRa RF1276

Funkcia: Arduino Poslať hodnotu GPS do hlavnej základne-Údaje o hlavnej základni ukladajú do modulu Dataino Server Lora: Ultra dlhý dosah RF1276 od APPCONWIRELESS LoRa je nová, súkromná a modulačná technika s rozšíreným spektrom, ktorá umožňuje odosielanie údajov extrémne nízkymi dátovými rýchlosťami až do extrémnych dlhé rozsahy. Nízka dátová rýchlosť (až niekoľko bajtov za sekundu) a modulácia LoRa vedú k veľmi nízkej citlivosti prijímača, čo znamená, že v tomto teste to znamená viac ako 10 km.

Krok 1: Budovanie základnej stanice

Budovanie základnej stanice
Budovanie základnej stanice
Budovanie základnej stanice
Budovanie základnej stanice

Internetové pripojenie na šírku počítača a modem LoRa zapojený do portu USB.

Súprava do auta Arduino ·

Metrický box

Anduino Mega je pripojený k prijímaču GPS 2 a 2 k modemu LoRa. Na ukladanie údajov sa používa karta SD.

Krok 2: Prvý test

Prvý test
Prvý test

· 10,6 km na ceste vedenej mestskými centrami, galériami a pozdĺž pobrežia vyrobenej pomocou slučiek

Pomer príjmu /prenosu bol 321 /500TX bodu

Bod RX

Krok 3: Vytvorte rozhranie

Vytvorte rozhranie
Vytvorte rozhranie
Vytvorte rozhranie
Vytvorte rozhranie

1 - Vytvorte nový projekt LoRa

Stlačením ikony ozubeného kolieska otvoríte konfiguráciu projektu

Krok 4: Pridajte meradlo

Pridajte meradlo
Pridajte meradlo

2) Otvorte posúvač meradla.

· 3) Prejdite na GPS.

· 4) Pridajte jeden na stôl.

Krok 5: Presuňte merací prístroj GPS a pridajte OpenStreetMap

Drag Gauge GPS a pridajte OpenStreetMap
Drag Gauge GPS a pridajte OpenStreetMap
Drag Gauge GPS a pridajte OpenStreetMap
Drag Gauge GPS a pridajte OpenStreetMap

· 5) Pridajte mapu OpenStreetMap na stôl

Po ťahaní komponentného GPS na mape ikon sa vygeneruje mapa OpenStreet.

Vytvorte rozhranie

· 6) Zmeniť obnovenie mapy

Zmeňte čas obnovenia mapy z 5 000 na 10 000

Krok 6: Presuňte meradlo GPS a pridajte protokol tabuľky

Presuňte meradlo GPS a pridajte protokol tabuľky
Presuňte meradlo GPS a pridajte protokol tabuľky

· 7) Pridajte rozchod tabuľky.

Potiahnutím meradla nad tabuľku ikon GPS sa vytvorí protokol tabuľky meradiel

· 8) Zmeniť obnovenie denníka tabuľky. Zmeňte čas obnovenia mapy z 5 000 na 10 000

Upravte polohu meradiel

· 9) Ukazovatele ťahu upravujú polohu meradiel ich ťahaním po obrazovke.

· 10) Uložiť projekt

Krok 7: Získajte kód

Získať kód
Získať kód

10) Aktivujte kontajner s kódom

Tlačidlo vpravo hore, vyberte všetko a skopírujte základný kód.

Krok 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Vložte kód do Arduino IDE

· 12) Upraviť kód Pridajte tento riadok do definície

Krok 9: Podrobnosti o kódovaní

Pridajte tento riadok do definície

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

// ** KNIŽNICA ** // **************************************** **************************************

#include // ++ GPS knižnica

#include // ++ Knižnica SPI #include

// ++ SD knižnica //

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

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

// * SD karta pripojená k zbernici SPI nasledovne:

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

// (Kolík CS je možné zmeniť) a kolík č. 10 (SS) musí byť výstupný

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

// (Kolík CS je možné zmeniť) a kolík č. 52 (SS) musí byť výstupný

// ** Leonardo: Pripojenie k hardvérovému SPI cez hlavičku ICSP

// Tu použitý pin 4 kvôli konzistentnosti s inými príkladmi Arduina const int chipSelect = 53;

// ++ Prepínač pinov SD

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

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

TinyGPS gps; // ++ GPS na Serial2

neplatný gpsdump (TinyGPS & gps); // ++

bool newdataGPS = false; // ++

Pridajte tento riadok do nastavenia ()

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

// ** Sériové nastavenie GPS ** // ******************************************** **************************************

Serial2.begin (9600); // ++

oneskorenie (1000); // ++

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

// ** Inicializácia SD ** // ***************************************** ***************************

// uistite sa, že predvolený pin na výber čipu je nastavený na // ++

// výstup, aj keď ho nepoužívate: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("Inicializácia karty SD …")); // ++

// skontrolujte, či je karta prítomná a dá sa inicializovať: // ++

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

Serial.println (F („Karta zlyhala alebo nie je prítomná“)); // ++

// nerob nič viac: // ++

návrat; // ++

} else {// ++

Serial.println (F („Karta SD je v poriadku“)); // ++

} // ++

Pridajte tieto riadky do loop () neplatné

serialEvent2 (); // ++ volanie sériovej udalosti GPS

Pridajte kód SeriaEvent2

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

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

zrušiť serialEvent2 () {// ++

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

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

//Serial.print(c); // odkomentujte zobrazenie surových údajov GPS // ++

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

newdataGPS = true; // ++

prestávka; // odkomentujte okamžité vytlačenie nových údajov! // ++

} // ++

} // ++

} // ++

Pridajte hlasný výpis GPS

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

// ** skládka GPS ** // ******************************************** ************************************

// ** Platný rozsah zemepisnej šírky v stupňoch je -90 a +90. **

// ** Zemepisná dĺžka je v rozsahu -180 a +180 **

// ** špecifikácia polohy východ-západ **

//** "123456789 1234567890" **

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

neplatný gpsdump (TinyGPS & gps) // ++

{ // ++

int rok; // ++

bajt mesiac, deň, hodina, minúta, sekunda, stotiny; // ++

nepodpísaný dlhý vek; // ++

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

gps.crack_datetime (& rok, & mesiac, & deň, & hodina, // ++

& minúta, & druhá, stotiny, & vek); // ++

dlhý lat, lon; // ++

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

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

// ** vytvorte reťazec na zostavenie údajov do protokolu: **

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

Reťazec dataString = ""; // ++

dataString += (lat / 100000); // ++

dataString += "."; // ++

dataString += lat - (lat / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += (dlho / 100000); // ++

dataString += "."; // ++

dataString += lon - (dlho / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += String (static_cast (deň)); // ++

dataString += "/"; // ++

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

dataString += "/"; // ++

dataString += Reťazec (rok); // ++

dataString += ";"; // ++

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

dataString += ":"; // ++

dataString += String (static_cast (minúta)); // ++

dataString += ":"; // ++

dataString += String (static_cast (druhý)); // ++ // ******************************************** ***************************

// ** ULOŽIŤ DO SD ** // ************************************** ***********************************

// otvorte súbor. upozorňujeme, že súčasne je možné otvoriť iba jeden súbor, **

// takže pred otvorením ďalšej musíte túto zavrieť. ** // ***************************************************** ***************************

Súbor dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++

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

// ** ak je súbor k dispozícii, napíšte doň: **

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

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} else {// ++

Serial.println (F ("CHYBA SD zápisu")); // ++

} // ++

}

Ak si chcete stiahnuť kód, navštívte túto stránku.

Odporúča: