Donnerstag, 3. Februar 2011

IEEE 802.15.4 und ZigBee

Heute möchte ich Euch einen Überblick über IEEE 802.15.4 und ZigBee geben. Dafür habe ich eine Präsentation erstellt, welche die wichtigsten Dinge zusammenfasst.


Sonntag, 30. Januar 2011

Xbee Unicast erste Gehversuche

Heute haben wir erste Unicasts im API Modus getestet. Dabei werden alle Devices in den API Modus versetzt. Wir haben einen Coordinator folgendermaßen konfiguriert:
  • PAN ID 666
  • NI (Node Identifier) 
  • Als coordinator gesetzt
Den Router haben wir ebenfalls auf die
  • PAN ID 666
  • JV ENABLED
Endevice
  • PAN ID 666
  • SM auf cyclic sleep
Nun haben wir Pakete zusammengebaut, wie im Standard angegeben.


Example:
Send a transmission to a module with destination address 0x0013A200 40014011,
payload "TxData1B". If escaping is disabled, (AP=1), the frame should look like:
0x7E 0x00 0x16 0x10 0x01 0x00 0x13 0xA2 0x00 0x40 0x0A 0x01 0x27 0xFF
0xFE 0x00 0x00 0x54 0x78 0x44 0x61 0x74 0x61 0x30 0x41 0x13
Where 0x16 = length (22 bytes excluding checksum)
  • 0x10 = ZigBee Transmit Request API frame type
  • 0x01 = Frame ID (set to non-zero value)
  • 0x0013A200400A0127 = 64-bit Destination Address
  • 0xFFFE = 16-bit Destination Address
  • 0x00 = Broadcast radius
  • 0x00 = Options
  • 0x5478446174613041 = Data payload ("TxData0A")
  • 0x64 = Checksum
