Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Në programin cadrul acestui s-a dorit realizim unui sistem de cartografiere a retelelor LoRaWAN.
Ce este LoRa?
LoRa este o tehnologie care work la dipozitia dezvoltatorilor de solutii inteligente o transmisie de raza lunga si securizata a datelor, cu un Consum Redus de Energie. Retelele publik publik si kujdes privat shfrytëzon aceasta tehnologie pot oferi ose acoperre care este maa maaa ekzistente Kjo teknologji mund të përdoret nga lidhja e infrastrukturës ekzistuese. LoRa përdor benzin e frekuencës së radios nën-gigahertz për një licencë të caktuar, me një frekuencë: 169 MHz, 433 MHz, 868 MHz (Europa) si 915 MHz (America de Nord).
Je este LoRaWAN?
LoRaWAN është një kujdes i vërtetë i LoRa operaaza. LoRaWAN është një protokoll i transmetimit të radios për shërbimet e inteligjencës, të nivelit të kontrollit të qasjes në media (Mac) si protokoll i komunikimit të përcaktuar nga sistemi i integruar i Internetit të Gjërave, në kohë dhe komponentë fizikë LoRa lejon legjislacionin e komunikimit pe distanţe lungi.
Cum am ales realizarea acestui proiect?
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 province de la gateway urile de LoRaWAN)
Datale relevante: gjeografia e koordinatave, RSSI, vula kohore për të shpëtuar në formatin kml pentru a fi utilizate la
mappare në Google Earth.
Hapi 1: Përdorni Komponentën
Pentru realizarea acestui proiect am utilizat urmatoarele component:
1. Seeeduino Stalker v2.3
2. Modul Convertor USB Serial FT232RL cu Mufa USB Mini
3. Modul GPS MTK-3329
4. Cablu Mini USB
5. Zjarri mama-tata
6. LCD RC2004A-BIW-ESX + MCP23008
7. kartë microSD 2Gb
8. Baterie CR2032
9. LoRa ACW-XB v1.1 ATIM
10. Antena wifi
Speficatii relevante Seeeduino Stalker v2.3
Mikrokontrolluesi: ATmega328P
Kunjat e I/O: 20
Konektivizoni: I2C, UART, SPI
Shkalla e Baudit UART: 115200 bps
Conectivitatea dintre acestea s-a realizat në urmatorul mod:
Ju mund të përdorni një makinë llogaritëse për të kontrolluar lidhjen e modulit FT232RL, duke përdorur një kabllo USB mini të brendshme 2 herë më parë. (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
Konektivizoni GPS
Seeeduino Stalker - GPS
GND ↔ GND
Pin 7 ↔ RXA
Pin 8 ↔ TXA
3.3V ↔ VDD
Në koordinatën GPS të sistemit të punës, jam i interesuar të referoj një normë të vlerësimit. Mund të thuhet për interfata seriala a placutei Seeeduino este impartita cu modulul FT232RL dhe kërkon një përcaktim të domosdoshëm të një norme të shpejtë të uljes GPS-ului la valorea e 38400.
Konektivizoni LCD
Datorita Port Expander-ului cu interfata I2C ce a fost lipit de LCD, koneksiune s-a realizues përdorues.
Seeeduino Stalker - MCP23008
USB5V ↔ 5V
GND ↔ GND
SDA ↔ SDA
SCL ↔ SCL
Hapi 2: Mediu De Dezvoltare
Programul a fost realizim në programin Arduino IDE cu urmatoarele specificatii:
Bordi: Arduino Pro ose Pro Mini
Procesori: ATmega328P (3.3V, 8MHz)
Hapi 3: Afisare Coordonate + Timestamp Pe LCD
Para së gjithash, ju mund të përdorni një koordinatore të informacionit GPS për të dhënat tuaja në Timpul LCD duke përdorur një hartë në Google Earth.
Unë jam duke përdorur kodin urmator: (Përmendja për këtë është një nevoje për importimin e bibliotekave ose anume TinyGPS ++.h, RTClib.h si LiquidCrystal.h)
Cod:
#përfshi #përfshi
#përfshi
#përfshi
#përfshi
konstit statik int RXPin = 8, TXPin = 7; konstit statik uint32_t GPSBaud = 38400;
RTC_DS3231 rtc;
char t [32];
TinyGPSPlus GPS;
SoftwareSerial ss (RXPin, TXPin);
LiquidCrystal LCD (0);
void setup ()
{lcd.filloj (20, 4);
Serial.filloj (9600);
Wire.begin ();
rtc.filloj ();
ss.filloj (GPSBaud);
vonesa (1000);
lcd.qartë ();
}
lak void ()
{
DataTime tani = rtc.now ();
sprintf (t, "%02d:%02d:%02d%02d/%02d/%02d", tani. orë (), tani.minute (), tani.sekondë (), tani.ditë (), tani.muaj (), tani.viti ());
vonesa (1000);
ndërsa (ss. në dispozicion ()> 0)
nëse (gps.encode (ss.read ()))
displayInfo ();
nëse (milis ()> 5000 && gps.charsProcessed () <10) {
lcd.print (F ("Nuk është zbuluar GPS"));
ndërsa (e vërtetë);
}
}
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);
}
tjeter {
lcd.print ("I PAVLEFSHM");
lcd.qartë ();
}
nëse (milis ()> 5000 && gps.charsProcesuar () <10)
{
Serial.println (F ("Nuk u zbulua GPS: kontrolloni instalimet elektrike."));
ndërsa (e vërtetë);
}
}
Hapi 4: Karta MicroSD e Salvare Date Pe
Biblioteka e shfrytëzuar: SD.h
Pentru salvarea datelor pe microSD card jam duke shtuar urmatoarele linje:
Dosja myFile;
void setup ()
{
…..
Serial.print ("Fillimi i kartës SD …"); pinMode (10, OUTPUT);
nëse (! SD.fillon (4))
{Serial.println ("inicimi dështoi!");
kthim;
}
Serial.println ("fillimi u krye.");
}
lak void ()
{
….
ndërsa (ss.disponueshme ()> 0) nëse (gps.encode (ss.read ()))
{displayInfo ();
writeInfo ();
}
}
void writeInfo () {if (gps.location.isValid ())
{myFile = SD.open ("testf.txt", FILE_WRITE);
nëse (myFile) {
Serial.print ("Shkrimi në testf.txt …");
myFile.println (gps.location.lat (), 6);
myFile.println (gps.location.lng (), 6);
myFile.close (); }
}
tjeter {
myFile = SD.open ("testf.txt", FILE_WRITE);
nëse (myFile) {
Serial.print ("E pavlefshme");
myFile.close (); }
}
}
Pasul urmator presupune transofmarea fisierului.txt në.kml si incarcarea acestuia në Google Earth.