Ich denke an ein System, bei dem etwa 10 Peripheriegeräte alle 50 Millisekunden 30-50 B Daten empfangen müssen (jedes Peripheriegerät erhält eindeutige Daten). Der erforderliche Gesamtdurchsatz ist möglicherweise nicht sehr groß (6-10 kB/s), aber das Problem liegt in der Anzahl der Geräte, die die Daten empfangen müssen.
Ich habe mich mit der Verwendung von BLE befasst, aber obwohl der Gesamtdurchsatz deutlich innerhalb der maximal möglichen ~ 35 kB / s liegt, ist das, was ich möchte, aufgrund der festen Grenze von 20 ms Verbindungsintervallen nicht möglich. Eine andere Lösung, die ich in Betracht gezogen habe, ist die Verwendung eines einfachen HF-Senders und HF-Empfängers, die alle gleichzeitig darauf hören. Ich müsste mich manuell um die Fehlerkorrektur usw. kümmern, aber ich müsste mich nicht um das Umschalten zwischen den Empfängern kümmern, was wertvolle Zeit kostet. Ein Problem dabei wäre auch die Unfähigkeit, zwei solcher Systeme nebeneinander einzusetzen, ohne das Risiko einzugehen, dass die Sender übereinander sprechen.
Welche anderen Lösungen stehen mir also zur Verfügung?
Ich vermute, dass die Verwendung von nRF24L01 + -Transceivern dies für Sie lösen würde. Theoretisch gut für 1 oder 2 Mbit/s, weniger Bestätigungen und etwas Paket-Overhead, und Sie sollten immer noch in der Lage sein, über 100 Kbit/s an Benutzerdaten ohne großen Aufwand aufrechtzuerhalten.
Sie können sich das Protokoll IEEE 802.15.4 ansehen . Es gibt viele Transceiver da draußen. Auf diese Weise könnten Sie alle Gerätedaten für alle Peripheriegeräte alle 50 ms in einem Paket übertragen (die Sendezeit für ein solches Paket beträgt <1 ms). Angenommen, Sie benötigen kein Mesh-Netzwerk, könnte dies für Sie gut funktionieren und die Latenz minimieren.
IEEE 802.15.4-Funkgeräte verwenden CDMA, sodass sie beim Senden im selben HF-Raum nicht aufeinander stampfen.
Ohne ein Mesh-Netzwerk würden Sie eine Sternkonfiguration mit dem „Master“ in der Mitte des Hubs betreiben und Ihre Peripheriegeräte als Punkte auf Ihrem Stern fungieren.
Viel Glück - klingt nach einem lustigen Projekt.
Holen Sie sich einen einfachen 433-MHz-Sender und ein paar Empfänger, senden Sie eine Datenpräambel, dann eine Adresse, dann die Daten und dann ein paar Byte CRC. Wenn Sie Daten an bestimmte Empfänger senden müssen, betten Sie Adresse und Daten in einen langen Stream ein, der mit CRCs durchsetzt ist, damit der richtige Empfänger weiß, wonach er sucht. Mit anderen Worten, entwickeln Sie ein einfaches Protokoll und kaufen Sie einige billige TX und RX und Sie sollten im Geschäft sein. 433 MHz sind in Ihrem Land möglicherweise nicht erlaubt, aber es wird eine Frequenz geben, die es ist.
Andi aka
Gorloth
Sanuuu
JimmyB