Frage:
XBee verwirft Pakete und die tatsächliche Datenrate ist niedriger als erwartet
Jader Dias
2010-11-02 17:44:49 UTC
view on stackexchange narkive permalink

Ich sende kontinuierlich mit 9600 Bit / s unter Verwendung der Standardkonfigurationen für meine beiden XBees XB24-B. Die Kommunikation erfolgt nur in eine Richtung, der Sender ist mit dem ATMega328 UART verbunden und der Empfänger ist über USB (FTDI) mit dem PC verbunden. Hier ist die tatsächliche Datenrate für ein bestimmtes Programm:

  • Kabelverbindung (kein XBee): 7694 Bit / s
  • vom ZNET 2.5-Router / Endgerät AT zum ZNET 2.5-Koordinator AT: 6800 Bit / s (einige verlorene Pakete)
  • vom ZNET 2.5-Koordinator AT zu ZNET 2.5 Router / Endgerät AT: 0356 Bit / s (viele verlorene Pakete)
  • vom ZigBee Router / Endgerät AT zu ZigBee Coordinator AT: 0000 Bit / s (funktioniert nicht)
  • vom ZigBee-Koordinator AT zum ZigBee-Router / Endgerät AT: 0328 bps (viele verlorene Pakete)

Warum ist das so? Kann ich irgendetwas tun, um diese Raten zu verbessern?

Bearbeiten Bei höheren Baudraten (115200) erhalte ich noch schlechtere Paket-Drop-Raten:

  • Kabelverbindung (kein XBee): 94200 Bit / s
  • mit XBee XB24-B ZNet 2.5: 27900 Bit / s

Bearbeiten Wenn ich das mache Der Koordinator adressiert das Endgerät, dann fällt die Paket-Drop-Rate auf die normalen Werte (6800 Bit / s), was nicht ideal, aber besser als das vorherige Szenario ist.

