RSSI til avstand med RF -moduler (Xbees): 4 trinn
RSSI til avstand med RF -moduler (Xbees): 4 trinn
Anonim
RSSI til avstand med RF -moduler (Xbees)
RSSI til avstand med RF -moduler (Xbees)

Xbees er små radiofrekvensmoduler som kan være nyttige for å sende informasjon frem og tilbake, og noen andre mer spesifikke bruksområder. For dette prosjektet bruker jeg dem til å få mottatte RSSI -verdier (Signal Strength Indicator) for å estimere avstanden mellom de to Xbee -modulene. Jeg ønsket å dele arbeidet mitt med dette prosjektet fordi jeg har sett svært få fulle opplæringsprogrammer for å få RSSI med Xbees. Jeg fant ut at en enkel måte å lese RSSI -verdiene til en Xbee og tolke dem er en Arduino. For denne opplæringen trenger du en liten mengde Arduino -kunnskap for å kunne laste opp den gitte koden og redigere den om nødvendig. Den innebygde serielle skjermen på Arduino kan vise RSSI-verdiene, og hvis du vil gå videre, kan du koble til en LED- eller LCD-skjerm for å tolke dem uten datamaskin.

Denne spesifikke opplæringen bruker en "sender" Xbee3 -modul som er programmert i Micropython og en "mottaker" xbee3 som er festet til en Arduino Uno gjennom et Xbee -skjold. Det er også mulig å sende pakker ved å ha begge koblet til sin egen Arduino Uno, som er dekket i andres online opplæring her. Xbee3 -moduler kreves fordi de er de eneste Xbee -modulene som kjører Micropython, og de er en av få Xbees som tilbyr 802.15.4 -protokollen, som inkluderer RSSI -verdier i sendte pakker.

Rekvisita

  • XBee3 (x2)
  • u. FL antenne (x2)
  • Arduino Uno - Xbee -skjoldet er designet for denne modellen
  • Koblingskabel mellom Arduino Uno og datamaskinens USB -port (USB A til USB B)
  • XBee Shield (x1)
  • XBee til USB -adapter (x1)

Merk: Det kan være bra å få to adaptere slik at begge Xbees kan konfigureres samtidig, og det er også bra for feilsøking fordi du også kan sende pakker gjennom XCTU.

Slik gjør du det til et selvstendig system (valgfritt):

  • Bærbar strømpakke som ikke slår seg av når det er lav strømstrøm, eller batteri til usb -kontakt
  • Batteri til arduino -kontakt og 9V batteri

Trinn 1: Maskinvareoppsett

Maskinvareoppsett
Maskinvareoppsett
Maskinvareoppsett
Maskinvareoppsett

Fysisk oppsett er ganske enkelt. Lodd noen kontaktpinner til Xbee -skjoldet (langs bunnen på utsiden, der hullene er) og skyv det på plass på toppen av Arduino. DIRECTION MATTERS - Still hver Xbee opp med den hvite PCB -kurven på toppen av skjoldet ("mottaker") eller adapteren ("senderen"). For å koble til u. FL -antennene foreslår jeg denne guiden av Sparkfun.

Trinn 2: Konfigurasjon

Konfigurasjon
Konfigurasjon
Konfigurasjon
Konfigurasjon
Konfigurasjon
Konfigurasjon

Datamaskinoppsett kan være litt vanskeligere. Last ned først XCTU. Dette programmet brukes til å konfigurere Xbees. Xbee3 -dokumentasjonen er en uvurderlig ressurs for XCTU og konfigurasjon. Gå deretter gjennom følgende trinn med hver Xbee koblet til datamaskinen på adapteren (PWR LED på adapteren skal lyse).

I XCTU klikker du på "Oppdag radiomoduler …" (ikonet er en Xbee med forstørrelsesglass øverst i venstre hjørne) og klikker på neste og deretter fullfører du. Vent deretter til Xbee vises i søket, klikk på den og klikk på "Legg til valgte enheter". Klikk på Xbee som vises på venstre side av skjermen, og vent på at innstillingene skal lastes inn, før du klikker på "Oppdater fastvare". Følg det første bildet ovenfor og sett fastvareversjonen til 802.15.4 og den nyeste versjonen. Konfigurer deretter "overfør" Xbee til å matche "overfør" -innstillingene i det andre bildet, og gjør det samme for "mottak" Xbee. Du må også sette "motta" Xbee i API -modus 2 for å kunne koble til Arduino (dette er veldig enkelt å google hvis du har vanskelig for å finne det).

Trinn 3: Kode

For Arduino må du laste ned den første vedlagte filen på "mottakeren" Xbee. Du må også laste ned Xbee-Arduino-biblioteket, som er her. Arduino er et enkelt og veldokumentert språk, så hvis det er problemer du støter på, er Arduino -nettstedet din venn.

Micropython -koden er den andre vedlagte filen. Følg denne instruksjonen for å laste ned koden til "senderen" Xbee.

Trinn 4: Test det ut

Nå som alle nødvendige stykker er på plass, kan du endelig sende pakker. Sørg for at "senderen" Xbee har koden kjørende, og koble den deretter til en strømkilde (det er også fint å holde den tilkoblet datamaskinen). For "mottakeren" Xbee, hold Arduino koblet til datamaskinen først, og når koden er lastet ned, åpner du den serielle skjermen. Den serielle skjermen skal da vise verdier (fra 20-70 omtrent).

Fra min egen testing har jeg funnet ut at i store åpne områder korrelerer RSSI -verdiene med avstand opp til 15 fot og i mindre mellomrom opp til 5 fot. Dette er på grunn av flerbaner, et vanlig problem når det gjelder radiofrekvenssignaler. Jeg håper denne opplæringen var nyttig og takk for at du leser.

Kilder: Annen RSSI som kan instrueres, RSSI med to arduinos/xbees og Xbee og Arduino dokumentasjon