0
Comments

Die ohne Zweifel bekannten und auch beliebten xBee Funkmodule finden nun auch bei mir zum ersten mal zu testzwecken ein Plätzchen. Es gilt herauszufinden ob sie für ein Hausautomationssystem welches Komplet drahtlos kommunizieren soll geeignet ist. Bestellt wurden dafür gesamthaft 5 x xBee mit 1mW ( < 100 meter) und verschiedenen Antennen, 1 x USB Adapter (usb <> uart) und diverse Sockel von sparkfun.

Die Erstkommunikation mit einem Modul selbst war relativ unproblematisch. Sie funktioniert mit dem dafür vorgesehenen USB Adapter genauso wie mit dem selbstgebauten rs232 Modul. Mit dem Tool X-CTU können nun die Parameter des xBee angepasst werden. Es stellt ebenfalls ein einfaches Terminalprogramm zur verfügung.

Jedoch interessiert mich die manuelle Konfiguration mehr. Z.B. mit Putty an den verwendeten COM Anschluss verbinden (Baud Default auf 9600), mit der Eingabe +++ (ohne break) in den Programmiermodus wechseln, es wird OK angezeigt. Nun können mit AT befehlen die Settings gelesen und geschrieben werden. Der Programmiermodus wird automatisch nach ein par Sekunden ohne Aktion verlassen.

Die wichtigsten Befehle:

  • ATMY  ->  Eigene Adresse
  • ATDL  ->  Zieladresse
  • ATID  ->  PAN ID (Netzwerkadresse)
  • ATWR  ->  Settings speichern, ansonsten gehen sie nach einem Spannungsabfahl wieder verloren
  • ATBD  ->  Modul Baudrate (1200 – 115200)
  • ATDB  ->  Signalstärke (erst nach senden von paketen verwendbar)
  • ATCT  ->  Programmiermodus verlassen

Für weitere Tests hab ich bereits mehrere kleine Empfangsplatinen gebaut, gesteuert von einem Atmega8. Wichtig dabei ist, die Versorgungsspannung ist max. 3.4V ! mit meinen zuerst verwendeten 3.6V sind 2 xbees nach etwa 30min abgebrannt. Der Atmega8 verkraftet diese Spannung glücklicherweise noch ohne Probleme (7.3728Mhz), so entfällt die lästige Signalwandlung zwischen den beiden  Spannungen.

Damit ich später den Controller updaten kann ohne jedesmal manuell per ISP zu flashen, habe ich mich nach einem uart bootloader umgesehen. Es gibt diverse,welche die nicht richtig funktionierten, oder nur auf wenigen AVRs.Jedoch wurde ich mal wieder bei peter fleury fündig. Sein Bootloader funktioniert mit allen gängigen grössen Relativ einfach. Wichtig ist, will man direkt in dem Bootmode starten, so müssen die entsprechenden Fusses gesetzt werden. Jedoch verwende ich diese nicht, da ich direkt aus dem laufenden Programm auf den Bootsektor springen will und nach dem Flashen zurück zum programmstart. Der Code wurde daher etwas angepasst, so das jetzt mit void (*jump_to_bootloader)( void ) = 0x0E00; der Bootsektor angesprungen wird.

Aufgrund von Timingproblemen mit dem stk500 verwende ich für das Flashen avrdude mit 57600 Baud. Es spuckt zwar noch einige Fehler, jedoch kann ich mit

avrdude -b 57600 -P com4 -U flash:w:main.hex -c stk500v2 -p m8 –F

das Flashen trotzdem erfolgreich erzwingen. Somit ist ein updaten z.B. aus einem vb.net Programm heraus ohne manuelles eingreifen möglich.

Ein Test mit mehreren Endgeräten wird in einigen Wochen folgen.

You need to enable javascript in order to use Simple CAPTCHA.

Keine Kommentare zu “xBee Basic”

Noch keine Kommentare vorhanden!

  • Über uns

    Wir forschen, entwickeln, planen, designen und bauen modernste Hardware sowie Softwarelösungen in vielen Bereichen. Exotische Ideen und Ansätze gehören intuitiv zu unserer Arbeit dazu
  • Emailadresse

    • info@4-future.ch
    • info@phx.ch
    • info@phenex.ch