Crossposted auf [Arduino Forum] (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1288701627/0) und [SparkFun Forum] (http://forum.sparkfun.com/viewtopic) .php? f = 13 & t = 24491)
und [SeeedStudio Forum] (http://www.seeedstudio.com/forum/viewtopic.php?f=4&t=1314&start=0)
Es gibt jemanden mit einem ähnlichen Problem im [Digi Forum] (http://forums.digi.com/support/forum/viewthread_thread,7969).
aber [ich habe dort gekreuzt] (http://forums.digi.com/support/forum/viewthread_thread,8263_lastpage,yes#24829) trotzdem
Drei antworten:
Demetris
2011-05-10 13:02:07 UTC
view on stackexchange narkive permalink

Sie können [die verworfenen Pakete auf Null reduzieren] [1], indem Sie vor Beginn der Übertragung die richtige Zieladresse zuweisen.

Die verlinkte Seite wurde als Malware-Angriffsseite gemeldet.
Ja, leider ist die ursprüngliche Seite nicht mehr da.
Mark
2010-11-02 22:17:50 UTC
view on stackexchange narkive permalink

Wie sehen die Signalstärke und -geschwindigkeit der drahtlosen Verbindung aus? Überprüfen Sie die XBee-API-Dokumente, auf die Sie zugreifen können sollten. Welche Antennen verwenden Sie?

Die Rohdatenrate von Zigbee beträgt im 2,4-GHz-Band nur 250 kbit / s und ist ein Protokoll mit sehr hohem Overhead. Bei nahezu perfekter Signalstärke und aktivierter Verschlüsselung sollten Sie nur mit einem maximalen Datendurchsatz von ~ 20-25 kbit / s rechnen, ohne den Stack anzupassen, etwas mehr ohne Verschlüsselung. Das Zigbee-Protokoll unterstützt wirklich nur das Senden von Daten, die in ein einzelnes Paket passen, was ungefähr 100 Bytes entspricht. Wenn Sie einen Datenstrom senden, muss die Anwendungsschicht diese Daten in Pakete aufteilen und zusätzliche Informationen in den Datenraum des Pakets aufnehmen, damit sie wieder zusammengesetzt werden können. Dieser Vorgang kann sehr langsam sein und den Datendurchsatz weiter einschränken.

Digis Digimesh-Stack ist etwas schneller, da er den Overhead verringert und größere Pakete zulässt.

Sie sind sich nicht sicher, was Ihr endgültiges Ergebnis ist Die Anwendung ist da, aber Zigbee ist überhaupt nicht für das Streaming von Daten ausgelegt. Es dient zum Senden kleiner Informationen, Sensorwerte, Anweisungen usw., die in ein einzelnes Paket passen. Möglicherweise haben Sie gerade das falsche Protokoll für Ihre Anwendung ausgewählt.

Ich streame Audio. Gibt es ein geeigneteres Protokoll, das dieselbe Hardware verwendet? Welches Protokoll empfehlen Sie? Bluetooth?
Wenn es noch kein digitales Audio ist, verwenden Sie FM. Wenn Sie einen vorgefertigten Transceiver mit der richtigen Bandbreite finden, ist dies ganz einfach.
@Jader: Wie wollten Sie Audio mit 9600 Bit / s streamen? 1,2 Kbit / s sind viel zu langsam. Wenn Sie aus irgendeinem Grund im digitalen Bereich bleiben möchten, verfügt Bluetooth über PCM-Schnittstellen, die für das Audio-Streaming ausgelegt sind.
@Nick Ich werde kein Audio mit diesen Raten streamen, ich habe nur versucht, jeweils ein Problem zu lösen. Mein Anliegen ist es jetzt, den XBee zu optimieren. Ich werde in Bluetooth schauen, danke!
Sie sollten ZigBee niemals, niemals, niemals zum Streamen von Audio oder für alles verwenden, was zeit- oder durchsatzkritisch ist.
Brad Hein
2010-11-02 22:31:08 UTC
view on stackexchange narkive permalink

UPDATE: Angesichts der jüngsten Neubewertung, dass der ZigBee nicht für das Streaming von Daten ausgelegt ist, würde ich vorschlagen, ihn in den Papierkorb zu werfen und einen besseren Transceiver mit mehr Funktionalität, mehr Durchsatz und etwa 1/4 des Preises zu kaufen e

Ich empfehle dringend, wenn möglich die Flusskontrolle zu verwenden, um die verlorenen Pakete zu adressieren. Es besteht die Möglichkeit, dass kleine, aber bedeutende Zeiträume, in denen ein Gerät verarbeitet wird, nicht auf seine UART-Pins schauen und daher Bits / Bytes übersehen und Dinge auflegen können. Durch die Implementierung der Hardware-Flusskontrolle (RTS & CTS-Pins) kann jedes Gerät dem anderen mitteilen, wann es für weitere Daten bereit ist oder nicht.

Sobald Sie die Flusskontrolle angeschlossen haben, erzielen Sie wahrscheinlich den gewünschten höheren Durchsatz =)

Ich arbeite mit Bluetooth-OBD-Geräten, die meine Android-App mit dem Fahrzeug verbinden Netzwerke, also arbeite ich ziemlich viel mit WLAN / Bluetooth.

Meine MCU hat keine eingebaute Flusskontrolle, daher muss ich sie implementieren.
Die Flusskontrolle löst die Probleme mit dem Durchsatz auf ZigBee nicht. Sie wurde nie für das Streaming von Daten entwickelt.
Meine Antwort wurde aktualisiert. Ich benutze das Gerät, mit dem ich verbunden bin, und es ist ein Kinderspiel, damit zu arbeiten.
Ist Ihnen klar, dass Bluetooth und ZigBee sehr unterschiedliche Protokolle sind? Wenn Sie ZigBee benötigen, erledigt Bluetooth den Job nicht. Ein Gerät zum anderen für Bluetooth, perfekt. Für eine Reihe von Sklaven und einen Master, ja. Bei einem Mesh-Netzwerk mit vielen Knoten funktioniert Bluetoth nicht.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...