Wer mehr über XBees, ihre Konfiguration unter XCTU und den Aufbau einer Kommunikationsstrecke erfahren möchte und wer sich für den API-Modus interessiert, erfährt mehr unter
Propeller Boards und XBees
Sowohl das Propeller-Activity Board als auch das Propeller-Education Board sind werksseitig bereits mit einem XBee-Adapter ausgestattet. Zu viel darf man davon aber nicht erwarten. Der Nachteil dieser Adapter ist, dass über sie kein direkter Zugriff auf die analogen und digitalen Eingänge der Funkmodule möglich ist und dass sich die aufgesteckten XBees über das Programm XCTU nicht ansprechen lassen. Zur Konfiguration der Funkmodule muss also fleißig umgestöpselt werden.
Der Hersteller Parallax Inc. hat leider nur acht der 20 verfügbaren Anschlüsse eines XBees für den Nutzer verfügbar gemacht:
Die analogen und digitalen I/O Ports sind direkt nicht beschaltbar. Der Nutzen eines solchen XBee-Sockets für experimentelle Zwecke und darüber hinaus ist deshalb nur gering und wird von mir hier nicht mehr weiter verfolgt.
Wer in die Welt der Vernetzung mit Funkmodulen einsteigen möchte ist mit einem Arduino UNO oder einem Raspberry Pi besser bedient. Einige der auf dem Markt angebotenen XBee-Shields werde ich in den entsprechenden Kapiteln vorstellen.
In diesem Abschnitt geht es um die Kommunikation zwischen einem Propeller Board mit XBee und einem zweiten XBee-Baustein, der sich auf einem XBee-USB Adapter befindet. Das Prop-Board ist zunächst über ein USB-Kabel mit einem PC verbunden und zusätzlich wird ein Schaltnetzteil angeschlossen. Nachdem ein Programm eingegeben und im EEPROM des Propeller-Controllers abgelegt wurde, wird die USB-Verbindung zum PC getrennt. Alle zwei Sekunden wird ein vorgegebener Text per Funk abgestrahlt und von einem zweiten XBee-Baustein, der mit einem USB-Kabel mit einem PC verbunden ist, empfangen und in einem Terminalprogramm ausgegeben.
XBee und Propeller Boards | |
Material |
|
Der Schaltungsaufbau
Vorbereitung der XBee-Bausteine | |
Aufgaben |
|
Nachdem beide XBee-Bausteine auf die Werkseinstellungen zurückgesetzt worden sind, startet der Versuchsaufbau.
Versuchsaufbau | |
Aufgaben |
|
Das Programm XBee_1.c
Terminalausgabe
Wie arbeitet das Programm XBee_1.c
Zusätzlich zu simpletools wird in diesem Programm die Bibliotheksdatei fdserial geladen. Die in ihr enthaltenen Befehle ermöglichen einen schnellen Verbindungsaufbau über die serielle Schnittstelle des Propeller Boards.
richtet eine Voll-Duplex Gerätekennung ein; mit
werden alle Parameter der seriellen Verbindung festgelegt. Die Bedeutung der Parameter im Einzelnen
9 Pin des seriellen Eingangs für eingehende Daten (rxpin)
8 Pin des seriellen Ausgangs für ausgehende Daten (txpin)
0 mode: 0 - invertiere rx
1 - invertiere tx
9600 Baudrate
Die nachfolgenden Endlosschleife (Zeilen 11 - 19) startet mit einer Wiederholungsschleife FOR ... (Zeilen 13 - 16). Der Laufparameter i geht von 0 bis 12 und wird nach jedem Durchlauf um 1 erhöht.
Der Laufindex des zweiten Parameters im Befehl der Zeile 15 (w[i]) durchläuft die Werte von 0 bis 12. w[i] ist ein Array vom Typ int, das in Zeile 5 deklariert wird. Es enthält 13 Zeichen in hexadezimaler Schreibweise, die den ASCII-Code einzelner Buchstaben darstellen (bitte in einer ASCII-Tabelle nachschlagen). Mit Hilfe des Befehls
*term Geräte ID, die von fdserial_open übergeben wird
txbyte Byte, das übertragen wird.
wird jedes Zeichen dieses Arrays einzeln per Funk ausgesendet. Im Anschluss an die FOR-Schleife wird ein CR (carriage return oder Zeilenrücklauf codiert als ASCII-Zeichen) übertragen und nachfolgend eine Pause von 2s eingelegt.
Wer nicht mit dem Programm SimpleIDE arbeiten möchte, kann ein anderes Terminalprogramm benutzen. Auf dem Markt gibt es eine Reihe von kostenlosen Terminalprogrammen, wie zum Beispiel PuTTY oder CoolTerm. PuTTY lief bei mir zu instabil und hat eine spartanische Oberfläche, deshalb habe ich mich für CoolTerm entschieden. Es gibt eine Vielzahl von Anbietern im Netz (einfach googeln unter coolterm), über die das Programm downloadbar ist.
Installation des Programms
Nach dem Herunterladen aus dem Internet, wird das Programm entpackt und gestartet. Der Installationsvorgang dauert nur kurz; anschließend kann das Programm gestartet werden und es meldet sich der Eröffnungsbildschirm.
Über Connection - Options - Serial Port werden jetzt die Grundeinstellungen für eine Verbindung vorgenommen. Die Standardeinstellungen werden übernommen; wird kein COM-Port angezeigt, lassen sich über den Button Re-Scan Serial Ports noch einmal alle verfügbaren Ports des Rechners abfragen.
Im Einstellungsfenster Terminal wird das Kästchen Local Echo markiert; alle anderen Einstellungen werden übernommen und das Fenster mit OK verlassen.
Mit diesen Grundeinstellungen kann eine erste Verbindung zu einem XBee-Baustein auf einem XBee-USB-Adapter hergestellt werden.
Einfache AT-Kommunikation
Gib im Editorfenster von CoolTerm ein
und warte so lange, bis das XBee Modul mit OK antwortet.
Mit den beiden folgenden AT-Befehlen wird die Seriennummer des aktuellen XBee-Moduls abgefragt.
Wie man in Abb. 6 erkennt, müssen unter CoolTerm die AT-Befehle nicht mit großen Buchstaben eingegeben werden.