Inhoudsopgave:

RSSI naar afstand met RF-modules (Xbees): 4 stappen
RSSI naar afstand met RF-modules (Xbees): 4 stappen

Video: RSSI naar afstand met RF-modules (Xbees): 4 stappen

Video: RSSI naar afstand met RF-modules (Xbees): 4 stappen
Video: Distance Measurement using Radio Frequency Signal (ZigBee) 2024, November
Anonim
RSSI naar afstand met RF-modules (Xbees)
RSSI naar afstand met RF-modules (Xbees)

Xbees zijn kleine radiofrequentiemodules die handig kunnen zijn voor het heen en weer sturen van informatie en voor andere specifiekere toepassingen. Voor dit project gebruik ik ze om ontvangen signaalsterkte-indicatoren (RSSI) te krijgen om de afstand tussen de twee Xbee-modules te schatten. Ik wilde mijn werk aan dit project delen omdat ik maar heel weinig volledige tutorials heb gezien over het verkrijgen van RSSI met Xbees. Ik ontdekte dat een eenvoudige manier om de RSSI-waarden van een Xbee te lezen en te interpreteren een Arduino is. Voor deze tutorial heb je een kleine hoeveelheid Arduino-kennis nodig om de gegeven code te kunnen uploaden en indien nodig te kunnen bewerken. De ingebouwde seriële monitor op de Arduino kan de RSSI-waarden weergeven en als u verder wilt gaan, kunt u een LED- of LCD-scherm aansluiten om ze zonder computer te interpreteren.

Deze specifieke tutorial gebruikt één "zender" Xbee3-module die is geprogrammeerd in Micropython en één "ontvanger" xbee3 die via een Xbee-schild aan een Arduino Uno is bevestigd. Het is ook mogelijk om pakketten te verzenden door ze allebei te verbinden met hun eigen Arduino Uno, wat hier wordt behandeld in de online tutorial van iemand anders. Xbee3-modules zijn vereist omdat dit de enige Xbee-modules zijn die Micropython gebruiken, en ze zijn een van de weinige Xbees die het 802.15.4-protocol aanbieden, dat RSSI-waarden in verzonden pakketten bevat.

Benodigdheden

  • XBee3 (x2)
  • u. FL-antenne (x2)
  • Arduino Uno - het Xbee-schild is ontworpen voor dit model
  • Aansluitsnoer tussen de Arduino Uno en een computer USB-poort (USB A naar USB B)
  • XBee-schild (x1)
  • XBee naar USB-adapter (x1)

Opmerking: het kan goed zijn om twee adapters te krijgen zodat beide Xbees tegelijkertijd kunnen worden geconfigureerd, en het is ook goed voor debuggen omdat je ook pakketten via XCTU kunt verzenden.

Om er een autonoom systeem van te maken (optioneel):

  • Draagbare powerpack die niet uitschakelt bij een laag stroomverbruik, of batterij-naar-USB-connector
  • Batterij naar arduino-connector en 9V-batterij

Stap 1: Hardware-installatie

Apparatuur installatie
Apparatuur installatie
Apparatuur installatie
Apparatuur installatie

De fysieke installatie is vrij eenvoudig. Soldeer enkele connectorpinnen aan het Xbee-schild (langs de onderkant aan de buitenkant, waar de gaten zijn) en duw het vervolgens op zijn plaats bovenop de Arduino. RICHTING IS BELANGRIJK - Lijn elke Xbee uit met het witte PCB-spoor bovenop het schild ("ontvanger") of de adapter ("zender"). Om de u. FL-antennes aan te sluiten, raad ik deze handleiding van Sparkfun aan.

Stap 2: Configuratie

Configuratie
Configuratie
Configuratie
Configuratie
Configuratie
Configuratie

Het instellen van de computer kan wat lastiger zijn. Download eerst XCTU. Dit programma wordt gebruikt om de Xbees te configureren. De Xbee3-documentatie is een onschatbare bron voor XCTU en configuratie. Doorloop vervolgens de volgende stappen met elke Xbee aangesloten op de computer op de adapter (PWR-LED op adapter moet oplichten).

Klik in XCTU op "Ontdek radiomodules…" (pictogram is een Xbee met een vergrootglas in de linkerbovenhoek) en klik op volgende en dan op voltooien. Wacht vervolgens tot de Xbee in de zoekopdracht verschijnt, klik erop en klik op "Geselecteerde apparaten toevoegen". Klik op de Xbee die aan de linkerkant van het scherm verschijnt en wacht tot de instellingen zijn geladen voordat u op "Firmware bijwerken" klikt. Volg de eerste afbeelding hierboven en stel de firmwareversie in op 802.15.4 en de nieuwste versie. Configureer vervolgens de "verzenden" Xbee om overeen te komen met de "verzenden" instellingen in de tweede afbeelding, en doe hetzelfde voor de "ontvangen" Xbee. Je zult ook de "receive" Xbee in API-modus 2 moeten zetten om met de Arduino te kunnen communiceren (dit is heel gemakkelijk te googlen als je het moeilijk vindt).

Stap 3: Coderen

Voor de Arduino moet u het eerste bijgevoegde bestand downloaden op de "ontvanger" Xbee. Je moet ook de Xbee-Arduino-bibliotheek downloaden, die hier te vinden is. Arduino is een eenvoudige en goed gedocumenteerde taal, dus als er problemen zijn, is de Arduino-website je vriend.

De Micropython-code is het tweede bijgevoegde bestand. Volg deze Instructable om de code te downloaden op de "zender" Xbee.

Stap 4: Test het uit

Nu alle benodigde onderdelen op hun plaats zitten, kun je eindelijk pakketjes versturen. Zorg ervoor dat de "zender" Xbee de code heeft en sluit hem vervolgens aan op een stroombron (aangesloten houden op de computer werkt ook prima). Voor de "ontvanger" Xbee houdt u de Arduino eerst op de computer aangesloten en zodra de code is gedownload, opent u de seriële monitor. De seriële monitor zou dan waarden moeten weergeven (ongeveer van 20-70).

Uit mijn eigen testen heb ik ontdekt dat in grote open ruimtes de RSSI-waarden correleren met afstanden tot 15 ft en in kleinere ruimtes tot 5 ft. Dit komt door multipathing, een veelvoorkomend probleem als het gaat om radiofrequentiesignalen. Ik hoop dat deze tutorial nuttig was en bedankt voor het lezen.

Bronnen: andere RSSI-instructie, RSSI met twee arduino's/xbees en Xbee- en Arduino-documentatie

Aanbevolen: