Prototyping und Entwicklung mit Digi XBee Funkmodulen. Für den Einstieg in die XBee-Welt stellt Digi International verschiedene Kits zur Verfügung. In diesem Artikel geht es um das Wireless Connectivity Kit und die ersten Schritte bis zum erfolgreichen Test.
Vielen Dank an Mouser Electronics, bei denen ich dieses Kit am Messestand auf der Embedded World 2016 in Nürnberg gewonnen habe.
Lieferumfang
Das Kit enthält 2 XBee Grove Development Boards und 2 XBee Serie 1 Module für den 802.1.5.4 Funkstandard. Zwei passende Micro-USB Kabel werden ebenfalls mitgeliefert, genauso wie zwei XBee Aufkleber.
Vorbereitungen und Installation
XCTU
Zur Konfiguration der Module stellt Digi International die Software XCTU für diverse Plattformen zur Verfügung. Die Software ist gratis, für den Download ist lediglich eine Angabe von Kontaktinformationen erforderlich.
FTDI
Da nach Installation von XCTU und Anschluss der Module an die USB Ports keine XBees gefunden wurden, habe ich zunächst in den Systemeinstellungen nachgesehen, ob der Computer die Geräte erkennt. Das war der Fall. Anschließend habe ich unter /dev nach einem Eintrag tty.usbserial* gessucht. Dar war aber nichts. Treiberproblem!
Nach dem ich den FTDI-Treiber für virtuelle COM-Ports für Mac OS 10.11.3 aktualisiert hatte, konnte ich im Verezichnis /dev mittels
ls -al tty.usbserial*
die beiden Einträge für die beiden XBee Module finden. Problem behoben. Die genauen Ports benötigen wir später, daher notieren wir uns:
tty.usbserial-AL016SXG tty.usbserial-AL016TRK
Spectrum Analyser
Die Software XCTU bietet ein Werkzeug zur Analyse der diversen Funkkanäle an. Diesen Spectrum Analyser habe verwendet, um die korrekte Funktionsweise beider Module zu testen.
Eclipse
Da ich mein Eclipse Mars (4.5.2) bislang nur für C-Entwicklung verwendet habe, habe ich via Eclipse -> Help -> Install new software das Java development toolkit (JDT) nachinstalliert.
Anleitung zur Installation der Bibliotheken
Auf der Webseite von Digi International findet man eine detailierte Anleitung zur Inbetriebnahme des Kits. In der Anleitung stehen Links und genaue Anweisungen zur Installation der notwendigen Bibliothek xbjlib-1.1.0.jar und deren Einstellungen im Eclipse Project.
Beispiel: Send Analog Actuations
In der Anleitung ist im Abschnitt In and Outs -> Controlling Devices -> Example Send analog actuations ein Beispiel aufgeführt, wie man mittels einem XBee Signale an ein zweites Modul sendet und dort eine rote LED mittels Pulseweitenmodulation (PWM) auf dem Grove Board dimmen kann.
Dazu konfiguriert man zunächst beide Module, richtet ein Eclipse Projekt ein und kopiert den Quelltext aus der Anleitung. Darin sind dann einige Eintragungen individuell vorzunehmen. Die Ports hatte ich zuvor bereits festgestellt, so dass der entsprechende Eintrag jetzt wie folgt aussieht:
// TODO Replace with the port where your module is connected to. private static final String PORT = "/dev/tty.usbserial-AL016SXG"; //XBEE_A
Anschließend kann man dann weitere Dinge ausprobieren. Die xbjlib-Bibliothek ist gut dokumentiert.
Grove Starterkit
Die Grove Boards sehen den unkomplizierten Anschluss von Grove Sensoren und Aktoren des Herstellers Seeedstudio vor. Diese gibt es als Starterkits oder auch einzeln.
Weiteres Zubehör für ein Prototyping mit XBee-Modulen
Die Grove Boards verfügen über Anschlüsse für Akkus mit Standardanschluss. Damit kann man die XBee-Module unabhängig von einem USB-Anschluss betreiben. Hat man mehrere Module und benötigt am führenden Modul keine weiteren Anschlüsse, bieten sich einfache USB-XBee-Adapter an. Möchte man Module in komplexeren Schaltungen einsetzen und / oder diese auf Breadboards aufbauen, sind ebenfalls passende XBee Breakout Boards und passende XBee Sockelleisten erhältlich.
Ebenfalls auf dem Foto sind zwei ältere XBee Pro S5 Module abgebildet, die mit 868 MHz im freien ISM-Band arbeiten und bei sehr geringer Übertragungsgeschwindigkeit um 50kb/s Reichweiten um 10km ermöglichen.
Viel Spaß und allzeit einen freien Funkkanal!