Checksumme berechnet sich aus FF -  [Alle hexwerte von 0x10 - 0x5478446174613041

Donnerstag, 30. Dezember 2010

Füllstand einer Zisterne messen

Dieses Gerät ermöglicht es den Füllstand einer Zisterne zu messen. Dabei kommt folgende Hardware zum Einsatz:
  • XBee Pro 60mW Serie 2.5 Chip Antenne
  • MB1010: LV-MaxSonar-EZ1
  • Schalter
  • 9 Volt Batterie
  • Arduino Duemilanove
Das Gehäuse ist in Schichten aufgebaut, um möglichst viel Platz zu sparen. Die Daten die durch das MaxSonar gesammelt werden, können über ein PAN (XBee Shield) abgefragt werden.


Gehäuse mit Loch für das MaxSonar

(1)  Plexiglasplatte mit Befestigungssteg für das später folgende LCD . (2) MaxSonar eingelassen in die Plexiglasplatte

(3) Abstandshalter die den Abstand zum Arduino gewähleisten und gleichzeitig die Platine befestigen. (4) Lötstellen des MaxSonar

(5) Befestigtes Arduino, Kabel werden oben und unten am Bord entlang geführt

Stromversorgung mit einer 9 Volt Akku

(7) Adapter der mit einem Schalter verbunden ist

(8) LCD welches auf den zuvor montierten Steg montiert wurde

(9) Steg in Großaufnahme

(10) Board für das XBee Modul

(11) Montiertes XBee Modul mit Chipantenne, damit das Gehäuse später auch geschlossen werden kann

(12) Schalter um das Gerät an/aus schalten zu können

Fertig montiertes Gehäuse mit Plexiglasdeckel

Einfache Inbetriebnahme durch Schalter

Montag, 13. Dezember 2010

Version 1.0 Stable XBee 60mW

Die erste stablie Version mit zwei XBee Modulen ist fertig. Im nächsten Schritt soll das Netzwerk um ein XBee Modul erweitert werden. Dieses besitzt dann einen Ultraschallsensor. Jedoch hier erstmal das fertige Projekt. Sourcen folgen die Tage.

Koordinator: Hat keine besonderen Features, kann alles im Netzwerk senden, ist mit USB am PC angeschlossen
Router/Enddevice: Hat ein LCD verbaut, besitzt eigene Stromversorgung und einen Temperatursensor

Korrdinator sendet ein "t" via Broadcast im Netz

Erhält Antwort vom Router/Enddevice

Router/Enddevice zeigt die Temperatur an und zählt die Anfragen an ihn mit

Freitag, 3. Dezember 2010

XBee Pro Series 2 60 mW legal?

Es kam ja des öfteren die Diskussion auf, ob dieses Modul in Deutschland legal betrieben werden darf. Das Problem von diesem Board ist, das es nicht in seinem PowerLevel (PL) regulierbar ist:

S.132
http://ftp1.digi.com/support/documentation/90000976_G.pdf

Nach vielen Telefonaten mit der Bundesnetzagentur nun endlich eine Antwort:
 Sehr geehrter Herr Scheuermann,
Ich bin in unserem Hause u.a. der zuständige Ansprechpartner bei Fragen im Zusammenhang mit der R&TTE-Richtlinie (Richtlinie über Funkanlagen und Telekommunikationsendeinrichtungen; 1999/5/EG). Mir wurde Ihr Anliegen zur Beantwortung weitergereicht.

In Deutschland dürfen Zigbee-Geräte im 2,4 GHz-Band (2,4 - 2,4835 GHz) mit maximal 100 mW (EIRP) senden. In Frankreich beispielsweise darf nur im Bereich von 2,4 - 2,454 GHz mit 100 mW gesendet werden. Im verbleibenden Bereich sind maximal 10 mW erlaubt.

Eine weitere Anmerkung: Eine Sendeleistung von 60 mW (Senderausgangsleistung ist wahrscheinlich gemeint) ist nicht grundsätzlich mit einer Strahlungsleistung von 100 mW gleichzusetzen, da hier verschiedene Faktoren wie beispielsweise Antennengewinn und Kabelverluste eine wichtige Rolle spielen!

Ich hoffe Ihnen mit meinen kurzen Erläuterungen weiterhelfen zu können. Bei weiteren Fragen stehe ich Ihnen selbstverständlich gern zur Verfügung.


Falls Ihr den Kontakt braucht schreibt mir einfach eine E-Mail. Ich will den Name hier nicht veröffentlichen.

Man darf dieses Modul also in Deutschland einsetzen, perfekt. Die Sendeleistung ist vom Hersteller mit 100mW EIRP angegeben.



 

Sonntag, 28. November 2010

Erster Prototyp für Enddevice

Heute möchte ich den stabilen XBee Sketch vorstellen. Er besteht aus einem Router und einem Koordinator. Der Router kann die Temperatur über einen Temperatursensor auslesen und diese per ZigBee an den Koordinator im Netz senden. Zusätzlich kann man im Router noch eine LED über ZigBee ansteuern.

Arduino Duemilanove mit XBee Pro Series 2. Besteht aus einer Box mit Plexiglasabdeckung, einem Temperatursensor und einer steuerbaren LED




Lessons Learned:

  • Falls das Xbee mit der X-CTU Software nicht mehr auf read/write/restore reagiert, folgender Workarround:

    1) Wähle "Always update firmware"
    2) Modem  "XBP24-B"
    3) Function Set "ZNET 2.5 COORDINATOR AT" oder "ZNET 2.5 ROUTER/END DEVICE AT"
    4) Dann erst das Modul anstecken!
    5) Dann wire drücken
    6) Es sollte ein Dialog aufgehen. Nun RST und Ground kurzschließen, um das XBee neu zustarten
    7) Dann wird die default Firmware draufgeladen
  • Die Pins für das XBee Shield hinten noch abstehen lassen, damit man später das Shield noch mit dem FTDI-Kabel flashen kann.
  • Antennenlöchchen nicht vergessen


Downloads:


Sourcen für Koordinator und Router

ASCII-Zeichen:
  • "t" fragt die Temperatur ab
  • 0 schaltet die LED an
  • 1 schaltet die LED aus

Dienstag, 23. November 2010

Auto RC Steuerung

In diesem Artikel wird gezeigt, wie man eine Modellautosteuerung über ein Android-Handy realisiert. Die Kommunikation geht über Bluetooth, wobei einfache ASCII-Zeichen für die Kommunikation genutzt werden.


Als erstes  wird das Modellauto vorbereitet. Wir brauchen Platz für eine Box, in der das Arduino BT befestigt wird.

Nun montieren wir die Box. Man sollte darauf achten, dass man selbstsichernde Muttern benutzt. Die Vibrationen lösen normale Muttern sehr schnell.


Nun montieren wir das Arduino BT. Aufpassen, dass die Schraubenköpfe mit isoband abgeklebt sind.

Jetzt brauchen wir eine kleine Platine, damit wir die Stromversorgung des Servos gewährleisten. Wir bräuchten nicht unbedingt eine Platine, aber so kann man eventuell später folgende Bauteile leicher mit Strom versorgen.
 
Kabel vorbereiten

Servokabel anlöten.

Platine reinstecken und an die 5V und Ground anschließen.

 LED einstecken. Im Sketch dient sie uns als visuelles Feedback.

Stromversorgung für das Arduino BT anstecken. Diese kommt vom Fahrtenregler (einfach und genial).

Verkabelung vom Fahrtenregler. Die Steuerung vom Motor liegt am weißen bzw. orangenem Kabel an

Box zuschrauben und fertig ist die Hardware.