[Library] XBee Serie2 - ZigBee Netzwerk

[SIZE=5]Funktionsumfang[/SIZE]

 Bereitstellen und Abbilden der Schnittstellen und     A/D-PIN-IOs eines XBee-ZigBee Netzwerkes.

Implementierung des ZigBee API-Protokoll der XBee Serie2.
Senden und Empfang von seriellen Daten eines Gerätes, welches an einem entfernten XBee Router bzw. EndDevice angeschlossen ist.
Empfangen von PIN-IO-Samples.
Lesen und schreiben von Parametern aller im ZigBee-Netzwerk vorhandenen Geräte (inkl. Coordinator).
Die serielle Schnittstellen der Router / EndDevices werden in IPS als Splitter abgebildet und sind direkt in IPS als übergeordnete Instanz für alle Geräte verfügbar, welche sonst eine Serielle Schnittstelle benötigen (oder eine andere IO-Instanz benötigen welches SendString unterstützt.).

[SIZE=5]Voraussetzungen[/SIZE]

 - IPS Version 4.0 oder Version 3.1

 - min. zwei XBee-Serie2     (ZigBee)

 - Konfigurationssoftware     XCTU ([www.digi.com](http://www.digi.com/))

 - RS232 / auf 3,3V     Adapter (-Platine) oder USB-Seriell-Wandler mit 3,3V für den     Coordinator (oder jede andere Form der seriellen Datenanbindung mit     3,3V)

[SIZE=5]Hardware & Software-Installation[/SIZE]
Sind der Doku zu entnehmen.

LINK: Nall-chan/IPSXBeeZigBee · GitHub

Michael

Hallo Michael,

ich versuche gerade dein Modul und IPS V3.4 zum Laufen zu bringen. Aber ich bekomme es nicht hin, den Roomba zu steuern. Dabei ist mir aufgefallen, dass die Befehle XBEE_SendCommand und _SendBuffer nicht dokumentiert sind. Wie sind die Parameter dazu zu verstehen bzw. wofür sind die Befehle genau.
Vielleicht kannst du noch genauer erklären, wie man Kommandos über die Verbindung zu den angeschlossenen Geräten schickt.

Danke

Kevin

Die sind nicht für mein Modul, sondern aus den Original-IPS-Modul für die Serie1.
Welche gerade in der Doku fehlen :eek: Habe ich gleich mal gemeldet :wink:
Also einfach vergessen, die brauchst du nicht.

So wie auch jede ‚andere‘ I/O bzw Splitter Instanz.
Einfach eine Register-Variable anlegen. Als Parent wählst du den Splitter deines XBee in dem Roomba.
Über die Register-Variable kannst du ein Script triggern um Daten zu empfangen und mit RegVar_SendText auf die Register-Variable auch versenden.

Denk’ dir hier einfach auf der linken Seite den Cutter weg und dass ist dann deine Konstellation.

Michael

Hallo Michael,

die Programmauswahl des RGB Controllers sind gleich
wie beim Homematic Controller, denkst du es ist machbar
das Modul auf Homematic RGBW Controller anzupassen ?

Danke, Grüße Alex

Hier geht es um ein Modul für Xbee und nicht um RGB Controller oder gar Homematic.
Michael

Hallo Michael,

so, habe nun meine ZigBee Module bekommen und auch schon Fragen:

In „Einrichten der Gateway & Splitter Instanzen in IPS“ sagst Du

… In der Splitter Instanz den Node-ID des entfernten XBee eintragen…
Ist damit eine Splitter Instanz für die End Devices gemeint?
Was ist die Node-ID? Die PAN-ID oder die Name ID (NI)?
oder ist mit ‚entfernter XBee‘ einer der End Devices gemeint?

Was ist die Koordinator ID, die muss man ja wohl auch eingeben?

Sorry für die ‚blöden Fragen‘ - aber irgendwie komme ich nicht klar.

Gruß
Dieter

Coordinator ist der mit seriellen Anschluss an IPS ( = Gateway)
Remote ist entweder ein End-Device oder ein Router ( = Splitter)

Node-Id => NI => Name des Node
PAN-ID => ID => Die ID des Netzwerkes, muss überall identisch sein.

Jup (oder auch ein Router)

Was meinst du ? NI des Coordinator ? Nein brauchst du nicht.

Sind ja nicht blöd, sondern helfen nur Anleitungen zu verbessern :slight_smile:

Es ist auch sehr zu empfehlen, nachdem alle Geräte mit XCTU fertig programmiert sind, den Coordinator anzustecken und eine Netzwerksuche zu starten. XCTU sollte dann alle Geräte finden und du kannst dann auch alle Remote programmieren. Wenn du weißt dass das Netzwerk läuft, kannst du es mit IPS probieren.

Michael

Herzlichen Dank Michael,

werde mich dann mal in den nächsten Tagen versuchen, denn ich habe die XB24S2C, da ist es etwas anders. Die Teile haben einen größeren Speicher und damit passen alle Funktionen drauf - d.h. es müssen nur noch die relevanten Variablen richtig programmiert werden. :eek:

Ich werde berichten und ggf. Deine Beschreibung entsprechend anpassen - bin auch gespannt!

Gruß
Dieter

Gleich noch eine Frage:
Was bedeutet es, wenn ich beim anlegen eines XBee ZigBee Splitters folgenden Hinweis erhalte:
„Instanz ist in einem unbekannten Status mit dem Code 101“ ?

Das habe ich auch schon öfters bei anderen PHP-Modulen gesehen… Sollte nach einem Neustart weg sein.
Ich muss demnächst sowieso das Modul mal für IPS 4.1 verbessern, eventuell ich es auch ein Bug wenn man Instanzen neu anlegst.
Dann schaue ich mir das gleich mit an.
Michael

Hallo Michael - ich bin es schon wieder.

Habe gestern Nacht noch ein wenig experimentiert und folgendes gefunden (ich habe SYMCON 4.0):

Als erstes möchte ich die Gateway Instanz anlegen aus:

ZB_1.png

Die Gateway Instanz und auch ein Serielles Port wird installiert:

Dann möchte ich einen Splitter für ein End Device installieren was auch passiert, allerdings wird nochmals ein Gateway und ein serielles Port installiert:

und der Splitter zeigt eine Problem (hatte ich gestern schon erwähnt):

Ist das alles so korrekt, ein Bug oder ein Feature?

Gruß
Dieter

Das doppelte Anlegen ist etwas unschön.
Kannst aber in der physikalischen Baumansicht alle Gateways und SerialPorts löschen welche du nicht benötigst und an denen kein Splitter hängt.
Das mit dem Code muss ich mir mal ansehen, sollte aber dennoch funktionieren.
Michael

Ach ja, beinahe vergessen - noch eine Frage:

Was ist denn die Instanz XBee ZigBee Device? Wenn ich die anwähle/ausführe wirft SYMCON tonnenweise Fehlermeldungen.

Gruß
Dieter

Steht unter Punkt 6 der Readme. Das sind die IO-Pins eines Node.
Die Fehler kommen vermutlich weil entweder der dazugehörige Node nicht erreichbar oder nicht korrekt konfiguriert wurde.

Hallo Michael,

ich komme leider nicht so richtig weiter und sondiere mögliche Probleme.

Dabei fiel mir in Deiner Anleitung auf, dass Du dort den Coordinator in API-Mode und die End Devices/Routers in AT-Mode (Transparent) konfigurierst. Kann das überhaupt funktionieren?

Im folgenden noch mal was ich vor habe:
Z.Zt. habe ich eine entfernte Wetterstation mit serieller Schnittstelle und einen Teich-V-Filter auch mit serieller Schnittstelle.
Für jedes Gerät nutze ich 2 ‚alte‘ XBees der Serie 1 in AT (transparent)-Mode um um serielle Daten von und nach SYMCON zu sende/empfangen.
D.h. insgesamt 4 XBee’s und 2 USB (virtuelle serielle Schnittstellen)

Nachdem mich sowohl paresy und auch Nall chan gefragt haben, warum ich das so umständlich mache und nicht die XBee-Module innerhalb SYMCON nutze, habe ich mich entschlossen, dem Rat zu folgen.
Also fix 3 brandneue XBee ZigBee Serie2C gekauft und diese nach der Anleitung von Nall Chan konfiguriert: 1 x Coordinator (API-Mode?) und 2 x End Devices (AT-Mode?) mit dem Ziel, beide Geräte über nur noch einen Coordinator zu bedienen (senden und empfangen von ASCII-Strings).
Leider ist es mir bisher nicht mal gelungen, ein stabieles ZigBee Netzwerk aufzubauen.

Hat denn jemand aus der Community schon mal so was realisiert?

Gruß
Dieter

Der Modus bezieht sich auf die serielle Schnittstelle.
Ja API (= nicht transparent) ist für die IPS-Seite (Coordinator) korrekt.
Und AT für deine Wetterstation.
Bau zuerst ein stabiles Netz mit XCTU auf, vorher macht es in IPS keinen Sinn irgendwas zu testen.
Wenn ich es schaffe, mache ich heute noch mal Screenshots…
Michael

Hallo Michael - danke für Deine Antwort.

JA - Deine Screenshots der XCTU Parameter von Coordinator und End Devices könnten helfen.

Gruß
Dieter

Sind gerade in der Readme online gegangen :slight_smile:
Sowie zum Kürzel der Config-Parameter (z.B. NI) auch den Langtext aus der XCTU.
Das sollte es etwas vereinfachen.
Michael

Excellenter Service !! Vielen Dank

Werde das nacher mal nachvollziehen und berichten.

Gruß
Dieter

==> Problem gelöst - nach einem REBOOT des Raspberrys konnte ich das Modul installieren <==

Nachdem ich mir noch 2 neue USB XBEE Boards gekauft habe, wollte ich heute meine Aktivitäten auf meinem experimentell RASPI 3 weiterführen.
Leider gelingt es mir nicht, Nall chans XBEE ZigBee Module dort in SYMCON 4.0 zu installieren - es zeigt folgendes:

2016-09-14_154718.png

Hat jemand einen Tipp für mich, was dort das Problem sein könnte?

Die SymconMisc Module liessen sich ohne Probleme installieren.

Gruß
Dieter

So hier wieder die „Nervensäge“

Ich habe einen Coordinator und einen Router konfiguriert und geprüft, dass sich eine Netz aufbaut.

Dann den Coordinator an den Raspi angeschlossen und den Router an ein Terminal-Programm angeschlossen.

Auf dem Raspi ist die Serielle Schnittstelle eingerichtet und ich kann im Debugfenster sehen, dass die beiden sich unterhalten.

Allerdings passiert rein gar nichts im Debugfenster vom Gateway noch vom Splitter.

Wenn ich mit dem Terminal den Router beschreibe, kann ich sehen, dass der Coordinator was empfängt und auch im Debugfenster von der seriellen Schnittstelle sehe ich in den Frames meine Eingabe - allerdings gar nichts im Splitter oder Gateway Fenster - wie z.B. im Beispiel von Nall chan

Hat jemand einen Tipp für mich?

Gruß
Dieter