Xbee Konfiguration

1. Vorbereitung

Zuerst wird das Xbee mittels eines Adapters (Adapter 1, Adapter 2) an einem USB-Port angeschlossen.

Plattformunabhängig kann die Konfiguration über ein serielles Terminalprogramm (z. B. CoolTerm) durchgeführt werden.

Unter Windows steht auch die Software X-CTU zur Verfügung.

 

2. Einrichten im Terminal

2.1 Vorbereiten des Terminals

Vorweg: alle hier genannten Schritte werden für das CoolTerm-Terminal gezeigt. Jedoch sollten alle Schritte in ähnlicher Form auch in anderen seriellen Terminals funktionieren. Zudem ist diese Anleitung für Xbee S1 (pro und non-pro) Module. Ein S2 Tutorial folgt.

 
Zuerst muss - unter Optionen - die Baudrate auf die des Xbees eingestellt werden. Diese ist standardmäßig auf 9600 b/s. Zudem wird der Port gewählt an dem das Xbee angeschlossen ist. In folgenden Fall ist es usbserial-A900UEET.


Die Optionen werden mit Ok bestätigt und mit Connect wird anschließend die Verbindung aufgebaut.

Nun sehen wir, dass wir nichts sehen. Das Xbee muss zuerst geweckt werden. Hierzu wird ein wird der Befehl +++ OHNE mit Enter zu bestätigen. Nach etwa einer Sekunde sollte sich das Xbee mit einem OK melden. Es ist zudem normal, dass die eigene Eingabe nicht zu sehen ist.

Sollte das Terminal nicht wie in der Abbildung zu sehen eine Rückmeldung senden, ist wahrscheinlich die falsche Baudrate eingestellt. Bei unbekannter Baudrate, kann z. B. das XBeeConfigTool genutzt werden (wirklich nur zum auslesen nutzen, andere Funktonen sind zum Teil verbugt).

Auch sollte man beachten dass das Xbee nach längerer inaktivität in den Ruhemodus geht und wieder per +++ geweckt werden muss.

2.2 Konfiguration

Alle Befehle fangen mit dem Präfix AT und werden (anders wie als bei +++) mit Enter bestätigt.

Der Befehl AT (mit Enter bestätigen) allein, sollte zur kontrolle wieder OK zurückgeben.

Die folgenden Befehle lesen die Aktuellen werte des Xbees aus:

Name des Befehls Wertebereich Beschreibung
ATCH B - 1A Derzeitiger Kanal (muss bei Receiver und Transmitter gleich sein)
ATID 0-FFFF Aktuelle ID des Netzwerks im Kanal (muss gleich sein)
ATDH 0-FFFFFFFF  wenn DH=0, sendet nur an das in DL eingestellte Xbee, ansonsten an alle
ATMY 0-FFFF Eigener Teilnehmername im Netzwerk (muss bei Receiver und Transmitter verschieden sein)
ATDL 0-FFFFFFFF Name des Teilnehmers der angesprochen werden soll (muss verschieden sein) (bei DL>=FFFF, sendet das Modul an alle anderen)
ATBD 0-7 Aktuelle Baudrate (werte siehe Tabelle weiter unten) (muss gleich sein)
ATAP 0-1 0=non API mode, 1=API mode (standard ist auf allen 0)
ATRR 0-6 Gibt an wie oft das Xbee versucht ein Paket erneut zu senden (niedriger Wert -> geringer latenz, hoher Wert -> hohe Sicherheit) (muss gleich sein)
ATRO 0-FF gibt die Wartezeit an, bis ein Paket verschickt wird(niedriger Wert -> geringer latenz, hoher Wert -> mehr daten im Paket - wichtig bei hoher Datenmenge) (muss gleich sein)

 

Alle Variablen werden als Hexadezimal-Zahl ausgegeben. Um den Wert einer Größe zu ändern, wird der gewünschte Wert der Variable hinter den Befehl geschrieben.

 

Beispiel:

MY hat den wert 0 und soll auf 1 gesetzt werden. Dazu wird folgendes eingegeben:

ATMY1 (enter drücken)

nun kann mit:

ATMY (enter drücken)

der aktuelle Wert überprüft werden. Es sollte 1 als Ausgabe erscheinen. Wieder ist zu beachten, dass die eigene Eingabe nicht angezeigt wird.

Die Werte werden so aber nur in flüchitgen Speicher geschrieben. Ohne Spannungsquelle werden alle Variablen zurückgesetzt. Um die Werte fest zu speichern, muss abschließend  der Befehl:

ATWR (enter drücken)

eingegeben werden. Das Terminal gibt dann OK als bestätigung aus.

Eine gute Beispielkonfiguraiton für zwei Xbee S1 (hier Xbee 1 und Xbee 2 genannt):

AT.. Wert Xbee 1 Wert Xbee 2
ATCH 12 12
ATID 1000 1000
ATDH 0 0
ATMY 1 2
ATDL 2 1
ATBD 3 3
ATAP 0 0
ATRR 0 0
ATRO 3 3

 

 

Nach Auswertung einer Messreihe, hat sich Kanal 12 als am wenigsten störanfällig gegenüber WLANs herausgestellt. Mehr dazu im alten Wiki.

 Die Werte der Baudrate sind folgendermaßen kodiert:

ATBD Wert Baudrate in b/s
0 1200
1 2400
2 4800
3 9600
4 19200
5 38400
6 57600
7 115200

 

Um alle Werte auf Werkseinstellungen zurück zu setzen wird der Befehl ATRE genutzt und wieder mit ATWR gespeichert.