IoT-Kommunikation Sigfox in der Praxis – der SDR-Dongle

Bild 1: Der SDR-Dongle mit Zubehör.
Bild 1: Der SDR-Dongle mit Zubehör.

In der Ausgabe 9 der DESIGN&ELEKTRONIK haben wir grundlegende Dinge zu Sigfox von der Registrierung und Netzabdeckung bis zur Inbetriebnahme eines Sigfox-Demonstration-Kits gezeigt, was wir hier mit dem SDR Dongle von Sigfox sowie mit einem Sigfox-System von STMicroelectronics weiterführen.

Die Netzabdeckung von Sigfox soll in Deutschland relativ hoch sein, gleichwohl ist es natürlich nicht überall möglich, eine Basisstation mit einem Sigfox-Gerät zu erreichen. Im Gegensatz etwa zur LoRa-Funktechnik, die standardmäßig auch lokale Installationen mit entsprechenden Funkmodulen erlaubt, ist dies bei Sigfox nicht möglich, denn jegliche Gerätekommunikation erfordert das Sigfox-Backend, was eine erreichbare Basisstation voraussetzt.

Die Karten zur Sigfox-Netzabdeckung sind nur bedingt hilfreich, weil sie auf reinen Simulationen beruhen und die Darstellung [1] selbst auch nicht zweifelsfrei ist. Selbstversuche sind mit einem funktionierenden und im Sigfox-Backend registrierten Sigfox-Gerät (zum Beispielmit dem Sens´it-Sensorknoten von Sigfox) möglich, mit dem man sich dann in besonders aussichtsreiche Gebiete – laut Abdeckungskarte – begibt und die Verbindung im Backend kontrolliert. Für Innenräume ist zudem noch eine Marge von 5 bis 20 dB abzuziehen, sodass zuverlässige Vorhersagen über die Verfügbarkeit kaum möglich sind.

Um zu klären, ob eine Sigfox-Basisstation tatsächlich erreichbar ist, ist deshalb die Unterstützung durch einen offiziellen Sigfox-Partner vor Ort ratsam. Sigfox-Basisstationen benötigen im Prinzip nur eine Spannungsversorgung und eine Netzwerkverbindung, die per Lan oder LTE-Stick realisiert wird. Eine Sigfox-Basisstation kann man bei Sigfox beantragen und sie dann mieten oder aber Sigfox unterstützt eine so genannte Freesite-Lösung und übernimmt dann sämtliche Kosten (Installation, Energieverbrauch etc.). Voraussetzung dafür ist, dass die Basisstation an einem strategisch günstigen Ort platziert werden kann, damit möglichst viele (potentielle) Nutzer etwas davon haben. 

Sigfox-Evaluierung mit SDR-Dongle

Für den Sigfox-Test wird ein SDR-Dongle empfohlen, der direkt von Sigfox stammt und auf den USB-Anschluss eines PCs zu stecken ist. Im Lieferumfang befinden sich zwei Antennen mit unterschiedlichen Anschlüssen (SMA, UFL) sowie ein Dämpfungsglied (-40 dB). Als Software werden der Sigfox-Network-Emulator (SNE) und der Radio-Signal-Analyzer zur Verfügung gestellt. Die Software ist unter Linux Ubuntu, Windows 7 und Windows 10 lauffähig. Als Internet Browser ist Chrome oder Firefox notwendig; mit einem Browser von Microsoft funktioniert die Software nicht. Mit der Installation von SNE werden automatisch auch die notwendigen Treiber für den SDR-Dongle installiert, damit er nach dem Anstecken an einen USB 2.0-Port korrekt erkannt wird.

Der Emulator empfängt und dekodiert den ersten Frame, der von einem funktionierenden Sigfox-Gerät gesendet wird. Hierfür sind die beiden Einheiten mit dem beiliegenden Antennenkabel und dem dazwischengeschalteten Dämpfungsglied zu verbinden. Der Emulator verträgt Signale von -64 dBm bis -8 dBm, das heißt, bei einer höheren Amplitude kann der Empfänger das Signal nicht mehr verarbeiten, weshalb üblicherweise das Dämpfungsglied notwendig ist, was dann einem sendenden Gerät der Klasse 0U entspricht.

Das sendende Gerät (DUT) sollte den Emulationsmodus (mit einem entsprechenden Kommando) unterstützen, der es erlaubt, vom Private Key in einen Public Key zu schalten, was für die korrekte Authentifizierung von Belang ist. Im Emulator kann die Authentifizierung aber auch komplett abgeschaltet werden, was allerdings dazu führt, dass Downlink-Messages vom Emulator nicht authentifiziert werden können, weil das DUT dann seinen eigenen Private Key verwendet.

Nach den Angaben zur Radio Configuration (RC2, Gerät Identifier) ist eine Callback Configuration in der Emulator-Software möglich. Was hier genau einzutragen ist, wird aus dem User Guide zum SNE leider nicht deutlich, hier wäre ein Beispiel sehr hilfreich. Die Kommunikation über Callbacks findet zwischen der Sigfox-Cloud und einem Endgerät (zum Beispiel Smartphone) im Push-Mode statt, das heißt, sobald neue Nachrichten – etwa von einem Sigfox-Sensor – in der Cloud eintreffen, wird die Übertragung automatisch ausgelöst. Alternativ lassen sich die Daten natürlich auch per Browser im Webportal einsehen oder über das API, was jedoch im Pull-Mode stattfindet, also erst auf Anforderung hin passiert und demnach laufende Abfragezyklen erfordert. Die Callback-Funktion wird meist als Bestandteil einer komplexen IoT Cloud-Lösung von ausgewiesenen Sigfox-Partnern [2] oder auch den typischen Cloud-Betreibern wie Microsoft (Azure) oder Amazon (AWS) angeboten, was für einen einfachen Test einer Sigfox-Übertragung überdimensioniert wirkt.

In der Emulator-Software selbst lassen sich die Nachrichten unter Messages anzeigen, die außerdem in ein Logfile (snek.log) geschrieben werden. Für eigene Versuche mit Serverfunktionalität eignet sich eine Open-Source-Plattform wie luisomoreau [3], die Sigfox-Nachrichten empfangen und anzeigen kann.

Auch wenn in den Texten zum SDR-Dongle mit der dazugehörigen Software zu lesen ist »the SDR Dongle emulates the Sigfox network«, ersetzt er keineswegs ein Sigfox-Netz und ist deswegen auch keine Hilfe, wenn keine Sigfox-Basisstation erreichbar ist oder für den Test unwilliger Sigfox-Geräte. Das mit dem SDR-Dongle verbundene Sigfox-Gerät muss definitiv funktionieren und von sich aus – gesteuert durch entsprechende Kommandos im Terminal – Pakete aussenden können, damit der SDR-Dongle per SNE ein Paket dekodieren und darstellen kann.

Die zweite Software – der Radio-Signal-Analyzer – ist für die Analyse des Funkteils mit Framedekodierung zuständig und liefert beispielsweise Messdaten betreffs Modulation, Empfindlichkeit, Spektrum, Frequenzdrift und Einhaltung der korrekten Datenrate. Die Ergebnisse werden mit den spezifizierten Sigfox-Parametern verglichen und führen zu Aussagen, ob das Gerät zertifizierungstauglich ist oder aber nicht. Das zur Verfügung gestellte Software-Package mit dem Radio-Signal-Analyzer ist ein bootfähiges ISO-Linux-Image (Ubuntu Mate), so dass der Computer hiermit (zum Beispielvon einem USB-Stick) zu starten und die Analyser-Software aufzurufen ist. 

Das Kit Steval-FKI868V1 

Das Development Kit von STMicroelektronics besteht aus einem STM32-Nucleo-Board mit arduino-kompatiblen Buchsenleisten, auf die eine Funkplatine mit dem S2-LP-Transceiver (S2LP8627) aufgesteckt ist. Dazu wird noch eine passende Antenne geliefert, sonst nichts weiter. Sowohl das Nucleo-Board als auch der kostengünstige Transceiver (ca. 3 €) werden bereits vielfach für verschiedene Funkanwendungen eingesetzt, genauso wie das Development Kit. Es ist also nicht spezifisch für Sigfox entwickelt worden.

Der Transceiver wird als typischer Low-Power-Sub-1-GHz-Transceiver angeboten, unterstützt Modulationen wie ASK, OOK, 2-FSK und 4-FSK, und die Datenrate ist von 0,1 bis hin zu 500 kbps programmierbar. Im »Dokument Getting started with the S2-LP development kits« [4] ist erläutert, wie das System aufgebaut ist, wie es in Betrieb genommen wird, welche Software notwendig ist und wie Einstellungen über die S2-LP-Gui vorgenommen werden. Nach dem Anschluss des Systems an den USB eines PC wird es wie üblich als virtueller Com-Port detektiert.

Das benötigte Software-Paket besteht im Grunde genommen aus einer einzigen Datei (S2-LP DK-Setup-1.2.1), nach deren Aufruf verschiedene Dokumente, Dateien und Tools installiert werden. Über die S2-LP-Gui (S2-LP-DK-Applikation) wird mit dem Board kommuniziert, und es lassen sich die Einstellungen überprüfen und auch setzen, die Firmware aktualisieren, Konfigurationsdateien laden und speichern sowie Pakete senden und empfangen, wofür dann zwei Boards und auch zwei PCs notwendig sind.

Wenn an der Seite der Box des Development Kits Steval-FKI868V1 nicht ein Sigfox-Aufkleber angebracht worden wäre, würde man sich jetzt langsam fragen, ob es hier tatsächlich um Sigfox geht, denn in den installierten Dokumenten ist weit und breit nichts von Sigfox zu lesen, zumal auch die Internetseite von STM mit dem Stichwort Sigfox gerade mal einen einzigen Link zutage fördert, der zu einem Secure Element for Sigfox LPWAN networks (Stand August 2018) führt.

Es bedarf schon einiger Sucherei, bis man bei STM dann auf das »User Manual Getting started with the sigfox S2-LP kit «[5] stößt. Hier ist dann auch beschrieben, wie man die für Sigfox notwendige Firmware auf das Nucleo-Board schreibt. Allerdings befindet sich die laut Dokumentation benötigte bin-Datei nicht mit im Lieferumfang der Software (S2_LP_SigFox_DK_Setup-1.3.0), stattdessen vier andere bin-Dateien, deren Einsatzzweck aber nicht dokumentiert ist. Sie ließen sich zwar alle problemlos flashen, die Sigfox-Demo-Gui reagierte allerdings stets mit einer Fehlermeldung (Bild 5). Dieses Problem ist bereits seit April 2018 in der STM-Community bekannt, die Antworten von STM dazu beschränken sich auf Hinweise zur Dokumentation, was einen nicht weiterbringt.

Hilfreich war in dieser Situation Sigfox in Grasbrunn, die den Kontakt zum zuständigen Mitarbeiter bei STM vermittelt haben, und nach einigem Hin- und Her (STM: Die Firmware-Files müssten eigentlich alle mit dem Kit funktionieren …) erhielten wir dann ein neues Steval-FKI868-Kit, allerdings in der Version V2 statt V1, was dann auf Anhieb funktioniert hat, d. h., statt der Fehlermeldung nach dem Flashen wurde sofort der Registrierungsprozess gestartet. Während dieses Vorgangs erhält man von STM per Email einen Activation-String, der beim zweiten Schritt des Registrierungsprozesses in das entsprechende Feld zu kopieren ist, was letztlich dazu führt, dass das Gerät dann registriert ist und im Sigfox Backend auftaucht (Bild 7). Der gesamte Vorgang ist erfreulicherweise in wenigen Minuten unter Angabe der ID und der PAC des Boards erledigt (vgl. [1]).

Das Nucleo-Board ist bei den beiden Versionen identisch, das aufzusetzende Board mit dem S2-LP-Transceiver jedoch nicht, was auch anhand der unterschiedlichen Bestückungen unmittelbar zu erkennen ist. Sigfox und STM sollten eigentlich wissen, dass Sigfox nicht mit der Board-Version 1 funktioniert, sondern erst mit der Version Steval-FKI868V2 und das entsprechend kommunizieren sowie den Sigfox-Aufkleber nicht auf ungeeignete Kits kleben.

Über die Demo-Gui lässt sich dann per TX-Button eine Sigfox-Nachricht (Hello!) auslösen, die über das Sigfox-Netz (eine Basisstation muss natürlich erreichbar sein) im Sigfox-Backend landet. Eine Antwort in der anderen Richtung – vom Backend zum Gerät – ist durch Anklicken von »Ask for response« und dem TX-Button auszulösen.

Mithilfe eines Terminalprogramms ist die Kommunikation über Kommandozeilen möglich, die Informationen über das Modul (Version, ID, PAC, RCZ) liefern. Außerdem lassen sich damit auch Datenframes versenden. Die Firmware erlaubt zudem einen Stand-Alone-Betrieb des Boards, d. h. ohne einen angeschlossenen PC. Durch die Betätigung des blauen Tasters auf dem Board wird dann eine Sigfox-Nachricht verschickt. Dieses Beispiel wird automatisch mit der Software als Projekt installiert und lässt sich mit Keil µ Vison 5 und auch mit IAR Embedded Workbench nutzen und kompilieren.

Fazit

Ja, Sigfox funktioniert, allerdings ist der Weg noch etwas steinig, was in erster Linie an fehlenden und unvollständigen Dokumentationen liegt, was sowohl für die Firmen, die Sigfox-Devices anbieten (zum BeispielRadiocrafts, STM), als auch für Sigfox selbst gilt. Vielfach wirkt es so, als wenn einige Firmen ihre Sigfox-Plattformen nur mitlaufen lassen, um auch dabei zu sein, ohne sich hier wirklich engagieren zu wollen. LoRa, NB IoT und einige andere LPWANs adressieren schließlich den gleichen Markt, sodass man sich noch nicht auf eine bestimmte Technologie festlegen will. Sigfox ist jedenfalls sehr bemüht und hilft auch bei Problemen, die von den Herstellern verursacht werden. Wünschenswert wäre, dass das Sigfox-Logo zukünftig als Siegel für funktionierende, gut dokumentierte und unterstützte Geräte verstanden werden könnte. fr)
 

Referenzen 

[1] Klaus Dembowski: Sigfox in der Praxis, Design & Elektronik, 9/2018, S. 44 ff.

[2] Sigfox-Partner: https://partners.sigfox.com/products/platform

[3] Open Source Platform für Sigfox-Nachrichten: https://github.com/luisomoreau/sigfox-platform

[4] Getting started with the S2-LP development kits (UM2149): https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/c7/5f/a4/bd/fa/41/44/83/DM00346440/files/DM00346440.pdf/jcr:content/translations/en.DM00346440.pdf

[5] Getting started with the sigfox S2-LP kit (UM2169): https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/8d/9a/ea/d7/62/06/43/ce/DM00361540/files/DM00361540.pdf/jcr:content/translations/en.DM00361540.pdf