LoRa Single Channel Gateway

Mit Freunden baue ich einen Multi-Channel-Gateway, der auf sämtlichen LoRa-Kanälen empfangen und senden kann – und das mit allen SF (Spreading Factors). So ein Gateway kostet knapp 400 Euro in Summe – das ist mir zum Spielen für zu Hause zu teuer.

Nachtrag Juli 2017: wir haben mit dem Aufbau einer Community bei The Things Network in Wien begonnen. Das Ziel ist die Schaffung eines freien und offenen Netzes für IoT. Nachdem ich mehrfach auf meinen Blog hin angeschrieben wurde, es den Personen aber nicht bewusst war, dass sich hier was tut, möchte ich auf folgende Links verweisen: folgt uns auf Twitter (@TTN_Vienna), für Updates und Infos zu den nächsten Treffen oder besucht die Wiener Community Seite!

Single Channel Gateway = günstig

Die günstige Variante, die streng genommen nicht LoRaWAN-kompatibel ist, weil sie nur eine Frequenz und einen Spreading Factor unterstützt, ist ein Single Channel Gateway. Dieses hört auf einen vordefinierten (aber konfigurierbaren) Kanal mit einem vordefinierten Spreading Factor (auch konfigurierbar) und sendet die Daten an The Things Network.

Als Basis nehme ich einen Raspberry Pi 2, der aktuell eh auf eine Aufgabe wartet. Das LoRa & GPS HAT von Dragino nutze ich für die LoRa-Übertragungen. Das HAT habe ich um € 29,- bei Tindie erstanden. In Summe bin ich bei Kosten von weniger als € 65,-.

Einsatzgebiet

Wie beschrieben ist ein Single Channel Gateway kein vollständig LoRaWAN-kompatibler Gateway. Er hört nur auf eine Frequenz (Kanal) und versteht nur einen SF. Nachdem meine Sensoren abwechselnd auf drei Frequenzen senden, stelle ich den Single Channel Gateway auf eine Frequenz ein – und ich stelle mich darauf ein, nur jedes dritte Paket zu empfangen. (Da bei LoRa ja ein Counter mitläuft, kann ich das leicht nachprüfen.)

Falls ich einmal einen Sensor permanent installieren möchte, würde ich ihn fix auf die eine Frequenz stellen, die der Gateway (oder mehrere?) auch nutzt. Damit wäre ein kleines LoRa-Netzwerk möglich, das aber nur auf einer Frequenz funktioniert.

Installation

Es ist ganz einfach:

  1. aktuelle Raspian-Version installieren und Raspberry vorbereiten (resize disk, SSH-Zugriff für Fernzugriff aktivieren, Passwort und IP-Einstellungen ändern)
  2. alles aktualisieren und wiring-pi installieren:
apt-get update && apt-get dist-upgrade
apt-get install wiringpi

3. in raspi-config das SPI Interface aktivieren & rebooten

4. die Single Channel Gateway Software von Github laden und installieren:

wget https://github.com/tftelkamp/single_chan_pkt_fwd/archive/master.zip
unzip master.zip

und ein paar Parameter in der main.cpp konfigurieren:

// SX1272 - Raspberry connections
int ssPin = 6;
int dio0  = 7;
int RST   = 0;

// Set spreading factor (SF7 - SF12)
sf_t sf = SF7;

// Set center frequency
uint32_t  freq = 868100000; // in Mhz! (868.1)

// Set location
float lat=48.0;
float lon=16.0;
int   alt=200;

/* Informal status fields */
static char platform[24] = "Single Channel Gateway"; /* platform definition */
static char email[40] = "meine@email.at"; /* used for contact email */
static char description[64] = "Dragino LoRa GPS HAT Raspberry 2"; /* used for free form description */

// define servers
#define SERVER1 "52.169.76.203" // The Things Network: router.eu.thethings.network #define PORT 1700 // The port on which to send data

Danach mit „make“ builden:

make

Und schon kann ich den Gateway starten:

./single_chan_pkt_fwd

Einrichten bei The Things Network

Nun erstelle ich den Gateway in der TTN Console:

  • Register Gateway
  • dann wähle ich „I’m using the legacy packet forwarder“. Somit kann ich die Gateway EUI eingeben, die mir beim Start meines Single Channel Gateways angezeigt wurde.
  • die Description kann frei gewählt werden
  • der Frequency Plan ist Europe in meinem Fall und der
  • Router EU. Das ist auch die IP-Adresse, die wir oben in der main.cpp definiert haben. (Details siehe hier: https://www.thethingsnetwork.org/wiki/Backend/Connect/Gateway)
  • mehr muss man nicht tun (natürlich ist es schön, die GPS-Position und Höhe einzugeben)

Das war’s! Bei „Data“ kann ich zusehen, wie die Daten ankommen, und binnen kurzer Zeit bestätigt sich die Vermutung, dass ich jeden dritten Counter sehen werde:

Stückliste zum Nachbauen

  1. Raspberry Pi (2 oder 3)
  2. Dragino LoRa GPS HAT, alternativ hier beim Hersteller mit längerer Lieferzeit zu erstehen: https://www.tindie.com/products/edwin/loragps-hat/
  3. ev. eine coole Antenne? (nicht unbedingt nötig, es ist eine beim LoRA GPS HAT dabei)

6 Gedanken zu „LoRa Single Channel Gateway“

  1. Hi Stefan,
    kannst du auch Daten in einer Application bei TTN sehen, oder siehst du nur, dass am Gateway etwas ankommt? TTN scheint nämlich keine Signle Channel Gateways mehr zu unterstützen. Da dein Eintrag recht neu ist, würde ich mich über eine Antwort sehr freuen. Ich probiere momentan das selbe Setup an eine IOT Plattform anzubinden.
    Beste Grüße
    Jonas

    1. Hallo,

      das funktioniert bei mir ganz normal. Im Moment habe ich keinen Sensor laufen, aber gestern Früh (30. Mai ca. 8:00) hat es noch normal funktioniert! Ich habe Pakete über den im Blog beschriebenen Single Channel Gateway empfangen.

      An welche IoT-Plattform bindest du deine Application an?

      LgS

      1. Hi Stefan, danke für die schnelle Antwort.

        The Things Network unterstützt Single Channel Gateways seit 2 Monaten nicht mehr und das haben mir die letzten zwei Wochen auch bestätigt 😀 https://www.thethingsnetwork.org/wiki/Hardware/Gateways/Single-Channel-Gateway

        Loriot habe ich ausprobiert. Da wird allerdings auch der SX1276/SX1278, der eben als Transceiver auf dem Dragino HAT arbeitet, nicht unterstützt. Und die Möglichkeit eines Packet Forwarders läuft ebenso nicht bei Loriot.

        Alle weiteren ThingSpeak, SensorCloud, Firebase… werden in Foren usw. eben auch nur mit einen Multi-Channel Gateway betrieben.

        Es bleibt also, meiner Meinung nach, nur noch die Möglichkeit auf Basis des SX1301 zB. mit dem IMST iC880A auf einem Raspberry Pi ein Gateway zu konfigurieren.

        1. Hallo,

          ich habe meinen Single Channel Gateway (wie im Blog beschrieben) gerade getestet. Funktioniert einwandfrei. Ich glaube, es geht eher darum, dass er nicht LoRaWAN-kompatibel ist und daher nicht „supportet“ wird. Funktionieren tut’s weiterhin problemlos – halt mit den Einschränkungen, die ein Single-Channel-Gateway hat…

          Meinen letzten Single-Channel-GW hab‘ ich erst vor weniger als 14 Tagen in Betrieb genommen: funktioniert! (jetzt gerade überprüft)

          LgS

          1. Hallo nochmal,

            ich habe mir gerade das AMA Video von TTN angesehen: Single Channel Gateways werden weiterhin supportet. Sie sehen aber Probleme, wenn die Frequenzen gemeinsam mit LoRaWAN-kompatiblen Gateways genutzt werden, weil diese Kanäle dann schnell überlastet sind und LoRaWAN-Implementierungen schadet. TTN scheint bemüht zu sein, eine eigene Frequenz zu bekommen, die dann für Single Channel-Gateways exklusiv genutzt wird. Diese muss natürlich in den Sensoren auch erst möglich gemacht werden.
            Siehe ca. Minute 42 im Video: https://www.youtube.com/watch?v=CFynqvmhKOw

            LgS

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte beantworte folgende Rechenaufgabe * Time limit is exhausted. Please reload CAPTCHA.