Inhaltsverzeichnis:

RSSI zu Distanz mit HF-Modulen (Xbees) - Gunook
RSSI zu Distanz mit HF-Modulen (Xbees) - Gunook

Video: RSSI zu Distanz mit HF-Modulen (Xbees) - Gunook

Video: RSSI zu Distanz mit HF-Modulen (Xbees) - Gunook
Video: Getting RSSI values from Xbees 2024, Juli
Anonim
RSSI zu Distanz mit HF-Modulen (Xbees)
RSSI zu Distanz mit HF-Modulen (Xbees)

Xbees sind kleine Hochfrequenzmodule, die zum Senden von Informationen und für einige andere spezifischere Anwendungen nützlich sein können. Für dieses Projekt verwende ich sie, um die Werte des Received Signal Strength Indicator (RSSI) zu erhalten, um die Entfernung zwischen den beiden Xbee-Modulen zu schätzen. Ich wollte meine Arbeit an diesem Projekt teilen, weil ich nur sehr wenige vollständige Tutorials zum Abrufen von RSSI mit Xbees gesehen habe. Ich fand, dass eine einfache Möglichkeit, die RSSI-Werte eines Xbee zu lesen und zu interpretieren, ein Arduino ist. Für dieses Tutorial benötigen Sie ein wenig Arduino-Kenntnisse, um den angegebenen Code hochladen und ggf. bearbeiten zu können. Der eingebaute serielle Monitor des Arduino kann die RSSI-Werte anzeigen, und wenn Sie weiter gehen möchten, können Sie einen LED- oder LCD-Bildschirm anschließen, um sie ohne Computer zu interpretieren.

Dieses spezielle Tutorial verwendet ein "Sender" Xbee3-Modul, das in Micropython programmiert ist, und ein "Empfänger" xbee3, das über ein Xbee-Schild an einem Arduino Uno angeschlossen ist. Es ist auch möglich, Pakete zu senden, indem beide mit ihrem eigenen Arduino Uno verbunden sind, was in einem anderen Online-Tutorial hier behandelt wird. Xbee3-Module sind erforderlich, da sie die einzigen Xbee-Module sind, die Micropython ausführen, und sie sind eine der wenigen Xbees, die das 802.15.4-Protokoll anbieten, das RSSI-Werte in gesendeten Paketen enthält.

Lieferungen

  • XBee3 (x2)
  • u. FL-Antenne (x2)
  • Arduino Uno - das Xbee-Schild ist für dieses Modell konzipiert
  • Verbindungskabel zwischen Arduino Uno und einem Computer-USB-Anschluss (USB A auf USB B)
  • XBienen-Schild (x1)
  • XBee-zu-USB-Adapter (x1)

Hinweis: Es kann gut sein, zwei Adapter zu besorgen, damit beide Xbees gleichzeitig konfiguriert werden können, und es ist auch gut zum Debuggen, da Sie auch Pakete über XCTU senden können.

Um daraus ein in sich geschlossenes System zu machen (optional):

  • Tragbares Netzteil, das sich bei geringer Stromaufnahme nicht abschaltet, oder Akku an USB-Anschluss
  • Batterie an Arduino-Anschluss und 9V-Batterie

Schritt 1: Hardware-Setup

Hardware-Setup
Hardware-Setup
Hardware-Setup
Hardware-Setup

Die physische Einrichtung ist ziemlich einfach. Löten Sie einige Steckerstifte an das Xbee-Shield (entlang der Unterseite an der Außenseite, wo die Löcher sind) und schieben Sie es dann auf den Arduino. RICHTUNGSANGELEGENHEITEN - Richten Sie jeden Xbee mit der weißen Leiterplattenspur oben auf der Abschirmung ("Empfänger") oder dem Adapter ("Sender") aus. Um die u. FL-Antennen anzuschließen, empfehle ich diese Anleitung von Sparkfun.

Schritt 2: Konfiguration

Aufbau
Aufbau
Aufbau
Aufbau
Aufbau
Aufbau

Die Einrichtung des Computers kann etwas komplizierter sein. Laden Sie zuerst XCTU herunter. Dieses Programm wird verwendet, um die Xbees zu konfigurieren. Die Xbee3-Dokumentation ist eine unschätzbare Ressource für XCTU und Konfiguration. Führen Sie dann die folgenden Schritte mit jedem Xbee durch, der an den Computer des Adapters angeschlossen ist (die PWR-LED am Adapter sollte aufleuchten).

Klicken Sie in XCTU auf „Funkmodule entdecken…“(Symbol ist ein Xbee mit einer Lupe in der oberen linken Ecke) und klicken Sie auf Weiter und dann auf Fertig stellen. Warten Sie dann, bis der Xbee in der Suche erscheint, klicken Sie darauf und klicken Sie auf "Ausgewählte Geräte hinzufügen". Klicken Sie auf das Xbee, das auf der linken Seite des Bildschirms angezeigt wird, und warten Sie, bis die Einstellungen geladen sind, bevor Sie auf "Firmware aktualisieren" klicken. Folgen Sie dem ersten Bild oben und stellen Sie die Firmware-Version auf 802.15.4 und die neueste Version ein. Konfigurieren Sie dann den "Senden"-Xbee so, dass er den "Senden"-Einstellungen im zweiten Bild entspricht, und machen Sie dasselbe für den "Empfangen"-Xbee. Sie müssen auch den "Receive" Xbee in den API-Modus 2 versetzen, um eine Schnittstelle mit dem Arduino herzustellen (dies ist sehr einfach zu googeln, wenn Sie es schwer haben, es zu finden).

Schritt 3: Code

Für den Arduino müssen Sie die erste angehängte Datei auf dem "Empfänger" Xbee herunterladen. Sie müssen auch die Xbee-Arduino-Bibliothek herunterladen, die sich hier befindet. Arduino ist eine einfache und gut dokumentierte Sprache. Wenn Sie also auf Probleme stoßen, ist die Arduino-Website Ihr Freund.

Der Micropython-Code ist die zweite angehängte Datei. Folgen Sie dieser Anleitung, um den Code auf den "Sender" Xbee herunterzuladen.

Schritt 4: Testen Sie es

Jetzt, wo alle notwendigen Teile vorhanden sind, können Sie endlich Pakete senden. Stellen Sie sicher, dass auf dem "Sender" Xbee der Code ausgeführt wird, und schließen Sie ihn dann an eine Stromquelle an (das Anschließen an den Computer funktioniert auch einwandfrei). Lassen Sie für den "Empfänger" Xbee das Arduino zuerst an den Computer angeschlossen und öffnen Sie nach dem Herunterladen des Codes den seriellen Monitor. Der serielle Monitor sollte dann Werte anzeigen (ca. 20-70).

Bei meinen eigenen Tests habe ich festgestellt, dass die RSSI-Werte in weiten, offenen Räumen mit einer Entfernung von bis zu 4,5 m und in kleineren Räumen bis zu 1,5 m korrelieren. Dies ist auf Multipathing zurückzuführen, ein häufiges Problem bei Hochfrequenzsignalen. Ich hoffe, dieses Tutorial war hilfreich und danke fürs Lesen.

Quellen: Andere RSSI anweisbar, RSSI mit zwei Arduinos / Xbees und Xbee- und Arduino-Dokumentation

Empfohlen: