Inhaltsverzeichnis:
- Schritt 1: Komponentennutzung
- Schritt 2: Mediu Dezvoltare
- Schritt 3: Afisare Coordonate + Zeitstempel Pe LCD
- Schritt 4: Salvare Date Pe MicroSD-Karte
Video: Sistem De Cartografiere a Retelelor LoRaWAN - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
In cadrul acestui program s-a dorit realizarea unui sistem de cartografiere a retelelor LoRaWAN.
Ist es 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 redus de energie existent. Este o tehnologie usor de conectat la orice infrastructura existenta. LoRa useaza benzi de frecventa radio sub-gigahertz fara licenta, cum ar fi: 169 MHz, 433 MHz, 868 MHz (Europa) und 915 MHz (America de Nord).
Ist es LoRaWAN?
LoRaWAN este reteaua pe care LoRa opereaza. LoRaWAN este un protocol de transmisii radio prin care se formeaza retele de obiecte inteligente, cu nivel Media Access Control (Mac) si Defineste Protocolul de comunicare si arhitectura sistemului pentru or retea de Internet of Things, in time componentele fizice de LoRacom allow legatura pe distanţe lungi.
Cum bin ales realizarea acestui proiect?
Prin intermediul unei placute Seeeduino Stalker voi lega un modul radio LoRaWAN ce va fi folosit pe post de
Rezeptor. (va asculta dupa semnalele ce provin de la gateway urile de LoRaWAN)
Datele relevante: Coordonate Geografice, RSSI, Zeitstempel für fi salvate im Format kml pentru a fi utilizate la
mappare in Google Earth.
Schritt 1: Komponentennutzung
Pentru realizarea acestui proiect am utilizat urmatoarele componente:
1. Seeeduino Stalker v2.3
2. Modulkonverter USB Serial FT232RL cu Mufa USB Mini
3. Modul GPS MTK-3329
4. Cablu Mini-USB
5. Feuer Mama-Tata
6. LCD RC2004A-BIW-ESX + MCP23008
7. microSD-Karte 2Gb
8. Batterie CR2032
9. LoRa ACW-XB v1.1 ATIM
10. Antennen-WLAN
Spezielle relevante Seeeduino Stalker v2.3
Mikrocontroller: ATmega328P
I/O-Pins: 20
Konektivieren: I2C, UART, SPI
UART-Baudrate: 115200 bps
Conectivitatea dintre acestea s-a realizat in urmatorul mod:
Pentru a face conexiunea intre placuta si rechner mit placuta modulul FT232RL, iar apoi cablul USB mini intre cele 2 din urma. (Modulul FT232RL va comunica prin intermediul UART-ului cu Seeeduino).
Seeeduino-Stiel - 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
Konaktivieren Sie GPS
Seeeduino Stalker - GPS
GND ↔ GND
Pin 7 RXA
Pin 8 TXA
3.3V VDD
In citirea coordonatele GPS bin intampinat probleme referitoare la Baudrate. Din cauza faptului ca interfata seriala a placutei Seeeduino iste impartita cu modulul FT232RL a fost not setarea permanenta a Baud rate-ului GPS-ului la valorea de 38400.
Konaktivieren Sie LCD
Datorita Port Expander-ului cu interfata I2C ce ein schnelles LCD-Limit, Conexiunea s-und Realizat Benutzer.
Seeeduino Stalker - MCP23008
USB5V ↔ 5V
GND ↔ GND
SDA ↔ SDA
SCL ↔ SCL
Schritt 2: Mediu Dezvoltare
Programmieren Sie eine schnelle Realisierung in der Arduino-IDE mit den folgenden Spezifikationen:
Platine: Arduino Pro oder Pro Mini
Prozessor: ATmega328P (3.3V, 8MHz)
Schritt 3: Afisare Coordonate + Zeitstempel Pe LCD
Grundlegend für die Koordination von GPS-Daten und LCD-Daten, die für die Verwendung der Karte in Google Earth verwendet werden können.
Am utilizat urmatorul cod: (Mentionez ca este nevoie de importarea unor librarii si anume TinyGPS++.h, RTClib.h si LiquidCrystal.h)
Kabeljau:
#einschließen #einschließen
#enthalten
#enthalten
#enthalten
statische Konstante int RXPin = 8, TXPin = 7;statische Konstante uint32_t GPSBaud = 38400;
RTC_DS3231 rtc;
Zeichen t[32];
TinyGPSPlus-GPS;
SoftwareSeriell ss(RXPin, TXPin);
Flüssigkristallanzeige(0);
Void-Setup ()
{ lcd.begin (20, 4);
Serial.begin (9600);
Wire.begin();
rtc.begin();
ss.begin(GPSBaud);
Verzögerung (1000);
lcd.clear();
}
Leere Schleife ()
{
DateTime now = rtc.now();
sprintf(t, "%02d:%02d:%02d %02d/%02d/%02d", now.hour(), now.minute(), now.second(), now.day(), now.month (), jetzt. Jahr());
Verzögerung (1000);
while (ss.verfügbar() > 0)
if (gps.encode(ss.read()))
displayInfo();
if (millis() > 5000 && gps.charsProcessed() < 10) {
lcd.print (F ("Kein GPS erkannt"));
während(wahr);
}
}
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);
}
anders {
lcd.print("UNGÜLTIG");
lcd.clear();
}
if (millis() > 5000 && gps.charsProcessed() < 10)
{
Serial.println (F("Kein GPS erkannt: Verkabelung prüfen."));
während(wahr);
}
}
Schritt 4: Salvare Date Pe MicroSD-Karte
Bibliotheksnutzung: SD.h
Pentru salvarea datelor pe microSD-Karte am adaugat urmatoarele linii:
Datei meineDatei;
Void-Setup ()
{
…..
Serial.print ("SD-Karte wird initialisiert…"); pinMode(10, AUSGANG);
if (!SD.begin(4))
{ Serial.println ("Initialisierung fehlgeschlagen!");
Rückkehr;
}
Serial.println ("Initialisierung abgeschlossen.");
}
Leere Schleife ()
{
….
while (ss.available() > 0) if (gps.encode(ss.read()))
{ AnzeigeInfo();
writeInfo();
}
}
void writeInfo() { if (gps.location.isValid())
{ myFile = SD.open("testf.txt", FILE_WRITE);
if (meineDatei) {
Serial.print("In testf.txt schreiben…");
myFile.println(gps.location.lat(), 6);
myFile.println(gps.location.lng(), 6);
meineDatei.close(); }
}
anders {
myFile = SD.open("testf.txt", FILE_WRITE);
if (meineDatei) {
Serial.print ("Ungültig");
meineDatei.close(); }
}
}
Pasul urmator presupune transofmarea fisierului.txt in.kml si incarcarea acetuia in Google Earth.