LoRaWAN gateway construeren en verbinden met The Things Network

The Things Network timmert hard aan de weg om wereldwijde LoRaWAN dekking te realiseren. Ze zijn hiervoor volledig afhankelijk van avonturiers en bedrijven die LoRaWAN gateways doneren. Dat hoeven er nog niet eens zo veel te zijn ook: met een stuk of tien gateways heb je Groningen op de kaart.

Onze waddeneilanden hebben nog weinig tot geen LoRaWAN dekking: op drie geplande (maar nog niet aanwezige) gateways op Terschelling na is het on-ontgonnen gebied. Met één zorgvuldig geplaatste gateway heb je op een eiland op de meeste plaatsen wel bereik, dus dat leek ons een mooi doel: Texel op de TTN-kaart zetten. Stap 1: een LoRaWAN gateway construeren. Stap 2: Texel verbinden met The Things Network. Stap 3: Verschillende eiland-toepassingen realiseren.

De TTN-wiki heeft een goed bouwverhaal over het maken van een gateway. Het verhaal eindigt echter wat abrupt na de bouw en installatie van de software: hoe je de gateway aan de praat krijgt blijft onbesproken. Mooie gelegenheid om het verhaal aan te vullen en van wat ervaringen te voorzien.

Bouw

  • Sourcen van onderdelen: een IMST ic880A-concentrator board, een Raspberry Pi B+, een wifi-dongle, een antenne en verbindingskabeltje (‘SMA pigtail’), een waterdichte doos en wat verbindingsdraadjes
  • Bodemplaat voor in de waterdichte doos passend gemaakt en voorzien van gaten voor de ic880A en de Raspberry Pi
  • Printplaten, antenne en bodemplaat monteren
  • Bedrading leggen
  • Alle aansluiting controleren (en nog een keer controleren)
  • Raspberry Pi verbinden met een USB-voeding. Ook de ic880A wordt hiermee van stroom voorzien. Beide bordjes hebben verschillende leds die nu gaan branden
  • Raspberry Pi voorzien van de meest recente software (apt-get install en apt-get upgrade)
  • Raspberry Pi voorzien van de ic880A software met git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway
  • De software installeren met het install.sh shellscript dat in de /home/pi/ic880a-gateway directory is neergezet (sudo ./install.sh)
  • Het installatiescript toont nu het MAC adres van het ic880A concentrator board. Noteer dit, deze moet later in de console van TTN worden ingevoerd
  • Antwoord n op de vraag ‘Do you want to use remote settings file?’ en accepteer de default waardes voor ‘Host name’ en ‘Descriptive name’. Vul een bestaand email adres in bij ‘Contact email’. Zoek de coordinaten van de locatie waar de gateway wordt geplaatst op en vul deze bij ‘Latitude’ en ‘Longitude’ in. Geef de antennehoogte aan bij ‘Altitude’. De installatie wordt nu verder automatisch uitgevoerd

Inregelen en configureren

  • Tijdens de installatie van de software is er in de home directory een directory aangemaakt die /home/pi/ic880-gateway heet. Hiernaast is er een directory /opt/packet-forwarder aangemaakt. Beide softwaremodules hebben hun functie: de gateway regelt het verkeer aan de LoRa (radio) kant, de packet-forwarder zorgt voor het ontvangen en versturen van internetverkeer aan de backhaul (wifi) kant
  • Bij de installatie is de EUI van de gateway getoond. Deze moet aan de TTN kant bij het aanmaken van een nieuwe gateway worden ingevoerd

Testen

  • Een werkende gateway meldt zich binnen enkele seconden met zijn EUI op de staging pagina van The Things Network. Staat de gateway hier niet? Dat verbindt hij niet met TTN
  • Een werkende gateway waarvan de EUI bekend is op TTN wordt op de gateway pagina getoond en de doorvoer wordt gemonitord

Mogelijk problemen en oplossingen hiervoor

  • De gateway wordt bij het booten van de Raspberry Pi opgestart met /lib/systemd/system/ttn-gateway.service. Als alternatief is er een opstartscript genaamd /opt/ttn-gateway/bin/start.sh. Raspbian lijkt systemd niet geheel te ondersteunen. Neem dan start.sh op in /etc/rc.local
  • Voor alle vormen van foutzoeken is het handmatig opstarten van de gateway met start.sh verruit het handigst, omdat deze alle verbindingsinformatie over de terminal laat lopen

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *