Ghid complet pentru configurarea unui gateway LoRaWAN

  • Gateway-ul LoRaWAN acționează ca o punte între nodurile LoRa și serverele de rețea, necesitând o configurație atentă a hardware-ului, rețelei IP și parametrilor radio.
  • Fișiere precum global_config.json și local_config.json definesc frecvențele, GPS-ul, gateway_ID-ul și serverele și pot fi chiar gestionate de la distanță folosind repozitoriile GitHub.
  • Integrarea cu platforme precum TTN și AWS IoT Core pentru LoRaWAN necesită înregistrarea gateway-ului, a aplicațiilor și a dispozitivelor finale, alinierea ID-urilor, cheilor și planurilor de frecvență.
  • Monitorizarea continuă prin intermediul consolelor web și API-urilor permite detectarea erorilor de frecvență, a erorilor de conexiune și validarea faptului că uplink-urile sunt recepționate și procesate corect.

Configurarea gateway-ului LoRaWAN

Asamblați și tocați mărunt Configurarea unui gateway LoRaWAN La început poate părea puțin descurajant: parametri radio, rețele, servere, certificate, ID-uri ciudate… dar în realitate, dacă înțelegi fiecare parte, este un proces destul de logic. În acest articol, vom trece de la hardware la serverul LoRaWAN, inclusiv TTN și AWS IoT Core, pentru a vă oferi o prezentare generală completă și practică.

Ne vom baza pe exemple din lumea reală, cum ar fi Gateway-uri RAK (RAK7289, RAK831)Vor fi acoperite rețele publice precum The Things Network (TTN), soluții cloud precum AWS IoT Core pentru LoRaWAN și configurații de la producători precum MOKO. Vom combina tot acest conținut într-un ghid coerent, care include avertismente de securitate, sfaturi pentru găsirea adresei IP a gateway-ului și informații detaliate despre configurația rețelei și a radioului.

Concepte de bază: ce este un gateway LoRaWAN și ce face

o Gateway LoRaWAN Este dispozitivul responsabil pentru ascultarea nodurilor LoRa (senzori, trackere etc.) și transmiterea mesajelor acestora către un server de rețea LoRaWAN prin internet (Ethernet, Wi-Fi, LTE/4G, 5G, satelit etc.). Îl puteți considera un fel de turn de telefonie mobilă dar pentru dispozitive cu putere foarte mică.

La nivel fizic, gateway-ul integrează unul sau mai multe Concentratoare LoRa (cum ar fi RAK831) capabil să monitorizeze mai multe canale în paralel și diferiți factori de răspândire, o placă de control (de exemplu, Raspberry Pi sau un SoC încorporat), interfețe de rețea (Ethernet, Wi-Fi, LTE) și adesea, GPS pentru sincronizare și geolocalizarea aproximativă a nodurilor.

În ecosistemul LoRaWAN, gateway-ul nu interpretează conținutul cadrelor aplicației: pur și simplu încapsulați și transmiteți mai departe Expeditorul de pachete trimite pachete către serverul LoRaWAN (LNS: LoRaWAN Network Server) sau către infrastructura cloud CUPS/LNS. Prin urmare, configurația cheie se învârte în jurul parametrilor radio, identificatorilor gateway și adresei serverului către care vor fi trimise datele.

În funcție de implementare, veți putea utiliza gateway-uri publice (de exemplu, cei din comunitatea TTN din zonele urbane) sau configurați-vă propria poartă de acces pentru a acoperi o zonă rurală, o fermă, un campus educațional sau un mediu industrial unde aveți nevoie de control total asupra infrastructurii.

Hardware tipic al unui gateway LoRaWAN

Pentru a construi sau implementa un gateway, aveți la dispoziție opțiuni variind de la dispozitive comerciale închise până la Kituri de dezvoltare bazate pe Raspberry PiUn exemplu destul de reprezentativ este utilizarea unui hub RAK831 integrat cu un Raspberry Pi.

Un kit tipic de gateway LoRa de acest stil include de obicei toate componentele hardware necesare Pentru a începe fără a fi nevoie să căutați piese individuale: placa concentratorului LoRaWAN în sine, placa de bază, antenele și adaptoarele. Acest lucru accelerează considerabil procesul de configurare și evită problemele de compatibilitate.

În cazul specific al unor kituri MOKO bazate pe RAK831 și Raspberry Pi 3B, pachetul poate include, printre altele, un Placă adaptor GPSAntenă GPS, antenă LoRa din fibră de sticlă cu câștig suficient pentru instalarea pe catarg, câțiva metri de cablu coaxial RG-58, radiator pentru placa concentratorului și chiar exemple de noduri precum WisNode sau trackere LoRa.

Marele avantaj al acestor kituri este că, de obicei, cardul de memorie Raspberry Pi vine preconfigurat cu software-ul gateway (expeditor de pachete, scripturi de configurare etc.), astfel încât nu trebuie să compilați sau să descărcați nimic de pe GitHub pentru a începe, în afară de a ajusta câteva fișiere de configurare.

În porți de acces comerciale, cum ar fi RAK7289Toate componentele hardware sunt integrate într-o carcasă de calitate industrială, potrivită pentru exterior, cu o antenă LoRa și, uneori, o antenă suplimentară pentru LTE/4G. Aceste modele oferă de obicei o interfață de configurare web destul de ghidată, astfel încât munca se concentrează pe parametrii de rețea (IP, DNS etc.) și pe direcționarea gateway-ului către serverul LoRaWAN corect.

Configurarea rețelei gateway: IP static, DHCP și acces inițial

Înainte de a putea atinge partea LoRaWAN, trebuie să vă asigurați că Gateway-ul este conectat corect la rețeaua IP (LAN sau WAN). Fără conexiune la internet (sau la serverul local), este inutil ca radioul să funcționeze corect.

În multe gateway-uri (de exemplu, RAK7289), interfața de administrare este prezentată prin intermediul webului și accesată prin intermediul acestuia Adresă IP în rețeaÎl poți configura ca client DHCP (care obține automat o adresă IP de la router) sau cu o adresă IP statică, în funcție de topologia rețelei tale.

Dacă dispozitivul provine din fabrică sau a fost configurat de o altă organizație, este posibil să fie în modul client DHCPÎn acest caz, va trebui să aflați ce adresă IP a fost atribuită de routerul sau serverul DHCP al rețelei. Pentru a face acest lucru, puteți:

  • Consultați direct Lista de clienți DHCP pe router sau server, identificând gateway-ul după adresa MAC sau numele de gazdă (de exemplu, „RAK7289”).
  • Folosește instrumente precum nmap sau alte scanere IP pentru a descoperi ce dispozitive răspund pe segmentul dvs. de rețea.

Unele gateway-uri includ o punct de acces Wi-Fi de administrare Deschis, conceput special pentru configurarea inițială. Dacă vă conectați la acea rețea Wi-Fi, gateway-ul acționează ca un router, iar adresa IP implicită a gateway-ului de pe computer va fi adresa IP de administrare a dispozitivului.

Un detaliu important de siguranță: odată ce ați terminat pornirea, este recomandabil dezactivați administrarea Wi-Fi-ului decât dacă este strict necesar, deoarece o rețea Wi-Fi deschisă și gestionată prezintă o vulnerabilitate clară în mediile reale.

În interfața de configurare (de exemplu, în meniul Rețea → Interfață WAN al unui gateway RAK), puteți alege între IP static și DHCP, puteți defini DNS, masca de subrețea, gateway-ul, precum și puteți modifica acces la datele de acreditare implicit (nume de utilizator și parolă) pe care nu ar trebui să le părăsiți niciodată, deoarece provin din fabrică.

Configurarea și configurarea gateway-ului în The Things Network (TTN)

Odată ce gateway-ul dvs. are acces la internet, următorul pas în multe implementări comunitare sau de laborator este integrează-l cu TTN (The Things Network), o rețea LoRaWAN gratuită și publică, ideală pentru proiecte educaționale, testare și implementări mici.

Procesul obișnuit începe prin crearea unui cont pe site-ul TTN și accesarea Consolă Din pictograma profilului. Când vă conectați pentru prima dată, sistemul vă va solicita să alegeți regiunea (de exemplu, Europa, America de Nord etc.), iar de acolo puteți accesa secțiunea „Aplicații” sau „Gateway-uri”. Pentru a înregistra gateway-ul, va trebui să accesați în mod specific „Accesați Gateway-uri”.

Pe consola TTN, când apăsați butonul Gateway de înregistrareVi se vor solicita mai multe informații: un ID de gateway, EUI-ul său unic și planul de frecvență pentru regiunea dvs. EUI-ul Gateway este de obicei disponibil în interfața web sau firmware-ul dispozitivului, de obicei în secțiunea de setări de rețea LoRa.

Este esențial ca ID-ul Gateway pe care îl definiți în TTN trebuie să corespundă cu cel configurat pe dispozitiv.mai ales dacă documentația producătorului o impune. În plus, va trebui să selectați planul de frecvență corespunzător (de exemplu, EU868 pentru Europa), care definește canalele disponibile și parametrii radio compatibili cu reglementările țării dumneavoastră.

Odată ce gateway-ul este înregistrat cu TTN, configurația în Consolă este aproape completă. TTN vă va afișa starea gateway-ului (conectat sau nu) atunci când dispozitivul începe să trimită pachete către Expeditor de pachete TTN utilizând adresa serverului corespunzător.

Configurarea redirecționerului de pachete și parametrii LoRaWAN

Interfața gateway (meniul LoRa Network → Network Settings → Packet Forwarder sau similar) este locul unde Parametrii conexiunii serverului LoRaWANAceastă secțiune este puntea dintre lumea radio LoRa și serverul de rețea.

Redirecționarul de pachete este configurat prin specificarea adresa serverului (de exemplu, routerul TTN sau un router personalizat, cum ar fi router.us.mokolora.network în implementările MOKO), precum și porturile upstream și downstream (serv_port_up și serv_port_down). Fiecare server configurat poate fi, de asemenea, activat sau dezactivat folosind un flag tipic, cum ar fi serv_enabled.

În gateway-urile bazate pe MOKO și Raspberry Pi, mulți dintre acești parametri sunt stocați în fișiere JSON, cum ar fi global_config.json y local_config.json, care definesc respectiv configurația generică a regiunii și datele specifice ale gateway-ului (ID, locație, servere etc.).

Fișierul global_config.json include de obicei blocul gateway_conf cu setări pentru GPS și sincronizare, de exemplu:

{"gateway_conf":{"GPS":true,"gps_tty_path":"/dev/ttyAMA0","fake_gps":false}}

În timp ce local_config.json stochează date precum ID_gateway, coordonatele (ref_latitude, ref_longitude, ref_altitude), adresa de e-mail de contact, descrierea și lista serverelor la care se conectează expeditorul de pachete, fiecare cu adresele sale server_address, serv_port_up, serv_port_down și serv_enabled.

Gestionarea fișierelor de configurare și gateway_ID

În sistemele de tip Raspberry Pi cu MOKO, un aspect interesant este modul în care generează și gestionează gateway_ID-ulDe obicei, se calculează din adresa MAC a interfeței de rețea (de exemplu, eth0) folosind un script care o transformă într-un identificator EUI64, inserând „FFFE” între ele și scriind rezultatul cu majusculă.

Acest gateway_ID este apoi utilizat în fișierul local_config.json pentru a identifica în mod unic gateway-ul către serverul LoRaWAN. În plus, multe implementări se bazează pe o schemă de configurație de la distanță bazat pe un repositoriu GitHub unde sunt publicate fișierele global_config.json pentru fiecare regiune și fișierele local_config.json pentru gateway-uri specifice.

Mecanismul funcționează astfel: la pornire, concentratorul LoRa descarcă fișierul de configurare corespunzător gateway_ID-ului său de pe GitHub, verifică dacă există modificări de la ultima pornire și, dacă detectează o versiune nouă, o sincronizează prin crearea unui fișier legătură simbolică din bin/local_config.json în fișierul repozitoriu clonat.

Dacă doriți să profitați de acest sistem, puteți Încărcați propriul fișier de configurare în depozitul la distanțănumindu-l cu gateway_ID-ul (de exemplu, MFP254862KEF1034.json), creați o bifurcație, trimiteți o cerere de extragere (pull request) către depozitul principal și, odată acceptată, gateway-ul dvs. va descărca automat configurația respectivă la pornirile ulterioare.

Acest lucru permite actualizarea parametrilor critici (servere, frecvențe, descriere, date de contact) fără a accesa fizic fiecare gateway, cu condiția ca acesta să aibă conectivitate la internet și software-ul de sincronizare activat.

Setări regionale, canale și erori de frecvență

Un aspect care ridică multe întrebări la configurarea gateway-urilor LoRaWAN este configurația regională a frecvențeiFiecare țară sau zonă geografică are benzi specifice activate pentru LoRa (de exemplu, 868 MHz în Europa, 915 MHz în anumite regiuni ale Americii etc.), iar serverele de rețea validează faptul că pachetele ajung pe frecvențele permise.

Fișierele de configurare globală pentru gateway (global_config.json) definesc canale radio și parametri (frecvențe, lățime de bandă, factor de dispersie etc.) pentru fiecare regiune. Depozite publice cu configurații predefinite pentru mai multe planuri regionale sunt disponibile pe GitHub, ceea ce simplifică foarte mult implementarea.

Dacă configurația gateway-ului nu corespunde cu cea a serverului la care vă conectați, este posibil să întâmpinați erori precum: „Pachet RESPINS, frecvență incompatibilă”De exemplu, gateway-ul ar putea trimite pachete pe 868.3 MHz în timp ce serverul așteaptă pachete în intervalul 890-975 MHz, generând erori în jurnalul de expediere a pachetelor.

Pentru a evita aceste erori, asigurați-vă că descărcați global_config.json corect pentru regiunea dvs.și că serverul dvs. (TTN, MOKO, AWS IoT Core) este configurat cu același plan de frecvență. De asemenea, ar trebui să verificați dacă nodurile finale (trackere, senzori etc.) utilizează aceeași bandă definită pe gateway și pe server.

În țări precum China, de exemplu, se utilizează configurații specifice cu benzi și canale diferite de cele utilizate în Europa, așa că nu este suficient să copiezi pur și simplu orice exemplu de pe internet; trebuie să folosești fișier specific asociat zonei dvs. geografice astfel încât totul să se potrivească.

Conectarea gateway-urilor LoRaWAN la AWS IoT Core

În implementări mai avansate, puteți integra gateway-urile direct cu AWS IoT Core pentru LoRaWAN, utilizând capacitățile cloud ale Amazon pentru gestionarea dispozitivelor, colectarea datelor și procesarea mesajelor.

Fluxul general constă în înregistrarea gateway-ului în AWS IoT Core pentru LoRaWAN, obținerea informațiilor necesare (certificate, adrese URL ale endpoint-urilor) și apoi configurarea dispozitivului gateway pentru a se conecta la Punct final CUPS sau LNS de la AWS, conform protocolului acceptat.

În funcție de tipul de gateway, documentația furnizorului va explica cum încărcați certificatele de încredere Ghidul explică cum se specifică căile către aceste certificate în firmware și cum se direcționează către adresele URL CUPS sau LNS furnizate de AWS. Este important să urmați cu precizie acest ghid, deoarece autentificarea TLS este obligatorie.

Pe gateway-urile compatibile cu protocolul CUPS, va trebui să specificați adresa URL a punctului final CUPS, care va avea un format similar cu: prefix.cups.lorawan.region.amazonaws.com:443. Pe gateway-urile compatibile cu LNS, adresa URL va fi ceva de genul: https://prefix.lns.lorawan.region.amazonaws.com:443, utilizând întotdeauna portul 443 și o conexiune sigură.

După ce certificatele au fost încărcate și endpoint-urile configurate, gateway-ul va începe să comunice cu AWS IoT Core pentru LoRaWAN și puteți verifica starea acestuia (conectat, ultima legătură ascendentă primită etc.) din consola web sau prin intermediul API-ului GetWirelessGatewayStatistics, care returnează informații precum ConnectionStatus și LastUplinkReceivedAt în format JSON.

Utilizarea consolei AWS și a API-ului pentru monitorizarea stării gateway-ului

După conectarea gateway-ului la AWS IoT Core pentru LoRaWAN, platforma oferă mai multe modalități de a verifică dacă totul funcționează corect.Cea mai imediată opțiune este consola web AWS IoT, unde aveți o secțiune specifică Gateway-uri.

În consolă, când selectați gateway-ul pe pagina Gateway-uri, va apărea un bloc Detalii specifice despre LoRaWANAcolo puteți vedea starea conexiunii, împreună cu data și ora ultimei legături în sus primite, permițându-vă să verificați dintr-o privire dacă gateway-ul este activ și comunică cu cloud-ul.

Dacă preferați să automatizați monitorizarea, puteți utiliza API-ul GetWirelessGatewayStatisticsAceastă operațiune nu necesită un corp de cerere și returnează un JSON care indică, de exemplu, ConnectionStatus (Conectat/Deconectat), LastUplinkReceivedAt cu timestamp și WirelessGatewayId corespunzător dispozitivului.

Un exemplu de răspuns ar fi ceva de genul: {"ConnectionStatus":"Connected","LastUplinkReceivedAt":"2021-03-24T23:13:08.476015749Z","WirelessGatewayId":"30cbdcf3-86de-4291-bfab-5bfa2b12bad5"}, pe care le puteți integra în instrumentele de monitorizare sau în tablourile de bord personalizate.

În acest fel, atât din consolă, cât și din API, aveți modalități foarte clare de a detectarea erorilor de conectivitateInactivitate prelungită a gateway-ului sau probleme de configurare care împiedică legăturile ascendente să ajungă corect la AWS IoT Core.

Înregistrarea aplicațiilor și a dispozitivelor finale în TTN

Revenind la mediul TTN, odată ce gateway-ul este operațional și înregistrat, mai este un pas esențial: înregistrați aplicația și dispozitivele finale (noduri, trackere, senzori). Doar pentru că gateway-ul apare ca fiind conectat în TTN nu înseamnă că primiți deja date de la nodurile dvs.

În consola TTN, accesați secțiunea „Aplicații” și creați o aplicație nouă, atribuindu-i un nume/ID. În cadrul acelei aplicații, veți utiliza butonul „înregistrare dispozitiv terminal” Pentru a înregistra fiecare nod LoRaWAN, puteți completa datele manual sau puteți utiliza șabloane, în funcție de tipul dispozitivului.

Parametrii cheie includ DevEUI, JoinEUI (APP-EUI) și AppKeyUnele instrumente, cum ar fi consola proprie a TTN, permit Generați automat DevEUI și AppKey prin butoane de generare, simplificând pornirea atunci când se utilizează noduri generice sau dezvoltări personalizate.

Pentru JoinEUI, în anumite cazuri puteți seta practic orice valoare, atâta timp cât o mențineți în concordanță cu setările dispozitivului (De exemplu, în instrumentul de configurare Loko, parametrul APP-EUI corespunde cu JoinEUI în TTN). Cheile rămase trebuie să se potrivească exact între firmware-ul consolei și cel al nodului.

După ce dispozitivul final este înregistrat, puteți accesa secțiunea de formatare a sarcinii utile și puteți alege opțiuni precum CayenneLPP pentru decodarea uplink-ului. Acest lucru permite reprezentarea datelor în formate mai ușor de utilizat și facilitează integrarea cu tablouri de bord, baze de date și sisteme de vizualizare.

Exemplu practic cu trackere și instrumente de configurare

Un exemplu destul de comun în lumea reală este utilizarea Trackere GPS LoRaWAN pentru a localiza persoane, vehicule sau bunuri prin trimiterea periodică a coordonatelor acestora prin rețea. Dispozitive precum unitățile Dragino TrackerD sau Loko Air ilustrează foarte bine acest proces.

Într-un mediu educațional, de exemplu, mai multe trackere pot fi înregistrate în aceeași aplicație din TTN, profitând de faptul că fiecare dintre ele vine cu acreditări unice (DevEUI, AppEUI/JoinEUI, AppKey) care sunt documentate în manualul dvs. sau pe eticheta dispozitivului. Toate sunt asociate cu aceeași aplicație, dar sunt identificate individual.

Pentru a configura parametrii avansați ai tracker-ului (frecvența de trimitere a coordonatelor, durata alarmei de panică etc.), dispozitivul poate fi conectat prin USB și poate fi utilizată o interfață serială la 115200 baud, trimițând comenzi AT predefiniteUnele modele nu acceptă intrări „tastată cu tasta”; în schimb, întreaga comandă trebuie tastată simultan pentru a fi interpretată corect.

În cazul unităților precum Loko Air, instrumentul Instrument de configurare Loko Îți permite să citești configurația curentă, să activezi modul LoRaWAN și să completezi cei trei parametri esențiali (JoinEUI/AppEUI, DevEUI și AppKey) astfel încât aceștia să corespundă cu informațiile de activare ale dispozitivului final din The Things Network.

După aplicarea setărilor și repornirea dispozitivului, dacă gateway-ul funcționează corect și se află în raza de acțiune, ar trebui să începeți să vedeți trafic în timp real în secțiunea Dispozitive finale a TTN, inclusiv mesaje cu sarcini utile decodificate și locația tracker-ului pe hartă, dacă formatul o permite.

În plus, informațiile afișate în consola TTN pot fi integrate în tablouri de bord publice, cum ar fi Datacakecare permit convertirea datelor brute LoRaWAN în vizualizări ușor de utilizat, tablouri de bord partajabile sau tabele de scor pentru proiecte educaționale și proiecte pilot IoT.

Cu întreaga această călătorie, de la hardware la cloud, inclusiv TTN, AWS și reglarea fină a configurației radio, este clar că un gateway LoRaWAN nu este doar „o antenă”, ci punct nevralgic care conectează lumea fizică a senzorilor cu platformele de date unde este generată efectiv valoarea proiectului.

Ultimul paragraf

Odată ce mecanismele interne sunt înțelese - hardware-ul RAK831 sau RAK7289, fișierele global_config și local_config, sincronizarea la distanță prin GitHub, configurarea IP și dezactivarea rețelei Wi-Fi de administrare, configurarea și parametrizarea TTN, conexiunea securizată cu AWS IoT Core și înregistrarea aplicațiilor și a dispozitivelor finale, cum ar fi trackerele GPS sau unitățile Loko Air - devine mult mai ușor de înțeles că... Configurarea unui gateway LoRaWAN Este pur și simplu suma ordonată a mai multor pași logici, unde cheia este respectarea planului de frecvență regional, alinierea ID-urilor și cheilor între gateway, server și noduri și bazarea pe consolele și API-urile diferitelor servicii pentru a verifica în permanență dacă uplink-urile sosesc și dacă infrastructura LoRaWAN se comportă așa cum vă așteptați în implementarea reală.