JeeNode - linuxu3er

linux
u3er
Direkt zum Seiteninhalt
JeeNode
Die JeeNode dienen als externe Sensoren für die Basisstation. Zusammen mit dem RoomNode können sie die Temperatur, Luftfeuchte, Lichtintensität, Bewegung und den Batteriestand senden.

  • JeeNode v5 + Room Board
    Prozessor: 16 MHz Atmel ATmega328P-PU
    Kompatible: zum Arduino Uno
    Netzwerk:  433 MHz Funkmodul RFM12B
    Abmasse: 85.9mm x 21.1mm, 12g
    Zusatzboard Room Board: Sensoren für Temperature, Luftfeuchtigkeit, Bewegung, Licht


JeeNode Vorbereitung
Zuerst das Room Board mit dem JeeNode verbinden und dann den USB BUB an den JeeNode und per Mini-USB an den PC anschließen um den JeeNode mit der Arduino IDE zu programmieren. Ich benutze die Arduino IDE unter Windows, daher beziehen sich die folgenden Pfade auf die Windows-Version. Der USB BUB braucht noch Treiber unter Windows , die ihr hier bekommt. Bei mir war die Version 2.12.28 der Virtual COM port (VCP) driver aktuell.


Für alle Sketche des JeeNode brauchen wir die Standardbibliothek JeeLib, die wir mit allen Beispielen aus dem Git-Repository als ZIP-Datei runterladen können. Die Bibliothek legen wir im Verzeichnis Dokumente/Arduino/libraries ab. Um die Funktion zu testen, nutzen wir zuerst das Programm RF12demo, welches sich in der Bibliothek unter jeelib-master/examples/RF12/RF12demo befindet.

Die RF12demo ermöglicht es über einer serielle Konsole das Funkmodul zwischen zwei JeeNode zu testen. In meinen Fall habe ich einen JeeNode v5 mit dem RF12demo bespielt und den JeeLink v2 auf das aktuelle RF12demo Version 12 installiert. Auf dem JeeLink ist von Hause aus das RF12demo installiert um als Empfänger zu dienen. In der Arudino IDE habe ich als Board den Arduino Nano, Prozessor ATMega 328P (Old Bootloader) gewählt, als Port COM3 für den JeeNode und COM4 für den JeeLink und sonst alles so gelassen wie es war.



Funktionstest mit Sketch RF12demo
Anschließend kann man über Putty zwei serielle Verbindungen aufbauen. Der JeeNode hängt bei mir an COM3 mit 57600 Baud und der JeeLink an COM4 mit 57600 Baud. Es wir folgende Meldung ausgegeben:

Das bedeutet, dass der JeeNode die ID1 in der Gruppe 212 hat und auf 868 MHz konfiguiert ist. Ich habe die ID mit Eingabe von "i2" angepasst. Die Gruppe muss für das Funkmodul RF12B bei 212 bleiben und die Funkfrequenz auf 433 MHz mit dem Befehl "4b" angepasst. Mit "v" kann man sich die aktuelle Konfiguration des JeeNode anschauen, die nach den Änderungen, wie folgt aussieht "B i2 g212 @ 433 MHz q1". Auf dem JeeLink muss man ebenfalls kontrollieren, dass sich beide Funkmodule in der selben Gruppe befinden, im selben Frquenzband sind und unterschiedliche IDs haben.

Wenn man nun beide Konsolen JeeNode und JeeLink auf dem Bildschirm nebeneinander legt, kann man Befehle senden und schauen, ob eine Reaktion kommt.
  • JeeNode sendet Befehl "0s", Antwort vom JeeLink "OK 2"
  • JeeNode sendet Befehl "0a", Antwort vom JeeLink "OK 34 -> ack", JeeNode bekommt noch ein "OK 194"
  • JeeNode sendet Befehl "1,2,3,0s", Antwort vom JeeLink "OK 2 1 2 3", , JeeNode bekommt noch ein "3 b"

Meine Komponenten sind nun folgendermaßen konfiguriert:
  1. JeeLink ID1, Gruppe 212, Funkfrequenz 433 MHz
  2. JeeNode Nr. 1 ID2, Gruppe 212, Funkfrequenz 433 MHz
  3. JeeNode Nr. 2 ID3, Gruppe 212, Funkfrequenz 433 MHz

Sketch roomNode
Wenn ihr die Antworten bekommt, funktioniert die Funkkomponente und ihr könnt das eigentliche roomNode Sketch aus der Bibliothek unter jeelib-master/examples/RF12/roomNode auf den JeeNode laden.

Nach dem Funktionstest und dem Laden des roomNode Sketches erhält man in der Konsole eine kryptische Ausgabe.  Die Aufgabe ist nun diese in eine lesbare Form zu bringen.

Hilfreiche Infos:
Zurück zum Seiteninhalt