Projekt: Temperatur-Messsystem - Datenkommunikation


PfeilKapitel 1:Überblick über das System Menübild
PfeilKapitel 2:Sensormodul 1
PfeilKapitel 3:Sensormodul 2/3
PfeilKapitel 4:Anzeigemodul 1
PfeilKapitel 5:Anzeigemodul 2
PfeilKapitel 6:Anzeigemodul 2a
PfeilKapitel 7:Anzeigemodul 3
PfeilKapitel 8:Web-Modul
PfeilKapitel 9:Datenkommunikation
PfeilKapitel 10: Software „TAnz“
PfeilKapitel 11: Software „AnzKom“

Letzte Bearbeitung: 10.12.2017

SymbolDownloads

Schaltpläne für PC-Anschluss und Funkmodul-Erweiterungenkomm-sch.pdf
Stücklisten für PC-Anschluss und Funkmodul-Erweiterungenkomm-stkl.htm
XCTU Software zur Konfiguration der XBee-Funkmodule http://www.digi.com/products/xbee-rf-solutions/xctu-software/xctu
Dokumentation der XBee-Funkmodule http://www.digi.com/support/productdetail?pid=3257&type=documentation
Homepage von PuTTY (Terminalprogramm)http://www.putty.org/
Homepage von TeraTerm (Terminalprogramm)http://ttssh2.osdn.jp/

SymbolInhaltsverzeichnis

BeschreibungAllgemeine Informationen über die Datenkommunikation
KabelverbindungBeschreibung der Datenkommunikation über Kabel
FunkverbindungBeschreibung der Datenkommunikation über Funk
DatenübertragungBeschreibung der übertragenen Datenpakete zwischen den Komponenten
PC-AnschlussEinbinden eines PC, Diagnose der Datenkommunikation

SymbolBeschreibung

Datenkommunikation In diesem Kapitel wird die Kommunikation zwischen den Modulen des Temperatur-Messsystems beschrieben. Diese erfolgt über eine RS-232-Schnittstelle, die im nebenstehenden Bild als Verbindungslinie in den Farben Grün und Orange dargestellt wird. Da die Übertragung hier grundsätzlich nur in eine Richtung erfolgt und auch keinerlei Handshaking verwendet wird, konnte die Schnittstelle auf genau eine Datenleitung reduziert werden. Zusammen mit der Masse-Leitung ist also nur ein zweiadriges Kabel für die Verbindung notwendig. Über ein solches Kabel wird dann der Ausgang (TX) eines sendenden Moduls mit einem Eingang (RX) eines empfangenden Moduls verbunden. Es ist auch möglich, mehrere Empfänger an einen Sender anzuschließen. Ein Empfänger kann aber immer nur die Daten eines Senders verarbeiten.

Die Verbindung zwischen den Modulen kann auch über Funk erfolgen. Hier gelten die gleichen Bedingungen wie beim Kabel: Ein Sender kann mehrere Empfänger versorgen, ein Empfänger kann jedoch nur die Informationen eines Sender verarbeiten. Weiterhin ist auch ein gemischter Betrieb (Kabel und Funk) möglich. Für die Funk-Kommunikation habe ich XBee-Module (XBee S1) verwendet. Diese sind zwar nicht unbedingt die preisgünstigsten Funk-Module, aber die Technik ist ausgereift und zuverlässig. Die Module müssen dabei einmalig mit einer Software konfiguriert werden, anschließend übertragen sie alle Daten transparent im Frequenzbereich von 2,4GHz.

Die Datenübertragung erfolgt unabhängig vom verwendeten Medium (Kabel oder Funk) asynchron mit einer festen Geschwindigkeit von 9600 Baud. Es werden 8 Datenbits und ein Stoppbit verwendet, ein Paritätsbit wird nicht genutzt. Alle Datenpakete sind einfach strukturiert und bestehen aus ASCII-Text-Zeichen, die mit einem <CR> (Carriage Return, ASCII 13) abgeschlossen werden. So bleiben die Daten überschaubar und können z.B. mit einem Terminalprogramm auf einem PC mitgelesen werden. Der genaue Aufbau der Datenpakete wird im Abschnitt Datenübertragung beschrieben.

SymbolKabelverbindung

Die Kabelverbindung ist aus technischer Sicht die einfachste und sicherste Möglichkeit, die Komponenten des Temperatur-Messsystems miteinander zu verbinden. Dafür befindet sich auf jedem Modul ein Treiber für eine RS-232-Schnittstelle. Die Kommunikation erfolgt grundsätzlich nur eine Richtung. Daraus ergibt sich, dass einige Module nur Daten senden und somit nur mit einem RS-232-Sender ausgestattet sind. Andere Module sind nur für den Empfang vorgesehen und besitzen deshalb nur einen RS-232-Empfänger. Eine Ausnahme ist hier das Web-Modul, dieses ist in der Lage, gleichzeitig RS-232-Daten zu senden und zu empfangen. Wegen der niedrigen Geschwindigkeit von 9600 Baud und der relativ hohen Pegel der RS-232-Schnittstelle ist eine sehr sichere Übertragung über große Entfernungen möglich. Ich habe die Grenzen nicht getestet, aber in meinem Haus versorgt ein Sensormodul insgesamt 4 Anzeigemodule, ein Web-Modul und einen PC. Dabei dürfte die gesamte Kabellänge der RS-232-Verbindung 100m erreichen. Ich habe ausschließlich Cat-5-Kabel verwendet, es kann aber auch klassisches Telefonkabel oder auch Koaxialkabel verwendet werden.

Wie schon erwähnt, kann ein Sender (Sensormodul) mehrere Empfänger (Anzeigemodule) mit Daten versorgen. Das ist zwar im RS-232-Standard nicht vorgesehen, funktioniert aber unter den gegebenen Bedingungen sehr gut.

Kabelverbindung 1 Die Verbindungen können dabei in 2 Varianten hergestellt werden. Das nebenstehende Bild zeigt die sternförmige Variante: Vom Sender führt jeweils ein Kabel zu jedem Empfänger. Diese Variante kommt bei meinem Messsystem zum Einsatz, da sich das Sensormodul im Hausanschlussraum befindet und von hier aus Kabel in alle Räume führen.

Kabelverbindung 2 Es sind aber auch Verbindungen über eine Art Kette möglich, das würde dann so aussehen wie im Bild links. Hier führt nur ein Kabel vom Sender zum nächsten Empfänger und von hier aus werden dann weitere Empfänger versorgt. Dies ist eigentlich die bessere Lösung, welche aber auf Grund der örtlichen Gegebenheiten nicht immer angewendet werden kann.

Es ist auch möglich, einen PC in das Kabelnetzwerk einzubinden. Dieser ist wie ein Anzeigemodul zu betrachten und hat die Funktion eines RS-232-Empfängers. Damit ist es möglich, die Software „TAnz“ zu nutzen, außerdem kann man zu Diagnosezwecken die empfangenen Daten mitlesen.

PC-Adapter seriell Die nebenstehende Schaltung ermöglicht den Datenempfang über die eingebaute RS-232-Schnittstelle des PC. Die an RX empfangenen Daten gelangen über den Steckverbinder J1 direkt an den RS-232-Anschluss des PC. Über die Schnittstelle COM1 oder COM2 können die empfangenen Daten dann verarbeitet werden. Aktuelle PCs, Laptops oder Notebooks haben leider nur noch selten einen RS-232-Anschluss an Bord. In diesem Fall kann man einen Adapter (USB auf RS-232) verwenden, der an einen freien USB-Anschluss angesteckt wird. Hier ist dann noch ein Treiber erforderlich, der in den meisten Fällen automatisch installiert wird. Dieser Treiber stellt einen virtuellen COM-Port (COM3 oder höhere Nummer) zur Verfügung, über den die empfangenen Daten verarbeitet werden können.

SymbolFunkverbindung

Die Module des Temperatur-Messsystems sind ursprünglich nur für Kabelverbindungen entwickelt worden. Es ist aber möglich, alle Komponenten für eine Funk-Übertragung aufzurüsten. Grundsätzlich kann dafür jedes Funk-Modul verwendet werden, welches mit einer Baudrate von 9600 arbeitet und eine transparente Übertragung zulässt. Letzteres bedeutet, dass alle gesendeten Daten unverfälscht bei den Empfängern ankommen müssen. Ich habe mir Informationen über verschiedene Techniken angeschaut und mich für XBee S1 von der Firma Digi International entschieden. Wegen des verwendeten Übertragungsprotokolls werden diese Module auch als XBee 802.15.4 bezeichnet. Diese Technik ist recht ausgereift, lässt sich komfortabel über eine PC-Software konfigurieren und gut in alle Komponenten des Messsystems integrieren. Natürlich ist nicht alles perfekt: Die XBee-Module benötigen eine Spannung von 3,3V, die Anschlüsse haben ein exotisches Raster von 2,0mm und die Module sind relativ teuer (ab 28€).

Die XBee-S1-Module arbeiten im 2,4GHz-Bereich und sind in mehreren Versionen erhältlich, die sich zum einen in der Sende- und Empfangsleistung und zum anderen beim Antennen-Anschluss unterscheiden. Die Standard-Version XBee S1 arbeitet mit einer Sendeleistung vom 1mW, die Version XBee-PRO S1 mit einer Leistung von bis zu 63mW. Die PRO-Version ist etwas teurer und ermöglicht größere Reichweiten, allerdings muss man in Deutschland die Sendeleistung auf zulässige 10mW reduzieren. Beide Modul-Versionen gibt es mit verschiedenen Antennen-Varianten, z.B. mit einer Antenne auf der Platine, mit einer angelöteten Drahtantenne oder auch mit einem Schraubanschluss für eine externe Antenne (RPSMA). Ich verwende hier 3 XBee S1 Module mit einer Drahtantenne. Diese sind allerdings nicht im produktiven Einsatz und wurden zunächst nur für einen Testaufbau angeschafft. Da sich die Technik im Test aber gut bewährt hat, ist es nicht ausgeschlossen, dass zukünftige Komponenten meines Temperatur-Messsystems über Funk angebunden werden.

SymbolXBee USB

Grundsätzlich sind die XBee S1 sowie XBee-PRO S1 Module direkt verwendbar und können ohne weitere Konfiguration mit den Komponenten des Temperatur-Messsystems betrieben werden. Dabei werden alle Daten, die ein XBee-Modul sendet, von allen anderen in Reichweite befindlichen XBee-Modulen empfangen. Nicht immer ist dies gewünscht, deshalb empfehle ich die Konfiguration jedes XBee-Moduls für den vorgesehenen Einsatzzweck. Dies ist eine einmalige Prozedur, bei der alle Einstellungen dauerhaft in einem nichtflüchtigen Speicher des XBee-Moduls abgelegt werden. Eine Konfiguration bietet außerdem die Möglichkeit, weitere Parameter zu ändern. So muss bei XBee-PRO-Modulen die Sendeleistung auf zulässige 10mW begrenzt werden. Außerdem lässt sich z.B. die Kommunikation verschlüsseln oder die Netzwerknummer ändern, wenn mehrere Funknetze nebeneinander betrieben werden sollen.

Für die Konfiguration der XBee-Module ist es erforderlich, das im folgenden Abschnitt beschriebene XBee USB aufzubauen. Hier werden nacheinander alle XBee-Module aufgesteckt, an einen PC angeschlossen und konfiguriert. Danach wird dieses Gerät nicht mehr benötigt, kann aber durchaus noch sinnvoll verwendet werden. Es stellt praktisch eine vollwertige Kommunikationseinheit dar, mit der man Daten von anderen Modulen im Funknetzwerk empfangen bzw. Daten an andere Module im Netzwerk senden kann. Zusammen mit einem Terminalprogramm wie z.B. PuTTY oder TeraTerm (siehe Downloads) erhält man ein Diagnose-Werkzeug für das Funknetzwerk. Weiterhin lässt sich damit die Software „TAnz“ über eine Funkverbindung nutzen.

XBee USB Schaltung Als Verbindung zum PC dient hier ein USB-Modul von ELV (IC101), welches mit einer Mini-USB-Buchse ausgestattet ist und außerdem eine vollständige RS-232-Schnittstelle mit 3,3V-Pegeln zur Verfügung stellt. Von der RS-232-Schnittstelle werden die 4 Leitungen TXD, RXD, DTR und RTS direkt zum XBee-Modul IC103 geführt. TXD und RXD werden zur Datenübertragung genutzt, DTR und RTS sind für Software-Updates notwendig. Somit lässt sich das XBee USB auch nutzen, um neue Firmware auf XBee-Modulen zu installieren. IC102 stellt gemeinsam mit C101 eine stabilisierte Spannung von 3,3V für das XBee-Modul zur Verfügung, die aus der USB-Spannung (5V) gewonnen wird. IC101 stellt zwar intern ebenfalls eine Spannung von 3,3V bereit, die jedoch aus 2 Gründen nicht für die Versorgung des XBee-Moduls geeignet ist: Mein Exemplar liefert 3,45V und damit zu viel für XBee, außerdem benötigen die XBee-PRO-Module bis zu 180mA (bei erlaubten 10mW Sendeleistung) und der Ausgang liefert nur 100mA.

Die letzten beiden Bauteile D101 und R101 sind an RSSI des XBee-Moduls angeschlossen. An diesem Anschluss wird beim Empfang eines Datenpaketes 4 Sekunden lang ein PWM-Wert ausgegeben, der von der Empfangsfeldstärke abhängig ist. So kann man an der Helligkeit der LED ungefähr auf die Feldstärke schließen (eine helle LED entspricht einem guten Empfang). RSSI wird allerdings nur dann aktiv, wenn empfangene Daten für das angeschlossene XBee-Modul bestimmt sind.

Übrigens, es gibt fertig aufgebaut Geräte, die die gleiche Funktion bieten wie mein XBee USB und oft sogar günstiger sind als meine Version. Wer den USB-Adapter lieber fertig kaufen möchte, sucht einfach im Netz nach „xbee usb“.

XBee USB Adapter Alle XBee-Module können direkt auf entsprechende Buchsenleisten gesteckt werden. Leider sind diese im recht unüblichen 2mm-Raster, so dass man beim Einbau der Module zunächst passende Buchsenleisten benötigt. Falls man (wie ich) die Module auf eine klassische Lochrasterplatine im 2,54mm-Raster aufstecken möchte, ist noch eine Adapterplatine wie im nebenstehenden Bild nötig. Hier sollte man im ersten Schritt die 10-poligen Buchsenleisten im 2mm-Raster in die mit „UP“ beschriftete Seite stecken und einlöten. Dabei sollte man sehr vorsichtig arbeiten und nur wenig Lötzinn verwenden. Mir ist es leider passiert, dass das Zinn bis in Buchse gelaufen ist und anschließend das Modul nicht mehr richtig aufgesteckt werden konnte. Die Buchsenleiste war nicht mehr zu retten und musste ausgetauscht werden.

XBee USB 1 Für den Aufbau des XBee USB dient ein Stück Lochrasterplatine mit den Maßen 60mm x 16mm (23 x 6 Löcher) als Basis. Hier wurden die 3 Stiftleisten für das USB-Modul IC101 (2 Stück 5-polig, 1 Stück 6-polig) eingelötet und danach das Modul selbst gesteckt und ebenfalls verlötet. Im nächsten Schritt wurden 2 weitere 10-polige Stiftleisten aufgelötet, auf die dann wiederum die vorbereitete Adapterplatine aufgesteckt und verlötet wird. Die Stifte stehen an der Adapterplatine etwas weit heraus und sollten gekürzt werden, damit sie später nicht das Abschirmblech unterhalb des XBee-Moduls berühren. Zwischen dem USB-Modul und der Adapterplatine ist noch etwas Platz und hier passen die 3 Bauteile IC102, C101 sowie D101 perfekt hinein.

XBee USB 2 Alle Verbindungen werden auf der Unterseite der Platine hergestellt. Auch der Widerstand R101 findet auf dieser Platinenseite Platz. Hier wäre vielleicht ein SMD-Widerstand die bessere Wahl gewesen.

XBee USB 3 Zum Konfigurieren eines XBee-Moduls wird dieses wie im Bild auf das XBee USB aufgesteckt. Dafür sollte vorher unbedingt das USB-Kabel abgezogen werden, damit alle Steckkontakte spannungsfrei sind. Auch vor dem Abziehen eines fertig konfigurierten XBee-Moduls muss aus dem gleichen Grund das USB-Kabel abgezogen werden.

Beim erstmaligen Anschluss des XBee USB an den PC wird automatisch ein Treiber installiert (Silicon Labs CP210x USB to UART Bridge). Weiterhin wird ein virtueller COM-Port eingerichtet, über den später die Kommunikation stattfindet. Die Nummer des COM-Ports sollten wir uns merken, diese kann im Geräte-Manager von Windows unter Anschlüsse ausgelesen werden.

Der Konfigurationsvorgang selbst wird weiter unten erklärt. Ich möchte zunächst beschreiben, wie die XBee-Module in die verschiedenen Komponenten des Temperatur-Messsystems integriert werden können.

Grundsätzlich übertragen alle Komponenten des Temperatur-Messsystems Daten nur in eine Richtung. Das heißt, es gibt Daten-Sender und Daten-Empfänger. Zur ersten Gruppe gehören die Sensormodule, zur zweiten Gruppe die Anzeigemodule, die Matrixuhr und die Wohnraumuhr 2. Eine Ausnahme bildet das Web-Modul, dieses kann sowohl Daten von einem Sensormodul empfangen als auch Daten an eine Matrixuhr senden. Ich habe für jede dieser 3 Kommunikations-Varianten eine XBee-Erweiterung entwickelt, die im folgenden Abschnitt vorgestellt wird.

SymbolXBee Sender

XBee Sender Schaltung Die nebenstehende Schaltung zeigt einen XBee Sender und dieser ist für die Sensormodule des Temperatur-Messsystems vorgesehen. Die Funktion ist schnell erklärt: Die zu sendenden seriellen Daten werden am Anschluss TX direkt am Mikrocontroller abgegriffen, über den Spannungsteiler R201/R202 von einem 5V-Pegel auf einen 3,3V-Pegel reduziert und dann dem Dateneingang DIN des XBee-Moduls zugeführt. Die Betriebsspannung von 3,3V für das XBee-Modul wird mit IC201 und C201 aus den 5V des Sensormoduls gewonnen.

Hinweis: Das Sendesignal (TX) muss unbedingt direkt vom Mikrocontroller des Sensormoduls entnommen werden (IC2 - Pin 3 bei allen Sensormodulen). Auf keinen Fall darf das Signal vom Ausgang des RS-232-Senders genommen werden, hier ist der Pegel zu hoch und außerdem das Signal invertiert. Es ist übrigens möglich, das XBee-Modul zusätzlich zum RS-232-Sender zu betreiben.
Weiterhin ist der Strombedarf zu beachten: Ein XBee S1 benötigt laut Datenblatt 45mA beim Senden und 50mA beim Empfangen, beim XBee-PRO S1 sind das 180mA beim Senden und 55mA beim Empfangen (bezogen auf die reduzierte Sendeleistung von 10mW). Dieser Strom belastet den 5V-Spannungsregler des Sensormoduls zusätzlich, möglicherweise muss er mit einem Kühlblech oder Kühlkörper versehen werden.

SymbolXBee Empfänger

XBee Empfänger Schaltung Diese Schaltung zeigt einen XBee Empfänger und dieser ist für die empfangenden Komponenten des Temperatur-Messsystems vorgesehen, also für alle Anzeigemodule, die Matrixuhr und die Wohnraumuhr 2. Die vom XBee-Modul empfangenen Daten können am Anschluss DOUT entnommen und ohne Pegelanpassung direkt zum Mikrocontroller weitergereicht werden. Auch hier wird die Betriebsspannung von 3,3V für das XBee-Modul mit IC301 und C301 aus den 5V des Anzeigemoduls oder der Matrixuhr bzw. Wohnraumuhr 2 gewonnen.

Hinweis: Das Empfangssignal (RX) muss unbedingt direkt zum Mikrocontroller des Anzeigemoduls geführt werden. Der für die RS-232-Verbindung vorgesehene Dateneingang ist nicht dafür geeignet, da er das Signal invertiert. Weiterhin muss bei einigen Komponenten der originale Pegelwandler für die RS-232-Schnittstelle vom Mikrocontroller abgeklemmt werden. Man muss sich also bei einem Anzeigemodul entscheiden, ob man Daten über Kabel oder über Funk empfangen möchte.
Auch hier muss der Strombedarf beachtet werden und der 5V-Spannungsregler gegebenenfalls mit einem Kühlblech oder Kühlkörper ausgestattet werden.

Die nachfolgende Tabelle zeigt einen Überblick über alle Komponenten des Temperatur-Messsystems, die mit dem XBee Empfänger betrieben werden können. Weiterhin enthält die Tabelle den richtigen Anschluss für das RX-Signal und weitere wichtige Informationen:

KomponenteRX-AnschlussBesonderheiten
Anzeigemodul 1IC2-2gegebenenfalls Kühlblech oder Kühlkörper an IC1 erforderlich; die Bauteile R1, D2 und Tr1 werden nicht benötigt
Anzeigemodul 2IC1-27Verbindung zwischen IC1-27 und IC8-9 trennen
Anzeigemodul 2aIC1-27Verbindung zwischen IC1-27 und IC10-9 trennen
Anzeigemodul 3IC1-14gegebenenfalls Kühlblech oder Kühlkörper an IC2 erforderlich; die Bauteile R24, D9 und T6 werden nicht benötigt
MatrixuhrIC1-16die Bauteile J8, R12, D2 und T8 werden nicht benötigt
Wohnraumuhr 2IC1, Con1-27Die Brücke J7 auf dem Crumb128 muss offen bleiben

SymbolXBee Raspberry Pi

XBee Raspberry Pi Schaltung Die Schaltungsvariante XBee Raspberry Pi benötigt außer dem XBee-Modul keine weiteren Bauteile. Der Raspberry Pi liefert bereits die richtige Betriebsspannung von 3,3V und auch die Logikpegel passen zusammen. Die Besonderheit bei dieser Variante ist, dass TX und RX verwendet werden und somit das gleichzeitige Senden und Empfangen von Daten möglich ist. Dies kann man nutzen, um Daten von einem Sensormodul zum Web-Modul zu übertragen und dann die aufbereiteten Daten an eine Matrixuhr zu senden. Die Stromversorgung des Raspberry Pi bietet ausreichend Reserven, so dass man sich hier keine Sorgen machen muss.

SymbolKonfiguration

Wie bereits erwähnt, sollte man die XBee-Module konfigurieren, bevor sie an die Komponenten des Temperatur-Messsystems angeschlossen werden. Dazu ist die Installation der Software XCTU erforderlich, die von der Homepage der Firma Digi International geladen werden kann (siehe Tabelle Downloads). Nach dem Start der Software (während der Texterstellung war Version 6.3.4 aktuell) zeigt sich folgendes Bild:

XCTU Software 1

Zum Konfigurieren eines XBee-Moduls wird dieses zunächst auf das XBee USB aufgesteckt und anschließend das XBee USB an den PC angeschlossen. Wie schon in der Beschreibung des XBee USB erwähnt, wird beim ersten Anschluss zunächst ein Treiber installiert und ein virtueller COM-Port eingerichtet. Durch einen Klick auf den Plus-Button oben links kann man eine Verbindung zum angesteckten XBee-Modul aufnehmen. Dabei erscheint vorher noch ein Menü, in dem die Schnittstelle des XBee USB ausgewählt werden muss:

XCTU Software 2

Auf diesem Bild ist bereits die richtige Schnittstelle ausgewählt - das XBee USB wird vom PC als Silicon Labs CP210x USB to UART Bridge erkannt. Bei Verwendung eines fertigen USB-Adapters kann der Gerätename abweichen. Ganz unten im Eingabefenster wird nun auf den (im Bild nicht sichtbaren) Button Finish geklickt und wenn wir alles richtig gemacht haben, erscheint das folgende Bild. Hier wurde mein XBee-Modul richtig erkannt:

XCTU Software 3

An dieser Stelle noch ein wichtiger Hinweis: Mit XCTU können nicht nur direkt angeschlossene XBee-Module konfiguriert werden. Es ist auch möglich, ferne XBee-Module über die Funkverbindung zu konfigurieren. Das hat sowohl Vor- als auch Nachteile. Ein Vorteil ist, dass man Einstellungen ändern kann, ohne das Modul aus dem fernen Gerät ausbauen zu müssen. Ein großer Nachteil ist allerdings, dass ein aktiver XBee-Sender im Funknetzwerk die Konfiguration des direkt angeschlossenen Moduls stören kann. Das liegt daran, dass die Konfiguration und auch die Datenkommunikation über die gleichen Anschlüsse (DIN und DOUT) erfolgt und sich Konfigurationsbefehle und Empfangsdaten vermischen. Ich empfehle deshalb, während der Konfiguration eines XBee-Moduls alle Sender im Funknetzwerk vorübergehend auszuschalten (Sensormodul und Web-Modul). Alternativ kann man das XBee USB während der Konfiguration auch in einen abschirmenden Metallbehälter legen.

Sind nach dem oben stehenden Hinweis alle Störquellen deaktiviert, dann wird auf das Fenster mit den Moduldaten auf der linken Seite geklickt. XCTU liest dann die aktuellen Konfigurationsdaten des Moduls aus und zeigt sie auf der rechten Seite an. Das folgende Bild zeigt einen Teil der zahlreichen Einstellmöglichkeiten:

XCTU Software 4

Bevor mit der Konfiguration begonnen wird, empfehle ich zunächst ein Update der Firmware. Höchstwahrscheinlich wird das XBee-Modul auch ohne diesen Schritt funktionieren, sinnvoll ist aber, die Firmware aller Module im Funknetzwerk auf den gleichen aktuellen Stand zu bringen. Rechts oben gibt es den Button Update und beim Klick auf diesen öffnet sich ein Fenster mit weiteren Eingabemöglichkeiten:

XCTU Software 5

Hier sind das linke und mittlere Feld Product family und Function set normalerweise schon richtig voreingestellt. Im rechten Feld Firmware version wählt man die neueste Version aus und vergleicht diese mit der aktuellen Firmware des XBee-Moduls (ist rechts im darunter liegenden Programmfenster zu sehen). Stimmt die Version so wie im Bild überein, dann besteht kein Handlungsbedarf und das Update-Fenster kann über den (im Bild nicht sichtbaren) Button Cancel wieder geschlossen werden. Liegt eine neuere Firmware-Version vor, dann klickt man unten auf den (hier nicht sichtbaren) Button Update. Der Update-Vorgang dauert ungefähr eine Minute, anschließend bootet das angeschlossene Modul mit der neuen Firmware-Version.

Sollte das zu konfigurierende XBee-Modul schon einmal im Einsatz gewesen sein, dann empfiehlt sich an dieser Stelle das Setzen einer Default-Einstellung. Hierfür sind 2 Schritte erforderlich: Ein Klick auf den Button Default und die Bestätigung mit Yes lädt zunächst alle Default-Werte, ein weiterer Klick auf den Button Write schreibt die Werte in den Speicher des XBee-Moduls. Bei einem fabrikneuen Modul kann diese Prozedur entfallen.

Die folgende Tabelle listet alle Einstellungen auf, bei denen eine Änderung sinnvoll ist. Die Reihenfolge entspricht der Anordnung in der XCTU-Software. Bevor irgendwelche Einstellungen verändert werden, sollte man genau überlegen, wie das zukünftige Funknetz aussehen soll. Es empfiehlt sich das Erstellen einer Übersicht (elektronisch oder auf Papier), in der man die festgelegten Adressen und weitere Einstellungen für jedes XBee-Modul notiert.

EinstellungWertebereichVoreinstellungBeschreibung
ID PAN ID0 - FFFF (hexadezimal)3332Eine Änderung der PAN ID (Netzwerk-Nummer) wird empfohlen, um Konflikte mit anderen XBee-Netzwerken zu vermeiden, allerdings ist die Wahrscheinlichkeit eines Konflikts gering. Alle Module eines Netzwerks müssen mit der gleichen PAN ID arbeiten.
DL Destination Address Low0 - FFFF (hexadezimal)0Sollte bei allen Modulen geändert werden, die Daten senden. Siehe dazu auch die Beispiel-Konfigurationen weiter unten.
MY 16-bit Source Address0 - FFFF (hexadezimal)0Sollte bei allen Modulen geändert werden. Siehe dazu auch die Beispiel-Konfigurationen weiter unten.
EE AES Encryption Enable0 / 10Die Aktivierung wird empfohlen, um die Datenübertragung zu verschlüsseln. Diese Einstellung muss bei allen Modulen im Netzwerk gleich sein.
KY AES Encryption Keymaximal 32 Hexadezimal-ZeichenDer hier eingegebene Schlüssel muss bei allen Modulen im Netzwerk identisch sein, wenn die Verschlüsselung aktiviert ist (EE = 1). Ein eingegebener Schlüssel kann übrigens nicht wieder ausgelesen werden. Aus diesem Grund sollte der Schlüssel notiert oder in einer Datei gespeichert werden.
NI Node Identifiermaximal 20 ASCII-ZeichenHier kann ein Name eingetragen werden, um das Modul bei der Konfiguration eindeutig zu identifizieren, z.B. Sensormodul
PL Power Level0 - 44Bei XBee-PRO-Modulen muss hier die Einstellung auf 0 gesetzt werden, um die Sendeleistung auf zulässige 10mW herabzusetzen.

Nach der Änderung einer Einstellung muss diese im XBee-Modul gespeichert werden. Dazu dient der symbolische Schreibstift ganz rechts in jeder Zeile. Man kann auch oben auf den Button Write klicken, dann werden alle geänderten Einstellungen gespeichert.

Hinweis: Wirklich wichtig für die Funktion sind eigentlich nur die beiden Einstellungen DL und MY. Bei allen anderen Einstellungen können die Default-Werte verwendet werden (außer PL bei XBee-PRO-Modulen).

SymbolBeispiel-Konfigurationen

Zunächst noch einige Informationen über die Funktionsweise der XBee S1 Funk-Module. Grundsätzlich wird jedes gesendete Datenpaket eines Moduls von jedem anderen Modul in Reichweite empfangen. Die empfangenen Daten werden jedoch nur unter bestimmten Bedingungen an die angeschlossene Schaltung weitergegeben:

Sind alle Bedingungen erfüllt, dann werden die empfangenen Daten ausgegeben. Außerdem wird eine Art Empfangsbestätigung zum sendenden Modul geschickt. Erhält der Sender diese Bestätigung nicht, dann wird das Datenpaket erneut auf die Reise geschickt (bis zu 3 mal).

Beispiel-Konfiguration 1

Netzwerk 1 Das nebenstehende Bild zeigt eine typische Anwendung: ein Sensormodul sendet Daten an 2 Anzeigemodule. Das Sensormodul wird über die Einstellung MY = 1 auf die Adresse 1 gesetzt. Weiterhin wird über die Einstellung DL = 2 festgelegt, dass alle Daten zur Adresse 2 gesendet werden sollen.

Alle Anzeigemodule werden nun über die Einstellung MY = 2 auf die Adresse 2 gesetzt und sind somit auf den Empfang der Daten vom Sensormodul eingerichtet. Da von den Anzeigemodulen keine Daten versendet werden, ist es nicht notwendig, eine Zieladresse zu setzen. Somit bleibt die Einstellung DL hier auf 0. Weitere Anzeigemodule können übrigens jederzeit mit der gleichen Einstellung hinzugefügt werden.

Beispiel-Konfiguration 2

Netzwerk 2 Auf diesem Bild wurde das Temperatur-Messsystem um ein Web-Modul und eine Matrixuhr erweitert. Die Einstellungen für Sensormodul und Anzeigemodul sind hier identisch zum Beispiel 1. Das Web-Modul wird, ebenso wie die Anzeigemodule, über die Einstellung MY = 2 auf die Adresse 2 gesetzt. Somit werden die vom Sensormodul versendeten Daten auch vom Web-Modul empfangen. Über die Einstellung DL = 3 wird festgelegt, dass die vom Web-Modul versendeten Daten für die Adresse 3 bestimmt sind.

Die Adresse 3 wurde hier über die Einstellung MY = 3 der Matrixuhr zugewiesen, somit bekommt nur die Matrixuhr die vom Web-Modul übermittelten Daten. Da die Matrixuhr keine Daten versendet, bleibt die Einstellung DL auf 0. Alternativ lässt sich die Matrixuhr über die Einstellung MY = 2 auch so einstellen, dass sie die Daten vom Sensormodul empfängt. Diese Option sollte man wählen, wenn kein Web-Modul vorhanden ist.

Übrigens, ich hatte anfangs große Bedenken, mehrere XBee-Module mit einer identischen Adresse zu versehen. Die Praxis hat aber gezeigt, dass das völlig unproblematisch ist. Sogar der Hersteller wirbt damit, das XBee-Module ohne Konfiguration (Out of the box) verwendet werden können. In diesem Fall verwenden alle Module die Einstellungen MY = 0 und DL = 0, somit kann jedes Modul an alle anderen Module im Netzwerk Informationen übermitteln. Die Erklärung dafür ist ganz einfach: XBee-Module arbeiten auf der Funkstrecke mit einer vom Hersteller vergebenen eindeutigen MAC-Adresse. Somit gibt es trotz gleicher Adress-Einstellung keine Konflikte.

SymbolProbleme

Im Gegensatz zur soliden Kabelverbindung funktionieren Funkstrecken nicht immer problemlos. Zwar werden die im Datenblatt des XBee S1 angegebenen Reichweiten von 30m indoor oder 90m outdoor unter idealen Bedingungen erreicht, aber nur selten sind die Bedingungen in einem Haus oder in einer Wohnung ideal. Meine Erfahrungen sind folgende: Haben die XBee-Module eine direkte Sicht, dann klappt die Kommunikation ohne Probleme. Es funktioniert auch, wenn die Funkstrecke durch eine Wand oder durch eine Decke führt. Hier ist allerdings die Ausrichtung der Antennen sehr wichtig. Die besten Ergebnisse erzielt man, wenn die Antennen aller Funkmodule in die gleiche Richtung zeigen, also parallel ausgerichtet sind. Das funktioniert übrigens in jeder Richtung und muss nicht unbedingt senkrecht nach oben sein. Das ist allerdings bei mehr als 2 Kommunikationspartnern nicht immer einfach zu realisieren und muss einfach ausprobiert werden.

SymbolDatenübertragung

In diesem Abschnitt wird beschrieben, welche Informationen zwischen den Komponenten des Temperatur-Messsystems übertragen werden. Zu diesen Informationen gehören hauptsächlich Temperaturwerte, Luftfeuchtigkeitswerte, Luftdruckwerte sowie Alarmmeldungen. Diese Informationen werden in einfache Datenpakete gepackt und dann entweder über Kabel oder Funk zu den Empfängern übertragen. Insgesamt gibt es 5 Typen von Datenpaketen, welche folgendermaßen aufgebaut sind:

SymbolTyp 1 - Sensorbelegung

abcdefgh8 Zeichen + <CR>
aAnzahl der Sensoren an Bus 1
bAnzahl der Sensoren an Bus 2
cAnzahl der Sensoren an Bus 3
dAnzahl der Sensoren an Bus 4
eAnzahl der Sensoren an Bus 5
fAnzahl der Sensoren an Bus 6
gAnzahl der Sensoren an Bus 7
hAnzahl der Sensoren an Bus 8

Dieser Datentyp zeigt an, wie viele Sensoren an jedem 1-Wire-Bus des Sensormoduls angeschlossen sind. Jeder der 8 Buchstaben (a-h) entspricht einem Wert zwischen 0 und 27, wobei die Werte 0-9 direkt angezeigt und die Werte 10-27 durch die Buchstaben A-R repräsentiert werden. Wenn man das im Kapitel Sensormodul 2/3 beschriebene Beschaltungsbeispiel verwendet, dann ergibt sich folgende Sensorbelegung:

33000200   3 Sensoren befinden sich an Bus 1, weitere 3 Sensoren an Bus 2 und nochmals 2 Sensoren an Bus 6.

Dieser Datentyp wird nur einmal beim Start eines Sensormoduls übertragen und hat ansonsten keine große Bedeutung.

SymbolTyp 2 - Temperaturwert

n:ttt.t7 Zeichen + <CR>
nSensorkennung
:Trennzeichen
ttt.tTemperaturwert

Mit diesem Datentyp wird ein Temperaturwert in der Einheit °C übermittelt. Die Sensorkennung n liegt im Bereich 1-8 (entspricht Sensor 1-8) oder a-s (entspricht Sensor 9-27). Das Trennzeichen ist immer ein Doppelpunkt und der eigentliche Wert besteht immer aus 3 Dezimalstellen, einem Dezimalpunkt und einer Nachkommastelle. Führende Nullen an der Hunderter- oder Zehnerstelle werden immer durch Leerzeichen ersetzt. Bei Temperaturen unter 0°C wird das Minuszeichen direkt vor den Wert gesetzt, also entweder an die Hunderter- oder an die Zehnerstelle. Hier sind einige Beispiele:

3: 22.6   Der Temperatursensor 3 übermittelt einen Wert von 22,6°C.
4:  8.7   Der Temperatursensor 4 übermittelt einen Wert von 8,7°C.
5: -4.2   Der Temperatursensor 5 übermittelt einen Wert von -4,2°C.
c:-21.0   Der Temperatursensor 11 übermittelt einen Wert von -21,0°C.

Der mögliche Temperaturbereich wird von den verwendeten 1-Wire-Sensoren bestimmt und liegt zwischen -55°C und 125°C. Dieser Datentyp wird vom Sensormodul zyklisch gesendet.

SymbolTyp 3 - Luftdruckwert

w:_dddd7 Zeichen + <CR>
wSensorkennung
:Trennzeichen
_Leerzeichen
ddddLuftdruckwert

Mit diesem Datentyp wird der Luftdruckwert in der Einheit hPa (Hektopascal) übermittelt. Da es nur einen Luftdrucksensor im System gibt, wird diesem die Sensorkennung w fest zugeordnet. Das Trennzeichen ist immer ein Doppelpunkt, dem sich ein Leerzeichen anschließt. Der Luftdruckwert ist grundsätzlich 4-stellig und bei Werten unter 1000hPa wird die Tausenderstelle durch ein Leerzeichen ersetzt. Auch für diesen Datentyp möchte ich 2 Beispiele zeigen:

w: 1014   Der Luftdruck beträgt 1014hPa.
w:  997   Der Luftdruck beträgt 997hPa.

Der Luftdruckwert kann im Bereich zwischen 200hPa und 1150hPa liegen. Auch dieser Datentyp wird zyklisch gesendet.

SymbolTyp 4 - Luftfeuchtigkeitswert

n:__fff7 Zeichen + <CR>
nSensorkennung
:Trennzeichen
__2 Leerzeichen
fffLuftfeuchtigkeitswert

Mit diesem Datentyp wird der Luftfeuchtigkeitswert in der Einheit %RH (Relative Humidity = relative Luftfeuchtigkeit) übermittelt. Die Sensorkennung n liegt im Bereich x-z (entspricht Luftfeuchtigkeitssensor 1-3). Nach dem Doppelpunkt als Trennzeichen folgen immer 2 feste Leerzeichen. Diesen schließt sich der 3-stellige Luftfeuchtigkeitswert im Bereich von 0% bis 100% an. Ist der Wert kleiner als 100 oder kleiner als 10, dann werden weitere Leerzeichen eingefügt. Auch für diesen Datentyp möchte ich 2 Beispiele zeigen:

x:   64   Der Luftfeuchtigkeitssensor 1 übermittelt einen Wert von 64%RH.
y:    9   Der Luftfeuchtigkeitssensor 2 übermittelt einen Wert von 9%RH.

Dieser Datentyp wird ebenfalls zyklisch gesendet.

SymbolTyp 5 - Alarm

n:a3 Zeichen + <CR>
nAlarmkennung
:Trennzeichen
aAlarmwert

Mit diesem Datentyp wird eine Alarmmeldung übermittelt. Die Alarmkennung n ist ein Buchstabe im Bereich A-D, wobei A für den Alarm 1 verwendet wird, B für den Alarm 2 usw. Das Trennzeichen ist immer ein Doppelpunkt und der Alarmwert ist entweder 0 oder 1, wobei 0 hier „Alarmkontakt geöffnet“ und 1 „Alarmkontakt geschlossen“ bedeutet. Auch hier noch 2 Beispiele:

B:1   Alarmkontakt 2 ist geschlossen.
C:0   Alarmkontakt 3 ist geöffnet.

Dieser Datentyp wird ebenso wie die Sensorwerte zyklisch übermittelt. Zusätzlich wird jede Status-Änderung eines Alarms sofort übermittelt, damit angeschlossene Anzeigemodule einen ausgelösten Alarm sofort signalisieren können.

Hinweis: Es gibt noch eine besondere Form der Datenkommunikation zwischen dem Web-Modul und der Matrixuhr. Diese wird ausführlich bei der Matrixuhr im Abschnitt Datenkommunikation (Web-Modul-Betrieb) beschrieben.

SymbolPC-Anschluss

In den Abschnitten Kabelverbindung und Funkverbindung wurde bereits die notwendige Hardware vorgestellt, die es möglich macht, einen PC als Komponente des Temperatur-Messsystems zu verwenden. Damit lässt sich z.B. die Software „TAnz“ als virtuelles Anzeigemodul verwenden. Weiterhin kann man den PC zur Diagnose bei Problemen mit der Datenkommunikation einsetzen. Alle vom Sensormodul oder Web-Modul gesendeten Datenpakete können mitgelesen und auch aufgezeichnet werden. Verwendet man ein XBee USB, dann hat man zusätzlich die Möglichkeit, Datenpakete an Anzeigemodule, die Matrixuhr oder die Wohnraumuhr 2 zu senden.

Als Software für die Diagnose dient ein Terminalprogramm, welches auf den COM-Port eingestellt wird, an dem sich unsere Kommunikations-Hardware befindet. Falls man noch einen PC mit 9-poligem D-Sub-Anschluss hat, dann wird hier meist COM1 verwendet. Bei Verwendung eines USB-auf-RS-232-Adapters oder dem XBee USB wird der COM-Port vom Windows-System festgelegt. Hier muss man im Geräte-Manager unter Anschlüsse nachschauen. Als Terminalprogramm empfehle ich PuTTY oder TeraTerm (siehe Downloads).

Terminal 1 Das nebenstehende Bild zeigt die wichtigsten Einstellungen bei PuTTY. Hier ist als Beispiel COM1 eingestellt, bei Verwendung eines USB-Anschlusses muss der COM-Port entsprechend angepasst werden.

Für ein optimales Ergebnis sind noch zwei weitere Einstellungen erforderlich. Dazu wird im linken Fenster Terminal ausgewählt und auf der rechten Seite ein Haken bei der Option Imlicit LF in every CR gesetzt. Diese Option bewirkt, dass jedes empfangene Datenpaket in eine neue Zeile geschrieben wird. Weiterhin wird im gleichen Fenster weiter unten der Punkt bei Local echo: auf Force on gesetzt. Diese Option bewirkt, dass alle Tastatur-Eingaben im Terminalfenster erscheinen.

An dieser Stelle sollten alle Einstellungen gespeichert werden. Dafür wird im linken Fenster Session ausgewählt und auf der rechten Seite zunächst bei Connection type: der Punkt auf Serial gesetzt. Anschließend kann in das Feld Saved Sessions ein Name, z.B. Temperaturmesssystem eingegeben werden. Mit einem Klick auf den Button Save speichert PuTTY alle Einstellungen. Dabei wandert der eingegebene Name in Liste unterhalb des Feldes Saved Sessions. Bei jedem Start von PuTTY erscheint dieses Bild und man kann durch einen Doppelklick auf den Namen in der Liste die Einstellung laden und starten.

Terminal 2 Die Konfiguration von TeraTerm funktioniert etwas anders. Beim ersten Start erscheint hier zunächst ein Fenster, in dem die Option Serial und der gewünschte COM-Port ausgewählt wird. Anschließend wechselt TeraTerm zur normalen Terminal-Ansicht. Es ist an dieser Stelle sinnvoll, die mitgelieferte deutsche Sprachversion zu aktivieren: Im Hauptmenü erreicht man unter Setup die Option General..., anschließend wird die Einstellung LanguageUI: auf German.lng geändert.

Im nächsten Schritt werden die Einstellungen der seriellen Schnittstelle wie im nebenstehenden Bild kontrolliert, diese erreicht man über das nun deutsche Hauptmenü Einstellungen und die Option Serieller Port.

Auch bei TeraTerm sind noch zwei weitere Einstellungen erforderlich. Eine sorgt dafür, dass alle empfangenen Datenpakete in einer neuen Zeile erscheinen. Dazu werden im Hauptmenü nochmals die Einstellungen aufgerufen und die Option Terminal-Einstellungen ausgewählt. Hier muss im Feld Neue Zeile die Einstellung Übertrage auf CR+LF gesetzt werden. Im gleichen Fenster ist auch die zweite Einstellung Lokales Echo zu finden, die aktiviert werden muss. Damit werden später alle Tastatureingaben im Terminalfenster sichtbar.

Auch bei TeraTerm lassen sich alle Einstellungen speichern. Dies erfolgt über das Menü Einstellungen und die Option Setup sichern. Nach der Eingabe eines Dateinamens hat man hier die Möglichkeit, die aktuellen Einstellungen zu speichern. Später kann man über die Option Setup laden und die Auswahl der Datei die Einstellungen wieder laden. Übernimmt man hier den vorgeschlagenen Namen TERATERM.INI, dann wird unsere aktuelle Einstellung als Standard gespeichert und automatisch beim Start von TeraTerm geladen.

Beide Terminalprogramme verhalten sich grundsätzlich gleich. Ich habe mich für PuTTY entschieden und die nachfolgenden Bilder damit erstellt.

Terminal 3 Das Bild links zeigt PuTTY beim Empfang der Daten des Sensormoduls. Hier kommen die Daten über eine Kabelverbindung an COM1 in den PC. Verwendet man einen USB-RS232-Adapter, dann stellt man am Terminal den vom Adapter genutzten COM-Port ein und bekommt so das gleiche Ergebnis.

Zur Diagnose einer Funkverbindung kann man ein XBee USB an den PC anschließen und mittels XCTU den Parameter MY = 2 einstellen. Damit verhält sich das XBee USB wie ein Anzeigemodul und empfängt die Daten des Sensormoduls. In dieser Konstellation würde sich ebenfalls das nebenstehende Bild zeigen.

Terminal 4 Dieses Bild zeigt PuTTY beim Datenempfang über ein an COM10 angeschlossenes XBee USB. Bei diesem wurde vorher der Parameter MY = 3 eingestellt, somit werden jetzt die Datenpakete empfangen und angezeigt, die für die Matrixuhr bestimmt sind.

Übrigens, auf einen COM-Port kann immer nur ein Programm zugreifen. Es ist also nicht möglich, ein angeschlossenes XBee-Modul mit XCTU zu konfigurieren und gleichzeitig mit einem Terminal zu verbinden. Man sollte also zuerst mit XCTU das XBee-Modul auf die gewünschte Einstellung bringen, dann die Verbindung trennen (auf der linken Seite auf das Kreuz-Symbol klicken) und erst dann das Terminal-Programm starten.

Terminal 5 Wenn nur einzelne Einstellungen eines XBee-Moduls geändert werden sollen, dann kann man dies auch mit dem Terminal-Programm erledigen. Das nebenstehende Bild zeigt einen Dialog mit dem XBee-Modul über so genannte AT-Befehle. Hier wurde die eigene Adresse des XBee-Moduls MY von 2 auf 3 geändert.

Die folgende Tabelle erklärt die Eingaben und zeigt damit den grundsätzlichen Ablauf für die Konfiguration mit AT-Befehlen:

Tastatur-EingabeXBee-AntwortFunktion
+++OKUmschalten vom transparenten Daten-Modus in den AT-Befehlsmodus
atmy<Enter>2Abfrage der aktuellen Einstellung MY (ist auf 2 gesetzt)
atmy3<Enter>OKSetzen der neuen Einstellung MY = 3
atmy<Enter>3Abfrage der aktuellen Einstellung MY zur Kontrolle (ist jetzt auf 3 gesetzt)
atcn<Enter>OKZurückschalten vom AT-Befehlsmodus in den transparenten Daten-Modus

Hinweise: Die Eingabe der 3 Plus-Zeichen muss innerhalb einer Sekunde erfolgen und es darf anschließend nicht auf die <Enter>-Taste gedrückt werden. Alle anderen Eingaben müssen jedoch mit der <Enter>-Taste abgeschlossen werden. Alle Parameter werden vom XBee-Modul als Hexadezimalwerte gelesen und ausgegeben. Soll beispielsweise die Adresse MY = 30 gesetzt werden, dann muss das Kommando so aussehen: atmy1e<Enter>. Zwischen den Eingaben der AT-Kommandos dürfen nicht mehr als 10 Sekunden vergehen, anderenfalls schaltet das XBee-Modul in den Daten-Modus zurück. Das bedeutet auch, dass man das letzte Kommando atcn<Enter> weglassen und stattdessen 10 Sekunden warten kann. Die Eingaben werden übrigens nicht dauerhaft gespeichert und gehen beim nächsten Neustart des XBee-Moduls verloren. Sollen die geänderten Einstellungen erhalten bleiben, dann gibt man vor der Rückkehr in den Daten-Modus das Kommando atwr<Enter> ein.

Mit einem XBee USB ist es auch möglich, Daten an Anzeigemodule, an eine Matrixuhr oder eine Wohnraumuhr 2 zu senden. Die folgende Übersicht zeigt die dafür notwendigen Einstellungen des XBee-Moduls:

Daten an Anzeigemodule senden: MY = 1, DL = 2
Daten an eine Matrixuhr senden: MY = 2, DL = 3

Die möglichen Datenpakete und Beispiele für die Kommunikation zwischen Sensormodul und Anzeigemodulen sind im Abschnitt Datenübertragung beschrieben. Die Datenpakete zwischen Web-Modul und Matrixuhr sind anders aufgebaut und ausführlich im Projekt Matrixuhr (Abschnitt Datenkommunikation) beschrieben.

Beim Senden von Datenpaketen ist folgendes zu beachten: Grundsätzlich können alle Typen von Datenpaketen in der richtigen Syntax über die PC-Tastatur eingegeben und mit <Enter> abgeschlossen werden. Allerdings sollten weitere Sender wie das Sensormodul oder das Web-Modul während solcher Experimente deaktiviert werden. Anderenfalls vermischen sich die Daten und die Empfänger erhalten fehlerhafte Daten.


Startseite - Seitenanfang

Allgemeines - Projekt-Überblick - Links, Software - Neuigkeiten - „Klassiker“ - Galerie - Impressum

AVR-Programmierung - Multifunktionsuhr - Matrixuhr - Tischuhr - Wohnraumuhr - Wohnraumuhr 2 - Wecker - LCD-Wecker - Zahnputzuhr - BigBen-Türgong - Fahrtregler - EPROM-Programmiergerät - Temperaturmesssystem - USB-RS232 Interface - Weihnachtsstern - Kleine Projekte