D.I.Y. - Wireless Alarm and Telemetry with two XBee
Alarme wireless zum Piloten bringen.. Das ist im Augenblick in JLog2 implementiert:
Wer diese Telemetrie hat, hat auch Alarme am Sender. Allerdings gibt es derzeitig Trauer, und damit auch für Alarme “unten”, mit FASST, und mit Spektrum und Hitec im gegenwärtigen Status, mit etlichen Systemen mehr, die ich gerade gar nicht im Detail kenne. Thema ist also für den interessierten Leser: Wie mache ich es wireless trotz der Handicaps meines R/C-Systems? Nun, viele Wege führen nach Rom, manche auch nur in die Sackgasse. Hier soll nicht auf 433MHz geklingelt werden, hier machen wir es “professionell” auf 2,4GHz mit DSSS, sprich, mit Digi’s (ehemals Maxstream) XBee. Immerhin basiert auch XPS/IFS auf diesen OEM-Moduln.
So könnte es aussehen, wenn man nur die beiden Alarmleitungen des Logger “runter bringen” will:
Das Ganze passiert ohne zusätzlich implementierte Funktion im Logger per sog. “Line Passing”. Die beiden XBees bekommen jeweils ein Profil, was bewirkt, dass der Status digitaler Eingänge des Air-Moduls auf digitale Ausgänge des Base-Moduls 1:1 übertragen wird
Man hängt nun einen Alarmgeber an den Ausgang eines Base-Moduls, im einfachsten Fall direkt oder via eine Treiberstufe (1 Transistor) einen Piezo Buzzer. Der würde nun einen Dauerton geben im Alarmfalle. Um den Eigenbau einer Intervallschaltung zu ersparen, beabsichtige ich, zukünftig die Alarmleitungen des Loggers wahlweise (JLC) zu takten, bei Alarm im Intervall, oder es wird ein Morsezeichen je Alarmtyp gegeben, also ‘a la JETI. Durch das Morsezeichen entsteht der Vorteil, dass die Alarmtypen auch akustisch unterscheidbar sind, meiner Meinung nach besser als mit unterschiedlichen Tonhöhen. - Wegen des verwendeten “Line Passing” müssen die XBees vom Typ “802.15.4″ bzw. “Serie 1″ sein!
Es ließe sich nun erweitern zu einer vollständigen Telemetrie, also mit Display der Momentandaten und alarmierender Daten. Leider schließt sich dabei das Verwenden einer JETIbox (und damit bereits implementierter Display-Funktion) aus, das hat zwei Gründe: Erstens ist das ein 1-Wire-Protokoll. Man müsste das erst mit zusätzlicher Hardware vor dem Air-Modul in Zweidraht umwandeln, bevor es seriell übertragen wird, dann hinter dem Base-Modul wieder zu Eindraht machen, um es in die JETIbox einspeisen zu können. Der zweite Grund ist schwerwiegender: Das Terminalprotokoll von JETI basiert auf 9 Datenbits pro Zeichen, die serielle Schnittstelle der XBees unterstützt aber nur 8 Datenbits. Man könnte nun versuchen, das serielle JETIprotokoll auch per “Line Passing” zu übertragen. Ich habe das nicht probiert, es könnte u.U. hinsichtlich des Timing kritisch werden.
Daher setze ich auf ein anderes Terminal, eines, was mit 8 Datenbits pro Zeichen arbeitet. Das ist hier das Unidisplay von SM-Modellbau, es bringt uns den zusätzlichen Vorteil vierfacher Display-Kapazität, verglichen mit bisherigen JETIboxen, 8 x 16 Zeichen. Das Display ist viel kleiner und leichter als eine JETIbox, allerdings sind die Zeichen auch kleiner. Eine Display-Beleuchtung gibt es nicht, aber das hat die “klassische” JETIbox auch nicht.
Obige Lösung ist meine präferierte, es ist die, die ich auch für mich selbst sehe, ich bin Spektrum-User, – dessen Telemetrie ist im Augenblick ungeeignet für einen Multisensor wie JLog.
Bevor nun noch ein paar Worte zu XBee kommen, – die Dinger werden nicht gerade unmissverständlich vermarktet, – hier noch andere mögliche Varianten für JLog-eigene Telemetrie, die ich teilweise testete, dann aber zugunsten obiger Variante verwarf:
Die binären Datenpakete des JIVE kommen als 8 Datenbits pro Zeichen. Nichts ist also einfacher, als das Kabel zwischen JIVE und JLog durch die Luft zu verlängern. Habe ich gemacht, funktioniert. Allerdings beeinflusst es das Log im Falle schlechter Verbindung, – und das Log hat einfach Priorität. Außerdem muss man dabei eine Sache vergessen: JLog-eigene Sensoren, der Logger ist ja “unten”.
Rein technisch am besten, weil am flexibelsten, wäre es, eben auf beiden Seiten einen Microcontroller zu haben, den wir benutzen können (in der Hand haben), also sinnvollerweise einen JLog oben und einen unten, Firmware und JLC dafür aufgebohrt. Der JLog oben loggt, damit ist maximale Sicherheit für das Log gegeben. Er sendet dann als Livestream das Binärprotokoll des JIVE, ergänzt um Daten der JLog-eigenen Sensoren. Die Alarme bildet der Logger am Boden und gibt sie über seine Alarmleitungen an einen geeigneten Alarmgeber. Er kann zusätzlich auch loggen, muss es aber nicht (ohne SD, die Firmware muss diese Betriebsweise dann unterstützen). Als Display kommt somit auch eine JETIbox in Frage, oder eben zukünftig alternativ das Unidisplay. Hier wären auch XBees der Serie 2 verwendbar (XBee Pro ZB), weil “Line Passing” nicht gebraucht wird. – Ja, Leute, ich bin mir leider ziemlich sicher, dass Ihr das nicht mögen würdet, des Geldes wegen..;)