Sommario:

Sistem De Cartografiere a Retelelor LoRaWAN: 4 passaggi
Sistem De Cartografiere a Retelelor LoRaWAN: 4 passaggi

Video: Sistem De Cartografiere a Retelelor LoRaWAN: 4 passaggi

Video: Sistem De Cartografiere a Retelelor LoRaWAN: 4 passaggi
Video: Cartografierea rețelelor de distribuție, pentru alimentarea mai sigură cu energie electrică 2024, Dicembre
Anonim
Sistem De Cartografiere a Retelelor LoRaWAN
Sistem De Cartografiere a Retelelor LoRaWAN

In cadrul acestui program s-a dorit realizarea unui sistem de cartografiere 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 redus de energie. Retelele publice si private care utiliaza aceasta tehnologie pot oferi o acoperire care este mai mare decat celucea a retelelor esistente. Este o tehnologie usor de conectat la orice infrastructura existenta. LoRa utilizzaaza 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 è un protocollo di trasmissione radio prin care se forma retele de obiecte inteligente, cu nivel Media Access Control (Mac) si definisce protocollo per comunicare e arhitectura sistemului pentru o retea de Internet of Things, in timp ce componentile fizice LoRa consente la legatura de comunicare pe distanţe lungi.

Cum am ales realizarea acestui progetto?

Prin intermediul unei placute Seeeduino Stalker voi lega un modul radio LoRaWAN ce va fi folosit pe post de

recettore. (va asculta dupa semnalele ce provin de la gateway urile de LoRaWAN)

Datele rilevanti: coordonate geografice, RSSI, timestamp vor fi salvate in formato kml pentru a fi utilizate la

mappare in Google Earth.

Passaggio 1: utilizzo dei componenti

Componente Utilizza
Componente Utilizza
Componente Utilizza
Componente Utilizza
Componente Utilizza
Componente Utilizza

Pentru realizarea acestui proiect am utilizat urmatoarele componente:

1. Seeeduino Stalker v2.3

2. Convertitore Modulo USB Seriale FT232RL per Mufa USB Mini

3. Modulo GPS MTK-3329

4. Cavo Mini USB

5. Fuoco mama-tata

6. LCD RC2004A-BIW-ESX + MCP23008

7. Scheda microSD 2Gb

8. Batteria CR2032

9. LoRa ACW-XB v1.1 ATIM

10. Antenna wifi

Specifiche rilevanti Seeeduino Stalker v2.3

Microcontrollore: ATmega328P

Pin I/O: 20

Conectivitate: I2C, UART, SPI

Velocità di trasmissione UART: 115200 bps

Conectivitatea dintre acestea s-a realizat in urmatorul mod:

Pentru a face conexiunea intre placuta si calcolatrice se conecteaza placuta la modulul FT232RL, iar apoi cablul USB mini intre cele 2 din urma. (Modulul 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

Connettiti il GPS

Seeeduino Stalker - GPS

GND ↔ GND

Pin 7 RXA

Pin 8 TXA

3.3V ↔ VDD

In citirea coordonatele GPS sto intampinat probleme referitoare la baud rate. 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.

Connettivita LCD

Datorita Port Expander può essere interfato I2C per un più ampio schermo LCD, conexiunea è un utente realizzato.

Seeeduino Stalker - MCP23008

USB5V ↔ 5V

GND ↔ GND

SDA ↔ SDA

SCL ↔ SCL

Fase 2: Mediu De Dezvoltare

Programma una prima realizzazione nel programma Arduino IDE cu urmatoarele specificatii:

Scheda: Arduino Pro o Pro Mini

Processore: ATmega328P (3,3 V, 8 MHz)

Passaggio 3: Afisare Coordonate + Timestamp Pe LCD

Afisare Coordonate + Timestamp Pe LCD
Afisare Coordonate + Timestamp Pe LCD

Primul pas a fost afisarea coordonatelor GPS impreuna cu Data si Timpul pe LCD pentru a fi utilizate la mappaarea in Google Earth.

Am utilizat urmatorul cod: (Mentionez ca este nevoie de importarea unor librarii si anume TinyGPS++.h, RTClib.h si LiquidCrystal.h)

Merluzzo:

#include #include

#includere

#includere

#includere

static const int RXPin = 8, TXPin = 7;static const uint32_t GPSBaud = 38400;

RTC_DS3231 rtc;

carattere t[32];

GPS TinyGPSPlus;

SoftwareSerial ss(RXPin, TXPin);

LCD a cristalli liquidi(0);

configurazione nulla()

{ lcd.begin(20, 4);

Serial.begin(9600);

Wire.begin();

rtc.begin();

ss.begin(GPSBaud);

ritardo(1000);

lcd.clear();

}

ciclo vuoto()

{

DateTime now = rtc.now();

sprintf(t, "%02d:%02d:%02d %02d/%02d/%02d", now.hour(), now.minute(), now.second(), now.day(), now.month (), ora.anno());

ritardo(1000);

mentre (ss.disponibile() > 0)

if (gps.encode(ss.read()))

displayInfo();

if (millis() > 5000 && gps.charsProcessed() < 10) {

lcd.print(F("Nessun GPS rilevato"));

mentre (vero);

}

}

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);

}

altro {

lcd.print("INVALIDO");

lcd.clear();

}

if (millis() > 5000 && gps.charsProcessed() < 10)

{

Serial.println(F("Nessun GPS rilevato: controllare il cablaggio."));

mentre (vero);

}

}

Passaggio 4: Salvare Data Pe MicroSD Card

Librarie utilizata: SD.h

Pentru salvarea datelor pe microSD card am adaugat urmatoarele linii:

File mioFile;

configurazione nulla()

{

…..

Serial.print("Inizializzazione scheda SD…"); pinMode(10, USCITA);

if (!SD.begin(4))

{ Serial.println("inizializzazione fallita!");

Restituzione;

}

Serial.println("inizializzazione eseguita.");

}

ciclo vuoto()

{

….

while (ss.available() > 0) if (gps.encode(ss.read()))

{ displayInfo();

writeInfo();

}

}

void writeInfo(){ if (gps.location.isValid())

{ mioFile = SD.open("testf.txt", FILE_WRITE);

if (mioFile) {

Serial.print("Scrivo su testf.txt…");

mioFile.println(gps.location.lat(), 6);

mioFile.println(gps.location.lng(), 6);

mioFile.close(); }

}

altro {

mioFile = SD.open("testf.txt", FILE_WRITE);

if (mioFile) {

Serial.print("Non valido");

mioFile.close(); }

}

}

Pasul urmator presupune transofmarea fisierului.txt in.kml si incarcarea acestuia in Google Earth.

Consigliato: