Beste Wahl für drahtlose Kommunikation mit geringem Stromverbrauch und kurzer Reichweite


9

Ich arbeite an einem Projekt, das auf drahtloser Kommunikation beruht, und suche nach der besten Alternative. Dies sind die Designanforderungen:

  • Ist einfach mit Arduino zu verbinden
  • Funktioniert über eine kleine Reichweite (höchstens 5-6 Meter)
  • Verbraucht wenig Strom - am wenigsten möglich
  • Geräte dürfen sich nicht gegenseitig stören
  • Muss nicht in Echtzeit sein, die Verzögerung kann in der Größenordnung von Hunderten von Millisekunden liegen
  • Im Allgemeinen sind die Geräte nicht in Sichtweite zueinander (was bedeutet, dass IR und ähnliche Lösungen nicht funktionieren).

Das Szenario ist:

Ungefähr 10 Geräte im selben Raum kommunizieren miteinander und senden ab und zu einige Stunden lang (höchstens 30 Zeichen) kurze Nachrichten (ohne Batteriewechsel).

Das Beste, was ich finden konnte, ist Bluetooth (speziell BLE), hauptsächlich, weil es einige vorgefertigte Arduino + Bluetooth- Module und das vielversprechende "Low Energy" -Label gibt (höchstens die Hälfte des Energieverbrauchs von normalem Bluetooth), aber ich würde Ich liebe es, eine Meinung von Leuten mit mehr Erfahrung auf diesem Gebiet zu bekommen.


2
Ich stimme für Bluetooth.
Nidhin

Geben Sie uns einige Informationen darüber, was Sie nicht verwenden möchten, und Ihre Gründe.
Jason_L_Bens

Höchstens 5 bis 6 Meter - Bluetooth kann weiter funktionieren - ist 6 m das absolute darf nicht über das Limit hinausgehen? Sehr wenig Macht - wie wäre es, wenn Sie hier einige Zahlen nennen und beschämen. Darf sich nicht gegenseitig stören - was bedeutet das genau?
Andy aka

@Andyaka: Nein, ich meine, dass die Geräte höchstens 6 Meter voneinander entfernt sind, daher müssen keine größeren Entfernungen unterstützt werden. Was "sehr wenig Strom" betrifft, plane ich, jedes Gerät (Arduino + LCD + Funkmodul) mit höchstens einer oder zwei AA-Batterien zu betreiben. Diese Geräte sollten mindestens eine Stunde lang kommunizieren können, ohne die Batterien zu wechseln.
Giulio Muscarello

1
Klingt für mich wie ein Bluetooth-Piconetz.
Ignacio Vazquez-Abrams

Antworten:


3

Schauen Sie sich die XBee- Linie der Tranceiver an. Je nach Übertragungsbereich und gewünschter Nennleistung gibt es verschiedene Typen.

Diese Geräte lassen sich auch fast trivial mit Arduino-Projekten verbinden. Die SerialBibliothek verwendet die UART-Hardware des AVR, die direkt mit dem Rx-Pin des XBee kompatibel ist. Beachten Sie auch, dass keine Pegelumsetzer benötigt werden, da der XBee Rx / Tx-Pin mit 5 V arbeitet!

Beachten Sie jedoch, dass der XBee mit 3,3 V betrieben werden muss, damit ein einfacher 3,3 V-LDO-Spannungsregler verwendet werden kann.


2

"Best" ist schwer zu definieren, aber ich würde mir einen IEEE 802.15.4-Transceiver ansehen.

Ich habe einen MRF24J40MA für ein Projekt verwendet ( https://github.com/briksoftware/gradusnik ). Sie können versuchen, festzustellen, ob dort Code vorhanden ist. Das Projekt ist für PIC, aber viele Dinge sind tatsächlich plattformunabhängig (insbesondere die anderen Projekte, von denen es abhängt).

Das Modul verbraucht ungefähr 20 mA in RX / TX, was nicht viel ist. Um jedoch eine lange Akkulaufzeit zu erzielen, müssen Sie das Modul die meiste Zeit in den Energiesparmodus versetzen. Sie können hierfür ein Beacon-fähiges Netzwerk verwenden, wobei ein Gerät als Koordinator fungiert. Das Modul verbraucht im Schlafmodus einige µA (genaue Zahlen finden Sie im Datenblatt).

Das einzige Problem bei der Verbindung mit einem Arduino besteht darin, dass Sie einen 5-> 3,3-Level-Shifter benötigen (wenn Arduino noch 5 V verwendet).

Ein weiterer beliebter Transceiver für das IEEE 802.15.4-Protokoll ist das XBee-Modul, das jedoch viel teurer ist.


2

Ich sehe es nicht als drahtloses Problem, sondern eher als Protokollproblem.

Wenn Batterieeinsparung der Name des Spiels ist und wenn ein Gerät durch entsprechende Programmierung die Rolle eines temporären "Masters" übernehmen kann, kann jedem anderen Gerät ein Zeitschlitz zugewiesen werden. Sobald die Zuordnung abgeschlossen ist, kann der temporäre Master wieder Peer werden. Wichtig ist jedoch, dass ein Zeitfenster erstellt wurde und alle Peers sich in dieses Framework eingekauft haben.

Was macht das? Wenn Sie ein Zeitfenster haben, können Sie das Radio für Hunderte von Millisekunden ausschalten und aufwachen, um festzustellen, ob eine Übertragung läuft, die empfangen werden soll. Wenn ein Peer aufwacht, muss er warten, um zu sehen, ob einer der anderen 8 Peers eine Nachricht an ihn sendet. Das Timing ist entscheidend, aber wenn Sie eine lange Akkulaufzeit wünschen, konzentrieren Sie sich auf das Protokoll. Diese Antwort ist nur ein Hauch einer Idee. Der Weckzeitschlitz wird in 8 andere Schlitze unterteilt, denen jeder der anderen 8 Peers zum Senden zugewiesen ist. Wenn einer sendet, können die anderen zuerst zuhören, um zu prüfen, ob sie senden können. Etwas wie das: -

Geben Sie hier die Bildbeschreibung ein

Der "nächste" Slot ermöglicht neuen Peers, der Gruppe beizutreten.

Transceiver mit geringem Stromverbrauch sind an der Tagesordnung, daher werde ich mich nicht damit befassen.


2

Probieren Sie die billigen 433 MHz TXRX-Module. Sie sind praktisch und können leicht mit Arduino verbunden werden. Ich benutze sie für meine persönlichen Hobby-Robotik-Projekte.


2

Nur neugierig, warum das drahtlose 2,4-GHz-Transceiver-Modul NRF24L01 nicht erwähnt wurde? Es handelt sich um ein Gerät mit geringem Stromverbrauch, das für einen noch geringeren Stromverbrauch in den Standby-Modus geschaltet werden kann. Es arbeitet mit 3,3 V, kann also entweder ein Arduino mit geringer Leistung oder einen Splitter verwenden, und das Beste ist, dass es ziemlich billig ist?

Hier finden Sie die Produktseite nRF24L01 + sowie eine Anleitung zu nRF24L01 , die Informationen zur Anbindung an ein Arduino sowie einen Beispielcode enthält.


0

Das RFM12B fällt mir ein ..

http://www.hoperf.com/rf/fsk_module/RFM12B.htm

Einige Eigenschaften:

  • SPI-kompatible Schnittstelle
  • Hohe Datenrate (bis zu 115,2 kbps im digitalen Modus)
  • 2,2V-3,8V Stromversorgung
  • Automatische Antennenabstimmung
  • 16-Bit-RX-Daten-FIFO
  • Programmierbare TX-Frequenzabweichung (von 15 bis 240 kHz)
  • Programmierbare Empfängerbandbreite (von 67 bis 400 kHz)
  • Analoge und digitale Signalstärkeanzeige
  • Takt- und Rücksetzsignalausgang für externe MCU

Die SPI-Kommunikationsschnittstelle sollte fair mit Arduino eingerichtet sein.

Das Modell RFM12B-S2 kostet heutzutage weniger als 7 US-Dollar.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.