Ich plane, den Absolutorientierungssensor BNO055 zum Sammeln der Beschleunigungsmesser-, Magnetometer- und Kreiselmessungen für eine Anwendung zu verwenden. Ab sofort möchte ich, dass die Daten mit einer Rate von 10 Hz an eine Datenerfassungseinheit (Pi oder BeagleBone mit drahtloser Technologie) gesendet werden .
Das Setup kann sein:
- 3 solche IoT-Dinge
- 1 zentrale Sammlung Sache
- Sterntopologie mit Sammelstelle in der Mitte
Nach meiner Erfahrung scheint 802.11 WLAN die einzig optimale Option im Gegensatz zu 802.15.4 ZigBee und / oder Bluetooth LE (4.0) zu sein . Der Grund dafür sind die großen Datenmengen, die BNO055 mit einer sehr schnellen Geschwindigkeit (~ 0,1 s ) erzeugen und senden würde . Ich mache nur einen einfachen Prototyp und würde daher lieber einfaches UDP verwenden, um die Daten zu versenden.
Ich konzentriere mich derzeit auf den Entfernungsfaktor, da sich die Platzierung im Rumpf eines Bootes befindet und dies auch impliziert, dass aufgrund metallischer Oberflächen erhebliche Datenverluste auftreten. Ich kann mir jedoch die Freiheit nehmen, die Knoten mit voller Leistung zu betreiben (verbunden mit Netzteilen oder Hoch-Li-ION-Batterien).
Fragen:
Ist WLAN die richtige Wahl für die drahtlose Technologie für die Anwendung? Wenn nicht, welche andere Technologie sollte ich ausprobieren?
Was können die Hindernisse sein, die bei einer IoT-Anwendung mit so geringer Latenz (10 Hz) auftreten können, die ich vermeiden oder zur Kenntnis nehmen kann?
Antworten:
Latenz vs Rate
Dies ist ein konzeptioneller Fehler. Latenz und Rate sind weitgehend unabhängig voneinander. Sie könnten ein System haben, das Tausende von Messwerten pro Sekunde aufzeichnet, sie auf einer SD-Karte speichert und einmal im Monat jemanden die Remote-Site besucht, die Karte extrahiert und an Sie sendet - dieses System hätte eine hohe Rate, aber auch extrem Latenz . Oder Sie könnten ein System haben, das Messwerte innerhalb weniger Mikrosekunden nach ihrer Erfassung meldet, aber nur einen Messwert pro Stunde.
Das erste, was Sie tun müssen, ist, Ihre Anforderungen zu klären - müssen Sie viele Daten aufnehmen oder müssen Sie sie abrufen, solange sie noch sehr aktuell sind, oder beides?
Eine Aktualisierungsrate von 10 Hz ist für die meisten digitalen Übertragungsschemata relativ praktikabel, mit Ausnahme derjenigen, bei denen die Anzahl der Übertragungen pro Zeitraum gesetzlich begrenzt ist, oder derjenigen, die eine so niedrige Datenrate aufweisen (entweder weil sie für die Verbindung schmalbandig sind) Effizienz oder weil sie grob sind), dass sie die Datenmenge, die Sie senden möchten, einfach nicht schnell genug verschieben können.
Latenz vs. Zuverlässigkeit und Komplexität
Da die tatsächliche Ausbreitungszeit in kleinen Gebieten eine exotische Schaltung erfordert, um sie überhaupt zu messen, ist für lokale Funksysteme die Zeit, die zum Verschieben einer Nachricht benötigt wird, im Grunde die Zeitdauer, um sie zu codieren - es sei denn, Systemdesignaspekte fügen mehr hinzu. Ein System, das viel über eine Nachricht "nachdenken" muss, kann zu Verzögerungen führen, wenn auch mit anständiger Software, die wahrscheinlich geringfügig ist. Eine, die eine Anzahl von Hin- und Her-Zyklen der "Diskussion" pro Nachricht erfordert, erhöht notwendigerweise die Zeit um die Anzahl der Zyklen und jede Bearbeitungszeit der Verbindung oder des Protokolls.
Die wahrscheinlichste Ursache für Verzögerungen ist jedoch eine Zuverlässigkeitsschicht. Was sollte das System tun, wenn eine Nachricht fehlt oder beschädigt ankommt? Wenn es erneut versucht wird, bedeutet dies fast immer, dass eine Verzögerung hinzugefügt wird. Wenn die Nachricht nur gelöscht und fortgesetzt wird, kann dies zu Lücken führen.
Für Ihre Art von Anwendung kann ein unzuverlässiges Schema gut funktionieren , aber eines, bei dem jedes Paket nicht nur eine aktuelle Messung enthält, sondern auch Wiederholungen einiger vorheriger (oder für eine Zählanwendung eine laufende Summe). Und dies müssen nicht unbedingt die unmittelbarsten jüngsten Messungen sein - abhängig von den Interferenzmustern könnte das beste Schema leicht so etwas wie aktuell, vorher, nächst vorher, 5. vorher, 13. vorher oder was auch immer sein, so dass das Pakete, die durchkommen, haben in der Regel eine hohe Wahrscheinlichkeit, auch die Daten einzuschließen, die dies nicht getan haben.
Praktische Systeme
Viele handelsübliche 2,4-GHz-Systeme funktionieren in Ihrem Beispiel wahrscheinlich einwandfrei, wenn zwischen den Komponenten angemessene Sichtlinien oder Leckpfade bestehen.
nRF24L01 - digitale 2,4-GHz-Funkgeräte können die Datenrate problemlos verarbeiten und werden problemlos zur Herstellung von Channel-Hopping-Systemen mit relativ geringer Latenz verwendet. Beispielsweise werden diese und ihre Konkurrenten verwendet, um viele kostengünstige Consumer-Drohnen interaktiv zu fliegen.
BTLE verfügt über Modi mit staatlicher Komplexität, die problematisch sein können. Der Werbemodus ist jedoch einfach genug und kann mit den von Ihnen gewünschten Wiederholungsraten ausgeführt werden. Benutzerdefinierte Empfänger, die nach Ihrem Vorschlag um eingebettete Karten herum aufgebaut sind, sollten in der Lage sein, Schritt zu halten und Ihnen die vollständigen Details jedes Pakets zu liefern. Es gibt auch eine gewisse Kreuzkompatibilität mit Smartphones. In diesem Fall gibt Ihnen das Host-Betriebssystem möglicherweise nur eine kleine Minderheit des Datenverkehrs und informiert Sie möglicherweise nicht konsistent, wenn sich der Paketinhalt ändert.
Es gibt natürlich viele andere Möglichkeiten
quelle