PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XBee Pro S1 problem mit Datenfluss



Sonaret
10.08.2012, 10:42
Hallo,
da übertrage ich mit Zeitversatz (mS) 5 Datenpackete a 240 Byte (ASCI) mit 115.200 Bd. Nach ca 3-4 sek stoppt die Übertragung und ein Timeout tritt ein.
Ein Reset des ATMEL8 bzw im Auswerteprogramm nützt nichts. Erst wenn ich die Stromversorgung zum XBee ab-und neu anschalte geht es wieder - aber eben nur für Sekunden.
Hat jemand einen Hinweis was da los ist ??

Valen
10.08.2012, 14:08
Verstehe ich das gut das du jeder 5 Millisekunde eine Datapackete von 240 Bytes übertragen möchte mit 115200 Baud? Das wurde nicht gehen: (1/0,005 Sekunden) * 240 Bytes * 10 Bits/Byte=240000 Bits/Sekunde (Baud)

Oder wie oft sendest du diese Packeten?

Sonaret
11.08.2012, 11:01
Hallo Valen,
vielen Dank für die Antwort.
Jedes Datenpacket wird erst komplett übertragen und nach einem Delay von ca 1ms us folgt das 2. 3. 4. 5. Das geht kontinuierlich mal 3 bis 4 sek gut - d.h die Messdaten werden kontinuierlich angezeigt - so wie sie eintreffen - aber dann stoppt der ganze ablauf und überträgt nur noch einzelen 240Byte pakete mit je1 sek timeout. Ein Satz von 5 Datenpackete dauert also dann
5 +nSek. Nach aus-und einschalten des XBee an der Messtelle wiederholt sich alles , d.h erst geht es "Flott" dann time out. Wobei die Abstände bis zu diesem Effekt das keine Daten mehr übertragen werden unterschiedlich d.h mal nach 3 mal nach ca 4 sek.

Valen
11.08.2012, 12:01
Ok, vergesse meine Berechnung der Datenmenge. Das stimmt nicht. Ist auch nicht wie du nun Erklärst.

Du sendest 240 Bytes (10 Bits, inkl. start und stop Bit) mit 115200 baud. 2400 Bits dauert dann mindestens 20,83 mSekunden. Dann wartest du nur 1 mSekunde dammit die Xbee die Zeit hat den Packeten in die Luft zu senden. Leider sendet eine S1 XBee seine Daten über Radio mit nur 250 KBaud. Also ist das nur 2-fach schneller Als deine Baudtakt. 1 mSekunde wird deshalb nicht reichen. Wieviel genau dein Delay sein muss ist schwer zu sagen.

Die Grenze der Daten Puffer der XBee ist 202 Bytes(202 Bytes aus, und 202 Bytes in), aber deine Daten werden schon ab 100 Bytes in eine XBee API Packet umgewandelt und gesendet. Aber das passiert nur wann den XBee nicht im Empfang modus ist. (er kann nicht gleichzeitig senden und empfangen) Irgendwie kommen deine Daten in den Stau im Xbee. Am Sende platz oder am Empfang plats.

Vergrössere dein Delay, Reduziere deine Datenmenge und/oder versuche mal Hardware Flusskontrole zu benutzen in dein Schaltung/Program. Dann kann den XBee zu deine Atmega8 angeben wenn die UART Puffer Voll ist.

Valen
11.08.2012, 12:03
Bist du schon bekannt mit den XBEE S1 Anleitung? Sehr wichtig.

http://ftp1.digi.com/support/documentation/90000982_G.pdf

Sonaret
11.08.2012, 12:57
Hallo Valen,

erst mal vielen Dank für die prompte Antwort und Hinweise.
Von max 202 bytes habe ich nichts gelesen, wobei ich die o.a. Dokumentation habe.
Nun werde ich das Messprogramm im ATMEL8 Datenpaket und Verzögerungszeiten und das Auswerteprog (Delphi) entsprechend ändert. Wir schon etwas Zeit dauern und dann berichten.
Ein schönes Wochenende
mit freundlichen Grüßen
Gerhard

Sonaret
12.08.2012, 17:52
Hallo,
noch nicht aber bald gebe ich auf. Da habe ich 2 Anwendungen mit 240 Byte seit 1 jahr die Funktionierten aber nun gibt es da auch ein Timeout oder "Anhalten im XBee! Einfach kein Empfang an der Gegenstelle. Geht für Sekunden einwandfrei und dann aus.
Mit dem X-CTU am PC und Brücke am 2. XBee einfach kein Problem. Da stockt nichts. Na, die Suche geht weiter.
Falls jemand das Problem bzw Ursache kennt bitte melden!!!

Christian84
22.12.2013, 12:30
Moin allerseits,

ich habe eine Frage zu dem xbee,

ich habe mir überlegt, ob es möglich ist einen Xbee mit einem Smartphone kommunizieren zu lassen? Der Hintergrund ist der, dass ich eine einfache Webseite habe, wo ich eine LED steuern kann. Der ganze Aufbau würde mit Arduino realisiert werden.
Wenn ich google frage, bekomme ich lediglich die Umsetzung der Kommunikation von zwei xbee. Sodass ein Arduino mit dem anderem kommunizieren kann.
Entweder ich finde nicht den passenden Artikel dazu, oder es gibt schlicht nicht diese Möglichkeit.

Beispiele für mein Vorhaben findet über andere Möglichkeiten statt, wie verschiedene Boards die für den Arduino entwickelt wurden.
Wenn die Umsetzung nicht möglich sein sollte, müsste ich auf die Wifi-Boards zurückgreifen.

Vielen Dank im Voraus

Christian

Valen
22.12.2013, 12:45
Smartphones die mit XBee kommunizieren können habe ich noch nie von gehört. Du wirst mehr Erfolg haben mit transceiver Modulen mit das Bluetooth Protokol, oder Wifi.

Christian84
22.12.2013, 13:45
Danke für die schnelle Antwort. Aus deiner Antwort entnehme ich, dass ich auf das Wifi Board von Arduino zurückgreifen soll? Hast du mit diesem schon deine Erfahrungen gemacht?

Christian

Valen
22.12.2013, 13:52
Ich habe keine Erfahrung mit Wifi oder Bluetooth modulen. Nur mit Xbee ein Wenig. Deshalb kann ich dich nicht helfen in deine Entscheidung.