letztes Update: 20.08.2009
 

XBEE Series 2 IEEE 802.15.4 ISM 2.4 GHz Funkmodul

Einleitung:

XBee und XBee Pro sind Fukmodule der Firma Digi (ehemals MaxStream) welche nach dem ZigBee Standard der ZigBee Alliance aufgebaut sind.
ZigBee unterscheided sich von Bluetooth in dem nicht eine Punkt zu Punkt Verbindung hergestellt wird, sondern ein Netzwerk.

Im Juli 2007 stellt MaxStream die XBee-Serie 2 vor, eine Ergänzung des XBee-Moduls vor. Basierend auf einer anderen Funk-Hardware bietet das Modul der neuen Serie bei voller Rückwärtskompatibilität Funktionen für besondere Einsatzfälle. Der ZigBee-Protokollstack ermöglicht zu den bereits verfügbaren Netzwerk-Topologien Point-to-Point, Point-to-Multipoint und Peer-to-Peer nunmehr auch die Mesh-Topologie, bei der die einzelnen Module als Knoten eines Netzes fungieren.Weitere Verbesserungen bestehen in der um 3 dBm erhöhten Eingangsempfindlichkeit des Empfängers, mit der sich eine größere Reichweite erzielen lässt, sowie in der geringeren Stromaufnahme im Power-Down-Betrieb von nur 1μA.


ZigBee-Produkte sind vor allem Module und Plattformen für Entwickler. Die meisten unter ZigBee angebotenen Endkundeprodukte sind nicht wirklich mit ZigBee entwickelt worden. Meist kommen die im Standard IEEE802.15.4 entwickelte O-QPSK/DSSS-Radiotechnologie und die MAC-Schicht zum Einsatz.

Da auch die IEEE802.15.4-MAC-Schicht viele Funktionen anbietet, die nur in wenigen Applikationen benötigt werden, verwendet praktisch jeder Hersteller eine andere Untermenge der IEEE-Spezifikation – welche, ist bei praktisch keinem Hersteller klar definiert. Statt einen ZigBee-Stack zu verwenden, werden Applikationen direkt auf der MAC-Schicht betrieben und haben dann kein Mesh-Networking oder setzen proprietäre Stacks ein.
Leider ist eine Austauschbarkeit der ZigBee-Chips, Module und Hersteller in der Praxis kaum möglich – der wesentliche Vorteil, einen Standard einzusetzen, wird damit nicht erreicht.
Mit dem von den Modulen beherschtem Mesh Networking läßt sich prima, das gesamte Heim zu vernetzen.

Die
Eckdaten von ZigBee
Reichweite optimal: 100m
Netzwerkteilnehmer: 65535
Übertragungsrate: max. 250 kBits/sec
Kosten: ~ $20 pro Modul / Netzwerk

Es werden drei Typen von ZigBee Modulen unterschieden: Coordinator, Router und End Device.
Zusammen können diese verschiedene Netzwerktopologien (Stern, Baum, Vermaschtes Netzwerk) bilden. Um diese von einander zu unterscheiden lohnt es sich mehr über die verschiedenen Netzwerktypen zu erfahren. Um mit einem End Device in Kontakt zu treten braucht es mindestens einen Coordinator.

Technische Daten XBEE-Modul:
Betriebsspannung: 2,8 - 3,4V
Frequenz: ZigBee Standard, 2,4GHz ISM Band
Sendeleistung: 0dbm (1mW)
Empfindlichkeit: -92dbm
Reichweite: 30m Indoor / 100m Outdoor(abhängig von Umgebungsbedingungen)
Stromaufnahme TX: 45mA, RX: 50mA, Standby: 10uA
Datenrate (über Funk): 250.000bps
Datenrate (Interface): 1.200 - 115.200bps
serielle Schnittstelle: 0V / 3,3V zum Anschluss an PC ist ein 3,3V-Pegelwandler (MAX3232) unbedingt erforderlich
Standard: kompatibel zu ZigBee/802.15.4
Topologien: Point-To-Point, Point-To-Multipoint
Abmessungen: 24,38 x 27,61 x 4mm, 2mm Raster

Pinbelegung:

XBEE Pinbelegung


XBEE Pinnummerierung

Praxis:

Immer wieder bin ich auf der Suche nach AVR-tauglichen Funkmodulen über Namen wie ZIGBEE oder XBEE gestolpert.
Auf den Fotos sehen sie immer toll aus und ich wollte auch so etwas haben. Das ist aber hierzulande nicht ganz einfach. Ich wollte natürlich die 100mW XBEE Pro Module mit der neusten Technik, also Series2 haben. Leider habe ich keinen Händler gefunden der sie hat und auch an Privatkunden ausliefert.
Bei der Firma Reichelt konnte ich wenigstens zwei XBEE Series2 Module mit 1mW Sendeleistung ergattern.

"Out of the Box" sollen sie funktionieren - denkste. Die erste Hürde - 3,3V Versorgungsspannung. Beim Eingang setze ich mal voraus, dass er den TTL-Pegel von meinem ATmega32 übersteht. Die links unten im Bild zu sehende Adapterplatine konvertiert das 2.0mm Raster in ein benutzerfreundliches 2,54mm Raster. Zwei 4004 Dioden in Reihe zur Versorgungsspannung geschaltet reduzieren diese auf ca. 3,6V. Um einfach mal etwas zu sehen habe ein Modul über einen USB-Pegelwandler an meinen PC angeschlossen. Das andere Modul wird von meinem Notebook versorgt. Die Spannung liefert natürlich der USB-Port.

In einem Forum habe ich gelesen: Das ist der ideale RS232-Kabelersatz, einfach einschalten und die Module finden und verbinden sich. Nach einiger Wartezeit merkte ich, da findet sich nichts. Warscheinlich hatte ich einen Bericht über die Series1 Module gelesen, die finden sich wohl. Also doch wieder lesen.

Achso irgendwo war zu lesen:
Maxstream XBee RF Modul 802.15.4 SERIES 2
Erweitern Sie Ihre Applikation ohne großen Entwicklungsaufwand um eine 2,4 GHz Funkübertragung (ISM-Band). Mit zwei XBEE-Funkmodulen sind Sie in der Lage, über eine serielle Schnittstelle eine Datenfunkverbindung nach ZigBee-Standard aufzubauen. Das nur 25 x 28(33) x 2 mm große Modul kann unproblematisch in Ihr Schaltungslayout eingebunden werden. Durch das einfache Design-In sparen Sie ein Vielfaches an Entwicklungszeit/-kosten und verbessern Ihre Time-to-market erheblich.
Es sind 2 verschiedene Varianten erhältlich: ZIGBEE XBEE als 1mW Modul sowie XBEE PRO als 100 mW Modul. Das XBEE PRO darf in Europa nur mit max. 10dbm betrieben werden, was mittels PowerLevel-Befehl über die Software einzustellen ist. Topoligien: Point-To-Point, Point-To-Multipoint

Ja, das hört sich gut an.


Die Frage lautet nach wie vor: Wie verbinde ich zwei XBEE-Module um sie als RS232-Kabelersatz zu nutzen.

Wir müssen ein Modul als COORDINATOR und ein Modul als ROUTER configurieren.

Zunächst braucht man das Program X-CTU von der MaxStreamseite. Bitte installieren und Starten. Unter "Modem Configuration" den "Read" Button drücken. Nun wird die Configuration ausgelesen.

Für das coordinator modul brauchen wir folgende Einstellungen:
- "Function Set" = "ZNET COORDINATOR 2.5 AT"
- Version sollte 1041 sein
- PAN ID = irgendwas Default ist 123
- Scan Channels = 1FFE
- Node Join = FF
- Node Identifier = coord (frei wählbar)

Falls das Function Set nicht zur Verfügung steht oder die Version nicht stimmt bitte die "Always Update Firmwarebox" benutzen. Damit bekommt das Modul eine neue Firmware. Sollen nur neue Werte geschrieben werden ist das nicht nötig.
Wenn auf dem Coordinatormodul alles richtig gesetzt ist, bitte das Routermodul anschließen.

Für das router modul brauchen wir folgende Einstellungen:
- "Function Set" = "ZNET ROUTER/END DEVICE AT"
- Version sollte 1241 sein
- PAN ID Sollte die PAN ID des Coordinators sein oder FFFF damit das Modul jedes offene Netzt connected
- Scan Channels = 1FFE
- Node Join Time = FF
- Node Identifier = router1 (frei wählbar)

Nun sollten sich an dem Anlegen der Spannung die Module finden und miteinander verbinden. Die Led auf dem Routermodul sollte blinken.
Klappt es nicht sollte man sich den Punkt "AI - Association Indication" ansehen. Dort sollte eine 0 stehen.

Vielleicht hilft die folgende Liste:
0x21 - Scan found no PANs
0x22 - Scan found no valid PANs based on current SC and ID settings
0x23 - Valid Coordinator or Routers found, but they are not allowing joining (NJ expired)
0x27 - Node Joining attempt failed (typically due to incompatible security settings)
0x2A - Coordinator Start attempt failed‘
0xFF - Scanning for a Parent
0x2B - Checking for an existing coordinator


Nachtrag vom 20.08.2009:

Folgende Infos bekam ich heute von Herrn William Thielicke :

In das Feld "DH - Destnation Address High" muss der Wert "SH - Serial Number High" vom Router eingetragen werden. Analog gilt dies für das Feld "DL - Destination Address Low": Hier muss der Wert "SL - Serial Number Low" vom Router eingetragen werden.

Beim Router:
Genauso wie beim Coordinator, in DH und DL müssen die Werte SH und SL vom Coordinator eingetragen werden.


Das Programm X-CTU dient der Konfiguration der Module und es erlaubt ein einfaches Firmware Update oder wden Wechsel des Betriebssystems. Ausserdem ist es ein hervorragendes Terminalprogramm zum ausprobieren der Module.

Einfach den richtigen Comport und als Baudrate 9600 8N1 einstellen. Bei bestehender Verbindung kann sofort von einem Modul auf das andere "geschrieben" werden. +++ innerhalb einer Sekunde eingegeben wechselt in den Commandmodus. Hier können Parameter für den Betrieb mit einfachen AT-Kommandos eingestellt werden. Einfach einmal AT und Return eingeben.
Das Modul antwortet mit OK.

Die Verbindung zum AVR Microprozessor ist auch recht einfach. Den DIN Pin des Moduls mit dem RX Pin des AVRs, den DOUT Pin des Moduls mit dem RX Pin des AVRs und GND mit GND verbinden. Ich habs ohne LevelShifter oder sonstige Pegelanpassung gemacht. Der Eingang ist wohl 5V resident.




 
XBEE Trägerboard Links die leere Basisplatine, rechts die Basisplatine mit aufstestecktem XBEE-Modul
   
XBEE Trägerboard mit USB Anschluß Das Modul mit USB - Serial adapter

Der Adapter liefert die 5V Versorgungsspannung für das Modul und stellt den Ausgang TX und den Eingang RX zur Verfügung.

Es handelt sich um ein billiges Handyladekabel, Kostenpunkt ca. 3 EUR bei *bay. Perfekt für unsere Anwendungen.
   

Hersteller:

MaxStream


Download der Datenblätter:

am einfachsten von der MaxStreamseite, dort ist auch das X-CTU Programm zu finden


Bezugsquelle XBEE (nicht PRO) Module:

Fa. Reichelt