
Sett sammen og finhakk Konfigurering av en LoRaWAN-gateway Det kan virke litt skremmende i starten: radioparametere, nettverk, servere, sertifikater, merkelige ID-er ... men i virkeligheten, hvis du forstår hver del, er det en ganske logisk prosess. I denne artikkelen går vi fra maskinvaren til LoRaWAN-serveren, inkludert TTN og AWS IoT Core, for å gi deg en komplett og praktisk oversikt.
Vi vil basere oss på eksempler fra den virkelige verden, som f.eks. RAK-gatewayer (RAK7289, RAK831)Offentlige nettverk som The Things Network (TTN), skyløsninger som AWS IoT Core for LoRaWAN og produsentkonfigurasjoner som MOKO vil alle bli dekket. Vi vil veve alt dette innholdet inn i en sammenhengende veiledning, inkludert sikkerhetsadvarsler, tips for å finne gatewayens IP-adresse og detaljert informasjon om nettverks- og radiokonfigurasjon.
Grunnleggende konsepter: hva en LoRaWAN-gateway er og hva den gjør
en LoRaWAN-gateway Det er enheten som er ansvarlig for å lytte til LoRa-nodene (sensorer, trackere osv.) og videresende meldingene deres til en LoRaWAN-nettverksserver over internett (Ethernet, Wi-Fi, LTE/4G, 5G, satellitt osv.). Du kan tenke på det som en slags mobiltelefontårn men for enheter med svært lavt strømforbruk.
På det fysiske nivået integrerer gatewayen én eller flere LoRa-konsentratorer (som RAK831) som er i stand til å overvåke flere kanaler parallelt og forskjellige spredningsfaktorer, et kontrollkort (f.eks. Raspberry Pi eller en innebygd SoC), nettverksgrensesnitt (Ethernet, Wi-Fi, LTE), og ofte, GPS for synkronisering og omtrentlig geolokalisering av nodene.
I LoRaWAN-økosystemet tolker ikke gatewayen innholdet i applikasjonsrammer: bare innkapsle og videresende Pakkesenderen sender pakker til LoRaWAN-serveren (LNS: LoRaWAN Network Server) eller til CUPS/LNS-skyinfrastrukturen. Derfor dreier nøkkelkonfigurasjonen seg om radioparametere, gateway-identifikatorer og adressen til serveren som dataene skal sendes til.
Avhengig av utplasseringen vil du kunne bruke offentlige porter (for eksempel de i TTN-samfunnet i byområder) eller opprett din egen gateway for å dekke et landlig område, en gård, et utdanningsområde eller et industrimiljø der du trenger full kontroll over infrastrukturen.
Typisk maskinvare for en LoRaWAN-gateway
For å bygge eller distribuere en gateway har du alternativer som spenner fra lukkede kommersielle enheter til Raspberry Pi-baserte utviklingssettEt ganske representativt eksempel er bruken av en integrert RAK831-hub med en Raspberry Pi.
Et typisk LoRa-gatewaysett av denne typen inkluderer vanligvis alle nødvendige maskinvarekomponenter For å komme i gang uten å måtte lete etter individuelle deler: selve LoRaWAN-konsentratorkortet, hovedkortet, antenner og adaptere. Dette fremskynder installasjonsprosessen betraktelig og unngår kompatibilitetsproblemer.
I det spesifikke tilfellet med noen MOKO-sett basert på RAK831 og Raspberry Pi 3B, kan pakken blant annet inneholde en GPS-adapterplateGPS-antenne, LoRa-antenne i glassfiber med tilstrekkelig forsterkning for mastinstallasjoner, flere meter med RG-58 koaksialkabel, kjøleribbe for konsentratorkortet og til og med eksempelnoder som WisNode- eller LoRa-trackere.
Den store fordelen med disse settene er at Raspberry Pi-minnekortet vanligvis kommer med forhåndskonfigurert med gateway-programvare (pakkevideresender, konfigurasjonsskript osv.), slik at du ikke trenger å kompilere eller laste ned noe fra GitHub for å komme i gang, utover å finjustere noen få konfigurasjonsfiler.
I kommersielle portaler som f.eks. RAK7289All maskinvaren er integrert i et utendørsskap av industriell kvalitet, med en LoRa-antenne og noen ganger en ekstra antenne for LTE/4G. Disse modellene tilbyr vanligvis et ganske veiledet webkonfigurasjonsgrensesnitt, slik at arbeidet fokuserer på nettverksparametere (IP, DNS osv.) og å peke gatewayen til riktig LoRaWAN-server.
Konfigurasjon av gateway-nettverk: Statisk IP, DHCP og første tilgang
Før du kan berøre LoRaWAN-delen, må du sørge for at Gatewayen er riktig koblet til IP-nettverket (LAN eller WAN). Uten internettforbindelse (eller til din lokale server) er det meningsløst at radioen fungerer som den skal.
I mange gatewayer (for eksempel RAK7289) presenteres administrasjonsgrensesnittet via nettet og nås gjennom dets IP-adressen på nettverketDu kan konfigurere den som en DHCP-klient (som henter en IP-adresse automatisk fra ruteren) eller med en statisk IP-adresse, avhengig av nettverkstopologien din.
Hvis enheten kom fra fabrikken eller ble konfigurert av en annen organisasjon, kan den være i modus DHCP-klientI så fall må du finne ut hvilken IP-adresse ruteren eller nettverkets DHCP-server har tildelt. For å gjøre dette kan du:
- Kontakt direkte DHCP -klientliste på ruteren eller serveren, og identifiser gatewayen med MAC-adressen eller vertsnavnet (for eksempel «RAK7289»).
- Bruk verktøy som nmap eller andre IP-skannere for å oppdage hvilke enheter som svarer på nettverkssegmentet ditt.
Noen gatewayer inkluderer en Wi-Fi-tilgangspunkt for administrasjon Åpen, spesielt utviklet for det første oppsettet. Hvis du kobler til det Wi-Fi-nettverket, fungerer gatewayen som en ruter, og standard gateway-IP-adresse på datamaskinen din vil være enhetens administrasjons-IP.
En viktig sikkerhetsdetalj: Når du er ferdig med oppstarten, anbefales det deaktiver Wi-Fi-administrasjon med mindre det er strengt nødvendig, siden et åpent, administrert Wi-Fi-nettverk utgjør en klar sårbarhet i virkelige miljøer.
I konfigurasjonsgrensesnittet (for eksempel i menyen Nettverk → WAN-grensesnitt for en RAK-gateway) kan du velge mellom statisk IP og DHCP, definere DNS, nettverksmaske, gateway, samt endre tilgang til legitimasjon som standard (brukernavn og passord) som du aldri bør legge igjen, siden de kommer fra fabrikken.
Gateway-oppsett og -konfigurasjon i The Things Network (TTN)
Når gatewayen din har internettilgang, er neste trinn i mange lokalsamfunns- eller laboratorieimplementeringer integrere den med TTN (The Things Network), et gratis og offentlig LoRaWAN-nettverk ideelt for utdanningsprosjekter, testing og små utrullinger.
Den vanlige prosessen starter med å opprette en konto på TTNs nettsted og få tilgang til konsoll Fra profilikonet. Når du logger deg inn for første gang, vil systemet be deg om å velge region (for eksempel Europa, Nord-Amerika osv.), og derfra kan du gå til delen «Programmer» eller «Gatewayer». For å registrere gatewayen må du gå spesifikt til «Gå til Gatewayer».
På TTN-konsollen, når du trykker på knappen Registrer gatewayDu vil bli bedt om flere opplysninger: en gateway-ID, dens unike EUI og frekvensplanen for din region. Gateway-EUI-en er vanligvis tilgjengelig i enhetens nettgrensesnitt eller fastvare, vanligvis i LoRa-nettverksinnstillingene.
Det er viktig at Gateway-ID-en du definerer i TTN må samsvare med den som er konfigurert på enheten.spesielt hvis produsentens dokumentasjon krever det. I tillegg må du velge riktig frekvensplan (for eksempel EU868 for Europa), som definerer tilgjengelige kanaler og radioparametere som er kompatible med landets forskrifter.
Når gatewayen er registrert hos TTN, er konfigurasjonen i konsollen nesten fullført. TTN vil vise deg gatewayens status (tilkoblet eller ikke) når enheten begynner å sende pakker til TTN-pakkevideresender ved å bruke den tilhørende serveradressen.
Konfigurasjon av pakkevideresending og LoRaWAN-parametere
Gateway-grensesnittet (LoRa Network-meny → Nettverksinnstillinger → Pakkevideresending eller lignende) er der Parametere for tilkobling til LoRaWAN-serverenDenne delen er broen mellom LoRa-radioverdenen og nettverksserveren.
Pakkesenderen konfigureres ved å spesifisere serveradresse (for eksempel TTN-ruteren eller en tilpasset ruter, som router.us.mokolora.network i MOKO-distribusjoner), samt oppstrøms- og nedstrømsportene (serv_port_up og serv_port_down). Hver konfigurerte server kan også aktiveres eller deaktiveres ved hjelp av et typisk flagg, for eksempel serv_enabled.
I MOKO- og Raspberry Pi-baserte gatewayer lagres mange av disse parameterne i JSON-filer, for eksempel global_config.json y local_config.json, som henholdsvis definerer den generiske regionkonfigurasjonen og de spesifikke gateway-dataene (ID, plassering, servere osv.).
global_config.json-filen inneholder vanligvis gateway_conf-blokken med innstillinger for GPS og synkronisering, for eksempel:
{"gateway_conf":{"GPS":true,"gps_tty_path":"/dev/ttyAMA0","fake_gps":false}}
Mens local_config.json lagrer data som gateway_ID, koordinater (ref_latitude, ref_longitude, ref_altitude), kontakt-e-postadresse, beskrivelse og listen over servere som pakkevideresenderen kobler seg til, hver med sin server_address, serv_port_up, serv_port_down og serv_enabled.
Konfigurasjonsfilhåndtering og gateway_ID
I Raspberry Pi-lignende systemer med MOKO er et interessant aspekt hvordan det genererer og administrerer gateway_IDDen beregnes vanligvis fra MAC-adressen til nettverksgrensesnittet (f.eks. eth0) ved hjelp av et skript som transformerer den til en EUI64-identifikator, setter inn "FFFE" mellom og skriver resultatet med stor forbokstav.
Denne gateway_ID-en brukes deretter i local_config.json-filen for å identifisere gatewayen til LoRaWAN-serveren unikt. Videre er mange distribusjoner avhengige av et skjema med ekstern konfigurasjon basert på et GitHub-repositorium der global_config.json-filene for hver region og local_config.json-filene for spesifikke gatewayer publiseres.
Mekanismen fungerer slik: ved oppstart laster LoRa-konsentratoren ned konfigurasjonsfilen som tilsvarer gateway_ID-en fra GitHub, sjekker for endringer siden forrige oppstart, og hvis den oppdager en ny versjon, synkroniserer den ved å opprette en symbolsk lenke fra bin/local_config.json til den klonede depotfilen.
Hvis du vil benytte deg av dette systemet, kan du Last opp din egen konfigurasjonsfil til det eksterne arkivetved å navngi den med gateway_ID (for eksempel MFP254862KEF1034.json), forka den, send en pull-forespørsel til hovedrepositoriet, og når den er godkjent, vil gatewayen automatisk laste ned konfigurasjonen ved påfølgende oppstarter.
Dette gjør at kritiske parametere (servere, frekvenser, beskrivelse, kontaktinformasjon) kan oppdateres uten fysisk tilgang til hver gateway, forutsatt at den har Internett-tilkobling og synkroniseringsprogramvaren er aktivert.
Regionale innstillinger, kanaler og frekvensfeil
Et aspekt som forårsaker mange spørsmål ved konfigurering av LoRaWAN-gatewayer er regional frekvenskonfigurasjonHvert land eller geografisk område har spesifikke bånd aktivert for LoRa (for eksempel 868 MHz i Europa, 915 MHz i visse regioner i Amerika, osv.), og nettverksservere validerer at pakkene ankommer på tillatte frekvenser.
De globale konfigurasjonsfilene for gatewayen (global_config.json) definerer radiokanaler og parametere (frekvenser, båndbredde, spredningsfaktor osv.) for hver region. Offentlige databaser med forhåndsdefinerte konfigurasjoner for flere regionale planer er tilgjengelige på GitHub, noe som forenkler utrullingen betraktelig.
Hvis gateway-konfigurasjonen din ikke samsvarer med serveren du kobler til, kan du støte på feil som: «Pakke AVVIST, frekvensen er ikke kompatibel»For eksempel kan gatewayen sende pakker på 868.3 MHz mens serveren venter på pakker i området 890–975 MHz, noe som genererer feil i loggen for pakkevideresendingen.
For å unngå disse feilene, sørg for at du laster ned global_config.json er riktig for din regionog at serveren din (TTN, MOKO, AWS IoT Core) er konfigurert med samme frekvensplan. Du bør også bekrefte at sluttnodene (trackere, sensorer osv.) bruker samme bånd som er definert på gatewayen og serveren.
I land som Kina, for eksempel, brukes spesifikke konfigurasjoner med andre bånd og kanaler enn de som brukes i Europa, så det er ikke nok å bare kopiere et eksempel fra internett; du må bruke spesifikk fil tilknyttet ditt geografiske område slik at alt passer sammen.
Koble LoRaWAN-gatewayer til AWS IoT Core
I mer avanserte implementeringer kan du integrere gatewayene dine direkte med AWS IoT Core for LoRaWAN, ved hjelp av Amazons skyfunksjoner for enhetsadministrasjon, datainnsamling og meldingsbehandling.
Den generelle prosessen består av å registrere gatewayen i AWS IoT Core for LoRaWAN, innhente nødvendig informasjon (sertifikater, endepunkt-URL-er), og deretter konfigurere gateway-enheten til å koble til CUPS- eller LNS-endepunkt fra AWS, i henhold til den støttede protokollen.
Avhengig av typen gateway, vil leverandørens dokumentasjon forklare hvordan last opp tillitssertifikatene Veiledningen forklarer hvordan du spesifiserer stiene til disse sertifikatene i fastvaren og hvordan du peker dem til CUPS- eller LNS-URL-ene som leveres av AWS. Det er viktig å følge denne veiledningen nøyaktig, ettersom TLS-autentisering er obligatorisk.
På gatewayer som er kompatible med CUPS-protokollen, må du angi URL-en for CUPS-endepunktet, som vil ha et format som ligner på: prefix.cups.lorawan.region.amazonaws.com:443. På gatewayer som er kompatible med LNS, vil URL-en være noe sånt som: https://prefix.lns.lorawan.region.amazonaws.com:443, alltid med port 443 og sikker tilkobling.
Når sertifikatene er lastet opp og endepunktene er konfigurert, vil gatewayen begynne å kommunisere med AWS IoT Core for LoRaWAN og du kan sjekke statusen (tilkoblet, siste mottatt opplink osv.) fra webkonsollen eller via GetWirelessGatewayStatistics API, som returnerer informasjon som ConnectionStatus og LastUplinkReceivedAt i JSON-format.
Bruk av AWS-konsollen og API-et til å overvåke gatewaystatus
Etter at porten er koblet til AWS IoT Core for LoRaWAN, tilbyr plattformen flere måter å bekrefte at alt fungerer som det skal.Det mest umiddelbare alternativet er AWS IoT-webkonsollen, hvor du har en spesifikk Gateways-seksjon.
Når du velger gatewayen din på Gateways-siden i konsollen, vises en blokk. Spesifikke detaljer om LoRaWANDer kan du se tilkoblingsstatusen, sammen med dato og klokkeslett for siste mottatte opplink, slik at du raskt kan sjekke om gatewayen er aktiv og kommuniserer med skyen.
Hvis du foretrekker å automatisere overvåkingen, kan du bruke GetWirelessGatewayStatistics APIDenne operasjonen krever ikke en forespørselstekst og returnerer en JSON som for eksempel angir ConnectionStatus (Connected/Disconnected), LastUplinkReceivedAt med tidsstempel og WirelessGatewayId som tilsvarer enheten.
Et eksempel på et svar ville være noe sånt som: {"ConnectionStatus":"Connected","LastUplinkReceivedAt":"2021-03-24T23:13:08.476015749Z","WirelessGatewayId":"30cbdcf3-86de-4291-bfab-5bfa2b12bad5"}, som du kan integrere i overvåkingsverktøyene eller tilpassede dashbordene dine.
På denne måten har du svært tydelige måter å gjøre det på, både fra konsollen og fra API-et. oppdage tilkoblingsfeillangvarig gateway-inaktivitet eller konfigurasjonsproblemer som hindrer oppkoblinger i å nå AWS IoT Core riktig.
Registrering av applikasjoner og sluttenheter i TTN
Når vi går tilbake til TTN-miljøet, er det fortsatt ett viktig trinn igjen når du har gatewayen operativ og registrert: registrer applikasjonen og sluttenhetene (noder, sporere, sensorer). Bare fordi gatewayen vises som tilkoblet i TTN, betyr det ikke at du allerede mottar data fra nodene dine.
I TTN-konsollen går du til delen «Applikasjoner» og oppretter en ny applikasjon, og gir den et navn/en ID. I den applikasjonen bruker du knappen «registrer sluttenhet» For å registrere hver LoRaWAN-node kan du fylle ut dataene manuelt eller bruke maler, avhengig av enhetstypen.
Viktige parametere inkluderer DevEUI, JoinEUI (APP-EUI) og AppKeyNoen verktøy, som TTNs egen konsoll, tillater Generer DevEUI og AppKey automatisk gjennom genereringsknapper, noe som forenkler oppstarten ved bruk av generiske noder eller tilpassede utviklinger.
For JoinEUI kan du i visse tilfeller angi så godt som hvilken som helst verdi så lenge du holder den i samsvar med enhetsinnstillinger (For eksempel, i Loko-konfigurasjonsverktøyet tilsvarer APP-EUI-parameteren JoinEUI i TTN). De resterende nøklene må samsvare nøyaktig mellom konsollen og nodens firmware.
Når den endelige enheten er registrert, kan du gå til delen for nyttelastformatering og velge alternativer som CayenneLPP for opplink-dekoding. Dette gjør at data kan representeres i mer brukervennlige formater og forenkler integrering med dashbord, databaser og visualiseringssystemer.
Praktisk eksempel med sporere og konfigurasjonsverktøy
Et ganske vanlig eksempel fra den virkelige verden er bruken av LoRaWAN GPS-sporere å lokalisere personer, kjøretøy eller eiendeler ved å sende koordinatene deres over nettverket med jevne mellomrom. Enheter som Dragino TrackerD eller Loko Air illustrerer denne prosessen veldig godt.
I en utdanningssetting kan for eksempel flere trackere registreres under samme applikasjon i TTN, og dra nytte av det faktum at hver enkelt kommer med unike legitimasjonsopplysninger (DevEUI, AppEUI/JoinEUI, AppKey) som er dokumentert i håndboken eller på enhetsetiketten. De er alle tilknyttet samme applikasjon, men er individuelt identifisert.
For å konfigurere avanserte trackerparametere (frekvens for sending av koordinater, varighet av panikkalarmen osv.), kan enheten kobles til via USB, og et serielt grensesnitt kan brukes på 115200 baud, og sendes forhåndsdefinerte AT-kommandoerNoen modeller godtar ikke inndata "tast for tast". I stedet må hele kommandoen skrives inn samtidig for å bli tolket riktig.
Når det gjelder enheter som Loko Air, er verktøyet Loko-konfigurasjonsverktøy Den lar deg lese gjeldende konfigurasjon, aktivere LoRaWAN-modus og fylle ut de tre viktige parameterne (JoinEUI/AppEUI, DevEUI og AppKey) slik at de samsvarer med aktiveringsinformasjonen til sluttenheten i The Things Network.
Etter at du har aktivert innstillingene og startet enheten på nytt, bør du begynne å se hvis gatewayen fungerer som den skal og er innenfor rekkevidde. trafikk i sanntid i Sluttenheter-delen av TTN, inkludert meldinger med dekodede nyttelaster og sporingsenhetens plassering på kartet hvis formatet tillater det.
Videre kan informasjonen som vises i TTN-konsollen integreres i offentlige dashbord som f.eks. Datacakesom tillater konvertering av rå LoRaWAN-data til brukervennlige visualiseringer, delbare dashbord eller resultattavler for utdanningsprosjekter og IoT-pilotprosjekter.
Med hele denne reisen, fra maskinvare til skyen, inkludert TTN, AWS og finjustering av radiokonfigurasjonen, er det tydelig at en LoRaWAN-gateway ikke bare er «en antenne», men nevralgisk punkt som forbinder sensorenes fysiske verden med dataplattformene der prosjektets verdi faktisk genereres.
Siste avsnitt
Når man forstår de interne funksjonene – RAK831- eller RAK7289-maskinvare, global_config- og local_config-filer, ekstern synkronisering via GitHub, IP-konfigurasjon og deaktivering av administrasjons-Wi-Fi, TTN-oppsett og parameterisering, sikker tilkobling med AWS IoT Core og registrering av applikasjoner og sluttenheter som GPS-trackere eller Loko Air-enheter – blir det mye enklere å forstå at Konfigurering av en LoRaWAN-gateway Det er rett og slett den ordnede summen av flere logiske trinn, der nøkkelen er å respektere den regionale frekvensplanen, justere ID-er og nøkler mellom gateway, server og noder, og stole på konsollene og API-ene til de forskjellige tjenestene for å til enhver tid bekrefte at opplinkene ankommer og at LoRaWAN-infrastrukturen oppfører seg som forventet i den faktiske utrullingen.