Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
I cadrul acestui program s-a dorit realizarea unui sistem de cartographyere a retelelor LoRaWAN.
Ce este LoRa?
LoRa este o tehnologie care pune la dipozitia dezvoltatorilor de solutii inteligente o transmisie de raza lunga si securizata a datelor, cu un consum reduced the energie. Retelele publice si private care utilizeaza aceasta tehnology pot oferi o acoperire care este mai mare decat ceaelel existente. Este o tehnologie usor de conectat la orice infrastructura existenta. LoRa utilizeaza benzi de frecventa radio sub-gigahertz fara licenta, cum ar fi: 169 MHz, 433 MHz, 868 MHz (Europa) si 915 MHz (America de Nord).
Ce este LoRaWAN?
LoRaWAN este reteaua pe care LoRa opereaza. LoRaWAN är ett protokoll för överföring av radioprin vård i form av en intellektuell återkoppling, med tillgång till Media Access Control (Mac) som definierar ett protokoll för kommunikation och konstruktion av saker för Internet of Things, i tidens komponenter pe distanţe lungi.
Kan jag förverkliga ett projekt?
Prin intermediul unei placute Seeeduino Stalker voi lega un modul radio LoRaWAN ce va fi folosit pe post de
receptor. (va asculta dupa semnalele ce provin de la gateway urile de LoRaWAN)
Relevant data: samordnad geografik, RSSI, tidsstämpel för att spara i formatet kml pentru a fi utilize la
mappare i Google Earth.
Steg 1: Komponentutnyttjande
Pentru realizarea acestui proiect am utilizat urmatoarele componente:
1. Seeeduino Stalker v2.3
2. Modulomvandlare USB Seriell FT232RL med Mufa USB Mini
3. Modul GPS MTK-3329
4. Cablu Mini USB
5. Elda mama-tata
6. LCD RC2004A-BIW-ESX + MCP23008
7. microSD -kort 2 Gb
8. Baterie CR2032
9. LoRa ACW-XB v1.1 ATIM
10. Antena wifi
Speficatii relevant Seeeduino Stalker v2.3
Mikrokontroller: ATmega328P
I/O -stift: 20
Anslutning: I2C, UART, SPI
UART Baud Rate: 115200 bps
Conectivitatea dintre acestea s-a realizat in urmatorul mod:
Du kan också använda en inträdesplacering för en kalkylator för att kunna placera modulen FT232RL, vilket gör att USB -kabeln kan laddas in 2 gånger senare. (Modul FT232RL va comunica prin intermediul UART-ului cu Seeeduino).
Seeeduino Stalke - FT232RL
USB5V, VCCRX
TXD ↔ TXD
RXD ↔ RXD
GND ↔ GND
DTR ↔ DTR
Bateria impreuna cu microSD cardul si modulul LoRa au fost atasate in locurile special create de pe placa
Anslut GPS
Seeeduino Stalker - GPS
GND ↔ GND
Stift 7, RXA
Stift 8, TXA
3.3V, VDD
I citirea coordonatele GPS har jag flera problem som kan referera till överföringshastighet. Din cauza faptului ca interfata seriala a placutei Seeeduino este impartita cu modulul FT232RL a fost necesara setarea permanenta a baud rate-ului GPS-ului la valorea de 38400.
Anslutnings -LCD
Datorita Port Expander-ului cu interfata I2C ce a fost lipit de LCD, conexiunea s-a realizat usor.
Seeeduino Stalker - MCP23008
USB5V, 5V
GND ↔ GND
SDA ↔ SDA
SCL ↔ SCL
Steg 2: Mediu De Dezvoltare
Program för att realisera i programmet Arduino IDE cu urmatoarele specificatiii:
Bräda: Arduino Pro eller Pro Mini
Processor: ATmega328P (3.3V, 8MHz)
Steg 3: Afisare Coordonate + Tidsstämpel Pe LCD
Primul pas a fost afisarea coordonatelor GPS impreuna cu Data and Timpul pe LCD pentru a fi utilize the mapparea in Google Earth.
Använder urmatorul torsk: (Mentionez ca este nevoie de importarea unor librarii si anume TinyGPS ++.h, RTClib.h si LiquidCrystal.h)
Torsk:
#inkludera #inkludera
#omfatta
#omfatta
#omfatta
statisk const int RXPin = 8, TXPin = 7; statisk const uint32_t GPSBaud = 38400;
RTC_DS3231 rtc;
char t [32];
TinyGPSPlus gps;
SoftwareSerial ss (RXPin, TXPin);
LiquidCrystal lcd (0);
void setup ()
{lcd.begin (20, 4);
Serial.begin (9600);
Wire.begin ();
rtc.begin ();
ss.begin (GPSBaud);
fördröjning (1000);
lcd.clear ();
}
void loop ()
{
DateTime nu = rtc.now ();
sprintf (t, "%02d:%02d:%02d%02d/%02d/%02d", nu. timme (), nu.minut (), nu. sekund (), nu. dag (), nu. månad (), nu.år ());
fördröjning (1000);
medan (ss.available ()> 0)
if (gps.encode (ss.read ()))
displayInfo ();
if (millis ()> 5000 && gps.charsProcessed () <10) {
lcd.print (F ("Ingen GPS upptäckt"));
medan (sant);
}
}
void displayInfo () {if (gps.location.isValid ())
{
Serial.println (gps.location.lat (), 6);
Serial.println (gps.location.lng (), 6);
Serial.println (t);
lcd.setCursor (0, 0);
lcd.print ("Lat =");
lcd.print (gps.location.lat (), 6);
lcd.setCursor (0, 1);
lcd.print ("Lng =");
lcd.print (gps.location.lng (), 6);
lcd.setCursor (0, 2);
lcd.print (t);
}
annat {
lcd.print ("OGILTIG");
lcd.clear ();
}
if (millis ()> 5000 && gps.charsProcessed () <10)
{
Serial.println (F ("Ingen GPS upptäckt: kontrollera ledningar."));
medan (sant);
}
}
Steg 4: Salvare Date Pe MicroSD -kort
Librarie utilizata: SD.h
Pentru salvarea datelor pe microSD card am adaugat urmatoarele linii:
Arkivera minFile;
void setup ()
{
…..
Serial.print ("Initierar SD -kort …"); pinMode (10, OUTPUT);
om (! SD.begin (4))
{Serial.println ("initialiseringen misslyckades!");
lämna tillbaka;
}
Serial.println ("initialisering klar.");
}
void loop ()
{
….
medan (ss.available ()> 0) if (gps.encode (ss.read ()))
{displayInfo ();
writeInfo ();
}
}
void writeInfo () {if (gps.location.isValid ())
{myFile = SD.open ("testf.txt", FILE_WRITE);
om (myFile) {
Serial.print ("Skriva till testf.txt …");
myFile.println (gps.location.lat (), 6);
myFile.println (gps.location.lng (), 6);
myFile.close (); }
}
annat {
myFile = SD.open ("testf.txt", FILE_WRITE);
om (myFile) {
Serial.print ("Ogiltigt");
myFile.close (); }
}
}
Pasul urmator presupune transofmarea fisierului.txt i.kml si incarcarea acestuia i Google Earth.