
Montera ihop och finhacka Konfigurera en LoRaWAN-gateway Det kan verka lite skrämmande till en början: radioparametrar, nätverk, servrar, certifikat, konstiga ID:n… men i verkligheten, om du förstår varje del, är det en ganska logisk process. I den här artikeln går vi från hårdvaran till LoRaWAN-servern, inklusive TTN och AWS IoT Core, för att ge dig en komplett och praktisk översikt.
Vi kommer att förlita oss på verkliga exempel som t.ex. RAK-gateways (RAK7289, RAK831)Publika nätverk som The Things Network (TTN), molnlösningar som AWS IoT Core för LoRaWAN och tillverkarkonfigurationer som MOKO kommer alla att behandlas. Vi kommer att väva samman allt detta innehåll till en sammanhängande guide, inklusive säkerhetsvarningar, tips för att hitta gatewayens IP-adress och detaljerad information om nätverks- och radiokonfiguration.
Grundläggande begrepp: vad en LoRaWAN-gateway är och vad den gör
en LoRaWAN-gateway Det är enheten som ansvarar för att lyssna på LoRa-noderna (sensorer, spårare etc.) och vidarebefordra deras meddelanden till en LoRaWAN-nätverksserver via internet (Ethernet, Wi-Fi, LTE/4G, 5G, satellit etc.). Du kan tänka på det som ett slags mobiltelefontorn men för enheter med mycket låg strömförbrukning.
På den fysiska nivån integrerar gatewayen en eller flera LoRa-koncentratorer (som RAK831) som kan övervaka flera kanaler parallellt och olika spridningsfaktorer, ett styrkort (t.ex. Raspberry Pi eller en inbäddad SoC), nätverksgränssnitt (Ethernet, Wi-Fi, LTE) och ofta, GPS för synkronisering och ungefärlig geolokalisering av noderna.
I LoRaWAN-ekosystemet tolkar inte gatewayen innehållet i applikationsramar: helt enkelt inkapsla och vidarebefordra Paketvidarebefordraren skickar paket till LoRaWAN-servern (LNS: LoRaWAN Network Server) eller till CUPS/LNS-molninfrastrukturen. Därför kretsar den viktigaste konfigurationen kring radioparametrar, gateway-identifierare och adressen till servern som data ska skickas till.
Beroende på distributionen kommer du att kunna använda offentliga portar (till exempel de i TTN-gemenskapen i stadsområden) eller skapa din egen gateway för att täcka ett landsbygdsområde, en gård, ett utbildningsområde eller en industrimiljö där du behöver total kontroll över infrastrukturen.
Typisk hårdvara för en LoRaWAN-gateway
För att bygga eller driftsätta en gateway har du alternativ som sträcker sig från slutna kommersiella enheter till Raspberry Pi-baserade utvecklingssatserEtt ganska representativt exempel är användningen av en integrerad RAK831-hub med en Raspberry Pi.
Ett typiskt LoRa-gatewaykit av den här typen innehåller vanligtvis alla nödvändiga hårdvarukomponenter För att komma igång utan att behöva leta efter enskilda delar: själva LoRaWAN-koncentratorkortet, moderkortet, antenner och adaptrar. Detta snabbar upp installationsprocessen avsevärt och undviker kompatibilitetsproblem.
I det specifika fallet med vissa MOKO-kit baserade på RAK831 och Raspberry Pi 3B kan paketet bland annat innehålla en GPS-adapterplattaGPS-antenn, LoRa-antenn i glasfiber med tillräcklig förstärkning för mastinstallationer, flera meter RG-58 koaxialkabel, kylfläns för koncentratorkortet och till och med exempelnoder som WisNode eller LoRa-trackers.
Den stora fördelen med dessa kit är att Raspberry Pi-minneskortet vanligtvis levereras förkonfigurerad med gateway-programvara (paketvidarebefordrare, konfigurationsskript, etc.), så att du inte behöver kompilera eller ladda ner något från GitHub för att komma igång, förutom att justera några konfigurationsfiler.
I kommersiella gateways som t.ex. RAK7289All hårdvara är integrerad i ett industriellt, utomhusklart hölje, med en LoRa-antenn och ibland en extra antenn för LTE/4G. Dessa modeller erbjuder vanligtvis ett ganska guidat webbkonfigurationsgränssnitt, så arbetet fokuserar på nätverksparametrar (IP, DNS, etc.) och att peka gatewayen till rätt LoRaWAN-server.
Konfiguration av gateway-nätverk: Statisk IP, DHCP och initial åtkomst
Innan du kan röra LoRaWAN-delen måste du se till att Gatewayen är korrekt ansluten till IP-nätverket (LAN eller WAN). Utan internetanslutning (eller till din lokala server) är det meningslöst för radion att fungera korrekt.
I många gateways (till exempel RAK7289) presenteras administrationsgränssnittet via webben och nås genom dess IP-adress på nätverketDu kan konfigurera den som en DHCP-klient (som automatiskt hämtar en IP-adress från routern) eller med en statisk IP-adress beroende på din nätverkstopologi.
Om enheten kom från fabriken eller konfigurerades av en annan organisation kan den vara i läge klient DHCPI så fall behöver du ta reda på vilken IP-adress din router eller nätverkets DHCP-server har tilldelat. För att göra detta kan du:
- Rådfråga direkt DHCP -klientlista på routern eller servern, identifiera gatewayen med dess MAC-adress eller värdnamn (till exempel ”RAK7289”).
- Använd verktyg som nmap eller andra IP-skannrar för att upptäcka vilka enheter som svarar på ditt nätverkssegment.
Vissa gateways inkluderar en hantering av Wi-Fi-åtkomstpunkt Öppen, utformad specifikt för den initiala installationen. Om du ansluter till det Wi-Fi-nätverket fungerar gatewayen som en router, och standardgateway-IP-adressen på din dator blir enhetens administrations-IP.
En viktig säkerhetsdetalj: när du har avslutat uppstarten är det lämpligt inaktivera hantering av Wi-Fi om det inte är absolut nödvändigt, eftersom ett öppet, hanterat Wi-Fi-nätverk utgör en tydlig sårbarhet i verkliga miljöer.
I konfigurationsgränssnittet (till exempel i menyn Nätverk → WAN-gränssnitt för en RAK-gateway) kan du välja mellan statisk IP och DHCP, definiera DNS, subnätmask, gateway samt ändra åtkomstbevis som standard (användarnamn och lösenord) som du aldrig bör lämna eftersom de kommer från fabriken.
Gateway-installation och konfiguration i The Things Network (TTN)
När din gateway har internetåtkomst är nästa steg i många implementeringar i samhället eller på laboratorier att integrera den med TTN (The Things Network), ett gratis och offentligt LoRaWAN-nätverk idealiskt för utbildningsprojekt, testning och små implementeringar.
Den vanliga processen börjar med att skapa ett konto på TTN:s webbplats och gå in på Trösta Från profilikonen. När du loggar in för första gången kommer systemet att be dig välja din region (till exempel Europa, Nordamerika osv.), och därifrån kan du gå till avsnittet "Program" eller "Gateways". För att registrera gatewayen måste du gå specifikt till "Gå till Gateways".
På TTN-konsolen, när du trycker på knappen Registrera gatewayDu kommer att bli ombedd att ange flera uppgifter: ett gateway-ID, dess unika EUI och frekvensplanen för din region. Gateway-EUI:n finns vanligtvis i enhetens webbgränssnitt eller firmware, vanligtvis i avsnittet LoRa-nätverksinställningar.
Det är viktigt att Gateway-ID:t som du definierar i TTN måste matcha det som är konfigurerat på enheten.särskilt om tillverkarens dokumentation kräver det. Dessutom måste du välja lämplig frekvensplan (till exempel EU868 för Europa), som definierar tillgängliga kanaler och radioparametrar som är kompatibla med ditt lands bestämmelser.
När gatewayen är registrerad hos TTN är konfigurationen i konsolen nästan klar. TTN visar gatewayens status (ansluten eller inte) när enheten börjar skicka paket till den. TTN-paketvidarebefordrare med hjälp av motsvarande serveradress.
Konfiguration av paketvidarebefordrare och LoRaWAN-parametrar
Gateway-gränssnittet (LoRa Network-meny → Nätverksinställningar → Paketvidarebefordrare eller liknande) är där Parametrar för LoRaWAN-serveranslutningDenna sektion är bryggan mellan LoRa-radiovärlden och nätverksservern.
Paketvidarebefordran konfigureras genom att ange serveradress (till exempel TTN-routern eller en anpassad router, till exempel router.us.mokolora.network i MOKO-distributioner), samt uppströms- och nedströmsportarna (serv_port_up och serv_port_down). Varje konfigurerad server kan också aktiveras eller inaktiveras med en typisk flagga, till exempel serv_enabled.
I MOKO- och Raspberry Pi-baserade gateways lagras många av dessa parametrar i JSON-filer, t.ex. global_config.json y local_config.json, som definierar den generiska regionkonfigurationen respektive den specifika gateway-datan (ID, plats, servrar etc.).
Filen global_config.json innehåller vanligtvis blocket gateway_conf med inställningar för GPS och synkronisering, till exempel:
{"gateway_conf":{"GPS":true,"gps_tty_path":"/dev/ttyAMA0","fake_gps":false}}
Medan local_config.json lagrar data som gateway_ID, koordinater (ref_latitude, ref_longitude, ref_altitude), kontakt-e-postadress, beskrivning och listan över servrar som paketvidarebefordraren ansluter till, var och en med sin server_address, serv_port_up, serv_port_down och serv_enabled.
Hantering av konfigurationsfiler och gateway_ID
I Raspberry Pi-liknande system med MOKO är en intressant aspekt hur det genererar och hanterar gateway_IDDen beräknas vanligtvis från nätverksgränssnittets MAC-adress (t.ex. eth0) med hjälp av ett skript som omvandlar den till en EUI64-identifierare, genom att infoga "FFFE" emellan och skriva resultatet med versal.
Detta gateway_ID används sedan i filen local_config.json för att unikt identifiera gatewayen till LoRaWAN-servern. Dessutom förlitar sig många distributioner på ett schema med fjärrkonfiguration baserat på ett GitHub-arkiv där global_config.json-filerna för varje region och local_config.json-filerna för specifika gateways publiceras.
Mekanismen fungerar så här: vid uppstart laddar LoRa-koncentratorn ner konfigurationsfilen som motsvarar dess gateway_ID från GitHub, kontrollerar om det finns ändringar sedan senaste uppstarten och om den upptäcker en ny version synkroniserar den genom att skapa en symbolisk länk från bin/local_config.json till den klonade arkivfilen.
Om du vill dra nytta av det här systemet kan du Ladda upp din egen konfigurationsfil till fjärrarkivetgenom att namnge den med gateway_ID (till exempel MFP254862KEF1034.json), forka den, skicka en pull request till huvudarkivet och, när den har accepterats, kommer din gateway automatiskt att ladda ner konfigurationen vid efterföljande starter.
Detta gör att kritiska parametrar (servrar, frekvenser, beskrivning, kontaktuppgifter) kan uppdateras utan fysisk åtkomst till varje gateway, förutsatt att den har internetanslutning och synkroniseringsprogramvaran är aktiverad.
Regionala inställningar, kanaler och frekvensfel
En aspekt som orsakar många frågor vid konfigurering av LoRaWAN-gateways är regional frekvenskonfigurationVarje land eller geografiskt område har specifika band aktiverade för LoRa (till exempel 868 MHz i Europa, 915 MHz i vissa regioner i Amerika, etc.) och nätverksservrar validerar att paketen anländer på tillåtna frekvenser.
De globala konfigurationsfilerna för gatewayen (global_config.json) definierar radiokanaler och parametrar (frekvenser, bandbredd, spridningsfaktor etc.) för varje region. Offentliga databaser med fördefinierade konfigurationer för flera regionala planer finns tillgängliga på GitHub, vilket avsevärt förenklar distributionen.
Om din gatewaykonfiguration inte matchar den för servern du ansluter till kan du stöta på fel som: "Paket AVVISATS, frekvensen är inte kompatibel"Till exempel kan gatewayen skicka paket på 868.3 MHz medan servern väntar på paket i intervallet 890–975 MHz, vilket genererar fel i paketvidarebefordringsloggen.
För att undvika dessa fel, se till att du laddar ner global_config.json är korrekt för din regionoch att din server (TTN, MOKO, AWS IoT Core) är konfigurerad med samma frekvensplan. Du bör också kontrollera att slutnoderna (spårare, sensorer etc.) använder samma band som definierats på gatewayen och servern.
I länder som Kina används till exempel specifika konfigurationer med andra band och kanaler än de som används i Europa, så det räcker inte att bara kopiera vilket exempel som helst från internet; man måste använda specifik fil kopplad till ditt geografiska område så att allting passar ihop.
Ansluta LoRaWAN-gateways till AWS IoT Core
I mer avancerade implementeringar kan du integrera dina gateways direkt med AWS IoT Core för LoRaWAN, med hjälp av Amazons molnfunktioner för enhetshantering, datainsamling och meddelandebehandling.
Det allmänna flödet består av att registrera gatewayen i AWS IoT Core för LoRaWAN, hämta nödvändig information (certifikat, slutpunkts-URL:er) och sedan konfigurera gateway-enheten för att ansluta till CUPS- eller LNS-slutpunkt från AWS, enligt det protokoll som stöds.
Beroende på typ av gateway kommer leverantörens dokumentation att förklara hur ladda upp förtroendecertifikaten Guiden förklarar hur man anger sökvägarna till dessa certifikat i den inbyggda programvaran och hur man pekar dem till CUPS- eller LNS-URL:erna som tillhandahålls av AWS. Det är viktigt att följa guiden noggrant, eftersom TLS-autentisering är obligatorisk.
På gateways som är kompatibla med CUPS-protokollet måste du ange CUPS-slutpunktens URL, som har ett format som liknar prefix.cups.lorawan.region.amazonaws.com:443. På gateways som är kompatibla med LNS kommer URL:en att vara något i stil med: https://prefix.lns.lorawan.region.amazonaws.com:443, alltid med hjälp av port 443 och säker anslutning.
När certifikaten har laddats upp och slutpunkterna konfigurerats börjar gatewayen kommunicera med AWS IoT Core för LoRaWAN och du kan kontrollera dess status (ansluten, senast mottagen upplänk, etc.) från webbkonsolen eller via GetWirelessGatewayStatistics API, som returnerar information som ConnectionStatus och LastUplinkReceivedAt i JSON-format.
Använda AWS-konsolen och API:et för att övervaka gatewaystatus
Efter att ha anslutit gatewayen till AWS IoT Core för LoRaWAN erbjuder plattformen flera sätt att verifiera att allt fungerar korrekt.Det mest omedelbara alternativet är AWS IoT-webbkonsolen, där du har en specifik gateway-sektion.
I konsolen, när du väljer din gateway på sidan Gateways, visas ett block Specifika detaljer om LoRaWANDär kan du se anslutningsstatusen, tillsammans med datum och tid för den senaste mottagna upplänken, vilket gör att du med en snabb blick kan kontrollera om gatewayen är aktiv och kommunicerar med molnet.
Om du föredrar att automatisera övervakningen kan du använda GetWirelessGatewayStatistics APIDen här åtgärden kräver ingen begärandetext och returnerar en JSON som till exempel anger ConnectionStatus (Connected/Disconnected), LastUplinkReceivedAt med tidsstämpel och WirelessGatewayId som motsvarar enheten.
Ett exempel på ett svar skulle vara något i stil med: {"ConnectionStatus":"Connected","LastUplinkReceivedAt":"2021-03-24T23:13:08.476015749Z","WirelessGatewayId":"30cbdcf3-86de-4291-bfab-5bfa2b12bad5"}, som du kan integrera i dina övervakningsverktyg eller anpassade dashboards.
På så sätt har du, både från konsolen och från API:et, mycket tydliga sätt att upptäcka anslutningsfellångvarig gateway-inaktivitet eller konfigurationsproblem som förhindrar att upplänkar når AWS IoT Core korrekt.
Registrering av applikationer och slutenheter i TTN
Om vi återgår till TTN-miljön, när du väl har gatewayen i drift och registrerat, finns det fortfarande ett viktigt steg kvar: registrera applikationen och slutenheterna (noder, spårare, sensorer). Bara för att gatewayen visas som ansluten i TTN betyder det inte att du redan tar emot data från dina noder.
I TTN-konsolen, gå till avsnittet "Applikationer" och skapa en ny applikation, ge den ett namn/ID. Inom den applikationen använder du knappen "registrera slutenhet" För att registrera varje LoRaWAN-nod kan du fylla i informationen manuellt eller använda mallar, beroende på enhetstyp.
Viktiga parametrar inkluderar DevEUI, JoinEUI (APP-EUI) och AppKeyVissa verktyg, som TTN:s egen konsol, tillåter Generera automatiskt DevEUI och AppKey genom genereringsknappar, vilket förenklar uppstarten vid användning av generiska noder eller anpassade utvecklingar.
För JoinEUI kan du i vissa fall ange praktiskt taget vilket värde som helst så länge du håller det konsekvent med enhetsinställningar (Till exempel, i Loko-konfigurationsverktyget motsvarar parametern APP-EUI JoinEUI i TTN). De återstående nycklarna måste matcha exakt mellan konsolen och nodens firmware.
När den slutliga enheten är registrerad kan du gå till avsnittet för nyttolastformaterare och välja alternativ som Cayenne LPP för upplänksavkodning. Detta gör att data kan representeras i mer användarvänliga format och underlättar integration med dashboards, databaser och visualiseringssystem.
Praktiskt exempel med spårare och konfigurationsverktyg
Ett ganska vanligt exempel från verkligheten är användningen av LoRaWAN GPS-spårare att lokalisera personer, fordon eller tillgångar genom att regelbundet skicka deras koordinater över nätverket. Enheter som Dragino TrackerD eller Loko Air illustrerar denna process mycket väl.
I en utbildningsmiljö kan till exempel flera spårare registreras under samma applikation i TTN, vilket utnyttjar det faktum att var och en kommer med unika inloggningsuppgifter (DevEUI, AppEUI/JoinEUI, AppKey) som finns dokumenterade i din manual eller på enhetens etikett. De är alla associerade med samma applikation men är individuellt identifierade.
För att konfigurera avancerade spårningsparametrar (frekvens för sändning av koordinater, varaktighet för paniklarmet etc.) kan enheten anslutas via USB och ett seriellt gränssnitt kan användas vid 115200 baud, vilket skickar fördefinierade AT-kommandonVissa modeller accepterar inte inmatningar "tangent för tangent"; istället måste hela kommandot skrivas på en gång för att tolkas korrekt.
När det gäller enheter som Loko Air, verktyget Loko-konfigurationsverktyget Den låter dig läsa den aktuella konfigurationen, aktivera LoRaWAN-läge och fylla i de tre viktiga parametrarna (JoinEUI/AppEUI, DevEUI och AppKey) så att de matchar aktiveringsinformationen för slutenheten i The Things Network.
Om gatewayen fungerar korrekt och är inom räckhåll efter att du har tillämpat inställningarna och startat om enheten, bör du börja se livetrafik i avsnittet Slutenheter i TTN, inklusive meddelanden med avkodade nyttolaster och spårarens plats på kartan om formatet tillåter det.
Dessutom kan informationen som visas i TTN-konsolen integreras i offentliga dashboards som t.ex. Datacakevilket möjliggör omvandling av LoRaWAN-rådata till användarvänliga visualiseringar, delbara dashboards eller resultattavlor för utbildningsprojekt och IoT-pilotprojekt.
Med hela denna resa, från hårdvara till molnet, inklusive TTN, AWS och finjustering av radiokonfigurationen, är det tydligt att en LoRaWAN-gateway inte bara är "en antenn", utan neuralgisk punkt som kopplar samman sensorernas fysiska värld med de dataplattformar där projektets värde faktiskt genereras.
Sista stycket
När man väl förstår de interna funktionerna – RAK831- eller RAK7289-hårdvara, global_config- och local_config-filer, fjärrsynkronisering via GitHub, IP-konfiguration och inaktivering av hanterings-Wi-Fi, TTN-installation och parametrisering, säker anslutning med AWS IoT Core och registrering av applikationer och slutenheter som GPS-spårare eller Loko Air-enheter – blir det mycket lättare att förstå att Konfigurera en LoRaWAN-gateway Det är helt enkelt den ordnade summan av flera logiska steg, där nyckeln är att respektera den regionala frekvensplanen, justera ID:n och nycklar mellan gateway, server och noder, och förlita sig på konsolerna och API:erna för de olika tjänsterna för att hela tiden verifiera att upplänkarna anländer och att LoRaWAN-infrastrukturen beter sig som förväntat i din faktiska driftsättning.