Entwicklungskits von Arrow

Alles wird smart!

8. April 2019, 12:00 Uhr | Klaus Dembowski, TU Hamburg
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Inbetriebnahme und Programmierung

Um programmieren zu können, nutzten wir die Arduino-IDE (Version 1.8.5), die mindestens der Version 1.6.4 entsprechen muss. Nachdem die Entwicklungsumgebung aufgespielt ist, muss man mithilfe des Board-Managers die Unterstützung für die Arduino-SAMD-Prozessoren (Werkzeuge > Board > Board-Verwalter) sowie für die Arrow-Boards (Kategorie Partner) installieren. Anschließend wird das Board mit einem Micro-USB-Kabel an den USB-Port angeschlossen, woraufhin sich der Board-Treiber automatisch installiert, was problemlos vonstattengeht. 

Wie üblich sind die mitgelieferten Beispielprogramme für die Boards in der Arduino-IDE im Menüpunkt Datei > Beispiele zu finden. Zunächst ist im Menü Board > Werkzeuge das entsprechende Modell (Smart Everything Fox3 Native USB Port oder Smart-Everything Lion Native USB Port) auszuwählen sowie der jeweils verwendete virtuelle COM-Port.

Bei den ersten Programmierversuchen wurde das Board von der IDE zwar korrekt erkannt und ließ sich auch im Board-Verwalter auswählen, allerdings war eine Kommunikation mit dem Board nicht möglich. Es ließ sich nicht über den seriellen Monitor ansprechen, und der Versuch, das Board zu programmieren, scheiterte mit einem Timeout. Um diesem Phänomen zu begegnen, ist es wichtig, das Board durch zweimaliges Drücken des Reset-Buttons komplett zurückzusetzen, wodurch die Treiber erneut installiert werden. Scheinbar müssen die Treiber für den Programmier- und den Arbeitsmodus jeweils separat installiert werden. Beachtet man dies, lassen sich die Beispiele wie AnalogReadSerial, BlinkWithoutDelay oder LocalizationInfo mit der mitgelieferten GPS-Bibliothek auf beiden Boards korrekt ausführen.

passend zum Thema

Dembowski, Arrow Electronics, Lion, Fox
Bild 5: Erfolgreicher Beitritt zum LoRa-Netzwerk und Senden von Testdaten mit dem Lion-Board.
© Klaus Dembowski

Das interessante Beispiel ist in diesem Zusammenhang sendDataABP_console für das Lion-Board, mit dem sich die korrekte Funktion des LoRa-Moduls überprüfen lässt. Dies funktionierte auf Anhieb, denn das Board konnte einem vorhandenen LoRa-Netzwerk beitreten und Daten austauschen (Bild 5). Für die LoRa-Funktionen wird eine spezielle Bibliothek zur Verfügung gestellt, die von Github [4] bezogen werden kann.

Sigfox-Kommunikation 
Für das Fox-3-Board gibt es dementsprechend eine Sigfox-Bibliothek [5], um diesen Funkstandard nutzen zu können. Wie in [6] und [7] erläutert, lässt sich der Betritt zu einem Sigfox-Netz nicht so einfach durchführen wie bei LoRa, denn ohne einen Benutzerkonto sowie die Registrierung eines Sigfox-Gerätes mit Seriennummer, ID und PAC kommt man nicht weiter. Selbstverständlich muss auch eine Sigfox-Basisstation funktechnisch erreichbar sein, was für die Tests kein Problem mehr ist, seitdem sich auf dem Gelände der TU Hamburg eine befindet. Die wichtigen Daten für die Geräteregistrierung sind mit einem unscheinbaren Aufkleber an der Verpackung und auf der Platinenrückseite angebracht, was leicht zu übersehen ist.

Dembowski, Arrow Electronics, Sigfox
Bild 6: Erfolgreiche Kontaktaufnahme im Sigfox-Netz.
© Klaus Dembowski

Ob das Sigfox-Modul grundsätzlich funktioniert, lässt sich einfach mit dem mitgelieferten Beispiel ReadSWVersion ermitteln, das die Firmware-Version in der seriellen Konsole ausgibt. Als erstes Beispiel für eine Sigfox-Kommunikation ist der Sketch DataModeEU geeignet. Eine erfolgreiche Kommunikation sieht dann so aus, wie im Bild 6 angegeben.

Für den Downlink von Daten ist das Beispiel SfxDownlink (Bild 7) gedacht. Hierfür ist es zunächst notwendig, im Sigfox-Backend einen Downlink zu konfigurieren (Bild 8). Er setzt sich aus der tapID (vier Byte), zwei Bytes an Daten sowie einen RSSI-Wert (zwei Byte) für die aktuelle Signalstärke zusammen. Anhand der tapID (hier 0073CB) kann die Basisstation identifiziert werden, über die die Downlink-Daten versendet wurden, und als Wert für die Signalstärke wird hier FFAH ausgewiesen.

Dembowski, Arrow Electronics, Sigfox
Bild 7: Erfolgreicher Downlink mit dem Fox-3-Modul.
© Klaus Dembowski

Für zu übermittelnde Downlinks (in Feld Downlink data, Bild 8) stehen die Optionen None, Direct und Callback zur Verfügung. Bei None werden bei Downlink-Anfragen keine Antworten verschickt, auch keine Empfangsbestätigung (Acknowledgement). Bei Direct beantwortet das Sigfox-Netzwerk die Anfrage direkt. Hier sind die Antworten auf die Form von Konstanten beschränkt, und zwar auf tapID und RSSI sowie Time (aktuelle Zeit mit vier Byte) und Roaming (ein Byte). Das Roaming-Byte informiert darüber, ob sich das Device im Roaming-Status befindet, d. h. die Daten über ein anderes Netzwerk geleitet wurden.

Dembowski, Arrow Electronics, Sigfox
Bild 8: Konfigurieren der Downlink-Daten im Sigfox-Backend.
© Klaus Dembowski

Im Callback-Modus wird eine erhaltene Nachricht an einen eigenen Webserver geschickt und die Antwort dieses Servers (maximal acht Byte) an das Modul gesendet. Unter [8, 9] sind zwei Links angegeben, wo beschrieben ist, wie dies zu konfigurieren ist. Dabei ist zu beachten, dass der Server innerhalb von zehn Sekunden auf die Anfrage antworten muss, ansonsten wird eine neue Anfrage erstellt. Wichtig beim Arbeiten mit Downlink-Verbindungen ist zudem, dass pro Tag und Gerät nur vier Downlink-Übertragungen möglich sind, also insgesamt 32 Byte an Downlink-Daten.

Generell gelten Callback-Anfragen – wozu auch Downlink Data zu rechnen ist − für einen Device-Typ, d. h. zunächst für alle Module, die für einen Sigfox-Account registriert sind. Über den Menüpunkt Associated Devices (Bild 8) lässt sich die Dazugehörigkeit von Modulen zu Device-Typen ändern, und natürlich lassen sich auch neue Module anlegen.

Fazit 

Beide Boards ließen sich nach anfänglichen Schwierigkeiten, die sich auf eine unvollständige Dokumentation zurückführen lassen, erfolgreich in Betrieb nehmen. Die vertraute Arduino-Umgebung macht vieles einfacher, sodass die Boards, die zudem eine gute Basis für eigene LoRa- oder Sigfox-Entwicklungen bilden, mit den gelieferten Bibliotheken und Beispielen einwandfrei funktioniert haben. Die möglicherweise vorhandenen Hemmschwellen für den Einsatz der beiden speziellen LPWAN-Technologien sinken durch die Arduino-Kompatibilität auf jeden Fall drastisch.

Eine allgemeingültige Empfehlung für die eine oder andere Funktechnologie lässt sich nicht aussprechen. Faktoren, wie die jeweils notwendigen Datenrate und -menge sowie die Erreichbarkeit einer Basisstation oder Gateways und natürlich die laufenden Kosten für die Konnektivität und möglicherweise die Cloud-Anbindung, sind mit der jeweiligen Anwendung in Einklang zu bringen.

Erfreulich ist es immer, wenn die Dokumentation und die zur Verfügung gestellte Software keine wichtigen Fragen offen lassen, für die der Support zu bemühen ist. Technische Anfragen − etwa zum fehlenden Schaltplan des Fox-3-Boards – bügelt Arrow gleich ab und verweist auf den italienischen Hersteller Axel Elettronica. Dann ist es von Vorteil, wenn man Italienisch beherrscht, denn das auszufüllende Support-Formular lässt sich nicht wie andere Seiten auf Englisch umstellen. Statt des angeforderten Schaltplans erhielten wir nach ein paar Tagen die Nachricht, dass wir in den Newsletter aufgenommen worden sind. Auch schön, aber eigentlich wollten wir etwas anderes. Den Schaltplan haben wir jedoch auch nach weiteren Versuchen nicht erhalten, was letztlich zu verschmerzen ist, weil er bis auf das Sigfox-Modul mit dem für das Lion-Board identisch ist.

Den Support zu verbessern ist dennoch dringend anzuraten, genauso wie eine Überarbeitung der teilweise lückenhaften und nicht mehr aktuellen Dokumentationen. Die Unsitte, dass Firmen, die als Hersteller für bestimmte (exklusive) Produkte auftreten, technische Anfragen einfach an ihre Subunternehmer delegieren, begegnet uns nicht zum ersten Mal. Es ist aber immer wieder ärgerlich, zumal man sich mitunter dann gleich mit mehreren Firmen auseinandersetzen muss und der Sinn und Zweck von anwenderfreundlichen Development-Kits damit ad absurdum geführt wird.

Referenzen

[1] ASME Fox 3, User Guide

[2] ASME Lion, User Guide

[3] ASME Lion, User Guide

[4] Bibliothek fürs LoRa-Modul RN2483 von Microchip

[5] Bibliothek fürs Sigfox-Modul LE51 868S von Telit

[6] K. Dembowski, Sigfox in der Praxis – ein Kit von Radiocrafts, DESIGN&ELEKTRONIK 09/2018, S. 44ff.

[7] K. Dembowski, Sigfox in der Praxis – der SDR-Dongle, DESIGN&ELEKTRONIK 10/2018, S. 55ff.

[8] Sigfox Ressources, Downlink Callbacks

[9] SigFox downlink howto, Disc91.com Technology Blog


  1. Alles wird smart!
  2. Inbetriebnahme und Programmierung

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu TU Hamburg-Harburg Inst. Für Mikrosystemtechnik

Weitere Artikel zu Arrow Central Europe GmbH

Weitere Artikel zu Arrow Central Europe GmbH Dreieich

Weitere Artikel zu Arrow Electronics

Weitere Artikel zu Arduino

Weitere Artikel zu Industrie-Computer / Embedded PC

Weitere Artikel zu Maker-Boards

Weitere Artikel zu Entwicklungswerkzeuge