İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Cadrul acestui programında s-a dorit realizarea unui sistem de cartografiere ve retelelor LoRaWAN.
Ce este LoRa?
LoRa este o technologie care pune la dipositeia dezvoltatorilor de solutii inteligente o transmisie de raza lunga ve güvenlik, bir randevu, cu un tüketimi redus de energie. varlık. Este o tehnologie usor de conectat la orice altyapı mevcut. LoRa, yaygın olarak kullanılan radyo alt-gigahertz fara licenta, genel olarak: 169 MHz, 433 MHz, 868 MHz (Avrupa) ve 915 MHz (Amerika Kuzey Amerika).
Ce este LoRaWAN?
LoRaWAN este reteaua pe care LoRa opereaza. LoRaWAN ağ iletişim protokolünü temel al, akıllı, nesnel Medya Erişim Kontrolü (Mac) ve Nesnelerin İnterneti'ni kapsayan, zaman bileşeni izinli ve yasal yasal düzenlemelerin tanımlı protokol ve iletişim sistemlerini tanımla uzak akciğer.
Cum am ales realizarea acestui proiect?
Prin intermediul unei plaket Seeeduino Stalker voi lega un modül radyo LoRaWAN ce va fi folosit pe post de
alıcı. (LoRaWAN'ın asculta dupa semnallele ce provin de la gateway urile de LoRaWAN)
İlgili tarih: koordinate coğrafya, RSSI, zaman damgası vor fi salvate formatta kml pentru a fi utilizate la
Google Earth'te mappare.
Adım 1: Bileşen Kullanımı
Pentru realizarea acestui proiect am utilizat urmatoarele bileşeni:
1. Seeeduino Stalker v2.3
2. Modül Dönüştürücü USB Seri FT232RL cu Mufa USB Mini
3. Modül GPS MTK-3329
4. Kablolu Mini USB
5. Ateş mama-tata
6. LCD RC2004A-BIW-ESX + MCP23008
7. microSD kart 2Gb
8. Pil CR2032
9. LoRa ACW-XB v1.1 ATIM
10. Anten wifi
İlgili özellikler Seeeduino Stalker v2.3
Mikrodenetleyici: ATmega328P
G/Ç pinleri: 20
Bağlayıcı: I2C, UART, SPI
UART İletişim Hızı: 115200 bps
urmatorul modunda Conectivitatea dintre acestea s-a realizat:
Pentru a face conexiunea intre placuta ve hesap makinesi se conecteaza placuta la modül FT232RL, iar apoi kablo USB mini intre cele 2 din urma. (Moduul FT232RL va comunica prin intermediul UART-ului cu Seeeduino).
Seeeduino Stalke - FT232RL
USB5V ve VCCRX
TXD ↔ TXD
RXD ve RXD
GND ↔ GND
DTR ↔ DTR
Bateria impreuna cu microSD kartı modüllü LoRa ve fost atasate locurile özel yaratım de pe placa
GPS'i Bağla
Seeeduino Stalker - GPS
GND ↔ GND
Pin 7 ↔ RXA
Pin 8 ↔ TXA
3.3V ↔ VDD
Citirea koordinatörlüğünde GPS, sürekli sorunlu bir baud hızına başvuruyor. Bu, 38400 numaralı baud hızı için sabit bir sabit alan sabiti gerektirir.
Konektivite LCD
Datorita Port Expander-ului ve interfata I2C, en iyi LCD, conexiunea s-a realizat kullanıcısı.
Seeeduino Avcısı - MCP23008
USB5V ↔ 5V
GND ↔ GND
SDA ↔ SDA
SCL ↔ SCL
Adım 2: Mediu De Dezvoltare
Programlı Arduino IDE cu urmatoarele özelliklerinde bir fost realizat programlayın:
Kart: Arduino Pro veya Pro Mini
İşlemci: ATmega328P (3.3V, 8MHz)
3. Adım: Afisare Koordinatı + Zaman Damgası Pe LCD
Google Earth'te haritadan yararlanmaya yönelik veri ve LCD ekranlarını kullanın.
Utilizat urmatorul cod: (TinyGPS++.h, RTClib.h ve LiquidCrystal.h'den bahsetmiyorum bile)
Morina:
#include #include
#Dahil etmek
#Dahil etmek
#Dahil etmek
statik sabit int RXPin = 8, TXPin = 7;statik sabit uint32_t GPSBaud = 38400;
RTC_DS3231 rtc;
karakter t[32];
TinyGPSPlus gps;
SoftwareSerial ss(RXPin, TXPin);
LiquidCrystal lcd(0);
geçersiz kurulum()
{ lcd.başla(20, 4);
Seri.başla(9600);
Wire.begin();
rtc.begin();
ss.begin(GPSBaud);
gecikme(1000);
lcd.clear();
}
boşluk döngüsü()
{
DateTime şimdi = rtc.now();
sprintf(t, "%02d:%02d:%02d %02d/%02d/%02d", şimdi.saat(), şimdi.dakika(), şimdi.saniye(), şimdi.gün(), şimdi.ay (), şimdi.yıl());
gecikme(1000);
while (ss.available() > 0)
if (gps.encode(ss.read()))
displayInfo();
if (millis() > 5000 && gps.charsProcessed() < 10) {
lcd.print(F("GPS algılanmadı"));
süre(doğru);
}
}
void displayInfo(){ if (gps.location.isValid())
{
Serial.println(gps.location.lat(), 6);
Serial.println(gps.location.lng(), 6);
Seri.println(t);
lcd.setCursor(0, 0);
lcd.print("Enlem=");
lcd.print(gps.location.lat(), 6);
lcd.setCursor(0, 1);
lcd.print("Lng=");
lcd.print(gps.location.lng(), 6);
lcd.setCursor(0, 2);
lcd.baskı(t);
}
Başka {
lcd.print("GEÇERSİZ");
lcd.clear();
}
if (millis() > 5000 && gps.charsProcessed() < 10)
{
Serial.println(F("GPS algılanmadı: kablolamayı kontrol edin."));
süre(doğru);
}
}
Adım 4: Kurtarma Tarihi Pe MicroSD Kartı
Kütüphane kullanımı: SD.h
Pentru salvarea datelor pe microSD kart am adaugat urmatoarele linii:
Dosya myFile;
geçersiz kurulum()
{
…..
Serial.print("SD kart başlatılıyor…"); pinMode(10, ÇIKIŞ);
if (!SD.begin(4))
{ Serial.println("başlatma başarısız!");
dönüş;
}
Serial.println("başlatma tamamlandı.");
}
boşluk döngüsü()
{
….
while (ss.available() > 0) if (gps.encode(ss.read()))
{ displayInfo();
yazmaBilgi();
}
}
geçersiz writeInfo(){ if (gps.location.isValid())
{ myFile = SD.open("testf.txt", FILE_WRITE);
if (dosyam) {
Serial.print("testf.txt'ye yazılıyor…");
myFile.println(gps.location.lat(), 6);
myFile.println(gps.location.lng(), 6);
myFile.close(); }
}
Başka {
myFile = SD.open("testf.txt", FILE_WRITE);
if (dosyam) {
Serial.print("Geçersiz");
myFile.close(); }
}
}
Pasul urmator, Google Earth'te.kml ve incarcarea acestuia'da transofmarea fisierului.txt dosyasını önceden tahmin ediyor.