Welche HF-Kommunikationslösung ermöglicht eine unidirektionale Kurzstreckenkommunikation mit niedriger Datenrate und geringer Latenz für die größte Anzahl von Empfängern?

Ich bin daran interessiert, etwa alle 50 ms mit einem einzigen Sender 3 Bytes an eine Reihe von Empfängern zu liefern. Die gesendeten Daten sind für jeden Empfänger eindeutig. Ich bin gespannt, welche bestehende drahtlose Kommunikationslösung es mir ermöglichen würde, die größte Anzahl von Empfängern zu erreichen, mit denen ich auf diese Weise umgehen könnte.

Ich habe über BLE nachgedacht (was ziemlich gut wäre, weil die Empfänger idealerweise auch Energie enthalten) und damit scheint der begrenzende Faktor das Verbindungsintervall zu sein. Der niedrigste CI in BLE beträgt 7,5 ms, was die theoretische Anzahl der Geräte, an die ich eindeutige Daten in 50 ms senden kann, auf 6 begrenzt. Ich denke, dass es da draußen eine Lösung geben muss, die das Wechseln von Empfängern nicht so stark benachteiligt wie BLE. Oder sollte ich mich mit einem benutzerdefinierten Protokoll befassen?

Ich bin mir nicht sicher, ob es hier eine allgemeine Antwort gibt. Das könnte wirklich sehr konkret werden. Es gibt viele Lösungen, abhängig von Reichweite, gewünschter Latenz, Lizenzierung, Sendeleistung usw. Eine triviale Lösung wäre beispielsweise, jedes Gerät auf eine andere Frequenz zu stellen und einen Breitbandsender an jedes senden zu lassen sie auf einmal. Ich weiß nicht, ob das Ihren Anforderungen entspricht, denn es gibt mindestens ein Dutzend Faktoren, die für die Kommunikation von Bedeutung sind und hier nicht erwähnt werden. Wird beispielsweise „geringe Latenz“ in der Größenordnung von Millisekunden, Mikrosekunden oder Nanosekunden gemessen?
Ich habe im Hauptteil der Frage etwas mehr Details angegeben. Da ich möchte, dass die Daten dort "ungefähr alle 50 ms" geliefert werden, sollte die Latenz so niedrig sein, dass sich die nachfolgenden Datenstapel nicht häufen / überlappen (dh <50 ms). Ich halte die meisten anderen Dinge flexibel, weil ich immer noch nur meine Optionen auslote.
Geht das mit den Nordic Semi devies? Ich stimme FakeMoustache zu, dass Sie besser im Broadcast-Modus arbeiten und die Geräte ihre spezifischen Daten irgendwie aus "Slots" ziehen lassen sollten.
Wenn Sie bei so etwas wie der NRF24-Serie das Funkgerät selbst so konfigurieren können, dass es nach einer Adresse lauscht, ist es möglicherweise möglich, die MCU im Ruhezustand zu halten, es sei denn, die an sie gerichteten Daten werden empfangen. Und ja, für 1/20 Sekunde schlafen zu gehen kann sich durchaus lohnen.

Antworten (1)

BLE oder Zigbee sind dafür übertrieben.

Sie machen das viel zu komplex, Sie müssen sich nicht mit jedem Empfänger einzeln verbinden, deshalb funktioniert BLE nicht, es ist nicht für so kurze Verbindungen gedacht.

Es wäre viel besser, alle Empfänger alle Daten empfangen zu lassen , aber in die Daten eine Adresse aufzunehmen , die angibt, für welchen Empfänger die Nachricht bestimmt ist. Alle anderen Empfänger würden die Nachricht einfach verwerfen.

Vielleicht können Sie dies mit einfachen 433-MHz- (oder 868-MHz-) Transceivern zum Laufen bringen. Diese sind billig und einfach. Diese verwenden die OOK-Modulation, Sie müssen die Bitratenberechnungen selbst durchführen, um zu sehen, ob dies für Ihre Anwendung funktioniert. Die "Intelligenz" muss sich in jedem Empfänger in einem Mikrocontroller befinden, da dieser MicroC die Adresse erkennt. Es gibt eine Arduino-Bibliothek für solche drahtlosen HF-Setups. Schauen Sie sich diese an, um zu sehen, was Sie damit machen können.

Und außerdem: Sie brauchen keine Zwei-Wege-Kommunikation, Sie brauchen nur eine Ein-Wege-Kommunikation. Ein weiterer Grund, BLE nicht zu verwenden, da es für Zweiwege ausgelegt ist. Das würde sowohl Sender als auch Empfänger verkomplizieren, da sie alle Transceiver sein müssen (um bidirektional kommunizieren zu können).