- Maskinvarekrav
- Konfigurere XBee-moduler ved hjelp av XCTU
- Programmering og testing av XBee-kommunikasjon ved hjelp av Arduino
I tidligere veiledninger har vi lært om ZigBee-protokollen og dens arkitektur, og også lært om trådløs kommunikasjon mellom to Xbee-moduler. Nå i denne opplæringen vil vi grensesnitt XBee-modul med Arduino Uno-kort. XBee koblet til Arduino-kort vil fungere som mottaker, og den vil kommunisere trådløst med andre XBee-moduler som er serielt koblet til den bærbare datamaskinen ved hjelp av et Explorer Board. Så kan vi utforske videre for Arduino trådløs kommunikasjon ved hjelp av XBee.
Maskinvarekrav
- 1 x Arduino Uno
- 2 x XBee Pro S2C-moduler (hvilken som helst annen modell kan brukes)
- 1 x Xbee explorer board (valgfritt)
- 1 x Xbee Breakout Board (valgfritt)
- USB-kabler
- LED-lys
Konfigurere XBee-moduler ved hjelp av XCTU
Som vi har lært i tidligere veiledninger at XBee-modulen kan fungere som en koordinator, ruter eller en sluttenhet, men den må konfigureres til å fungere i ønsket modus. Så før du bruker XBee-modulene med Arduino, må vi konfigurere disse modulene ved hjelp av XCTU-programvare.
For å koble XBee-modulen til den bærbare datamaskinen, brukes en USB til seriell omformer eller et spesielt designet utforskerkort. Bare koble XBee-modulen til Explorer-kortet og koble den til den bærbare datamaskinen ved hjelp av USB-kabel.
Hvis du ikke har noen omformer eller utforskerkort, kan et Arduino-kort brukes som USB til seriell enhet som enkelt kan kommunisere med XBee og bærbar PC. Bare last opp tom skisse i Arduino-tavle, og nå kan den oppføre seg som en USB til seriell omformer.
Tilkoblinger for å koble ZigBee-modulen til Arduino er vist i kretsskjemaet.
Tilkoblinger:
- Tx (pin2) av XBee -> Tx av Arduino-kort
- Rx (pin3) av Xbee -> Rx av Arduino-bord
- GND (pin10) av Xbee -> GND av Arduino Board
- Vcc (Pin1) av Xbee -> 3.3v av Arduino-kort
Her i denne opplæringen brukes et Explorer-kort for å konfigurere XBee-modulene.
Last ned XCTU-programvaren fra denne lenken og installer den. Etter at du har lastet ned og installert XCTU-programvaren, åpner du den og kontrollerer at XBee-modulen er riktig tilkoblet. Sjekk COM-porten til Arduino-kortet i enhetsbehandling.
Trinn 1: - Klikk nå på søkeknappen. Dette viser deg alle RF-enhetene som er koblet til den bærbare datamaskinen. I vårt tilfelle vil den bare vise en XBee-modul.
Trinn 2: - Velg serieporten på Explorer-kortet / Arduino-kortet og klikk på Neste.
Trinn 3: - I neste vindu angir du USB-portparametrene som vist nedenfor og klikker på Fullfør.
Trinn 4: - Velg enheten du har funnet, og klikk på Legg til valgt enhet . Denne prosessen vil legge til XBee-modulen din på XCTU-dashbordet.
Trinn 5: - Nå kan du konfigurere XBee-modulen i dette vinduet. Bruk enten AT-kommandoer eller legg dataene manuelt. Som du kan se, er det R som vises på venstre panel, noe som betyr at Xbee er i rutermodus. Vi må gjøre det til koordinator for senderdelen.
Først oppdaterer du fastvaren ved å klikke på Oppdater fastvare.
Trinn 6: - Velg produktfamilien til enheten din som er tilgjengelig på baksiden av XBee-modulen. Velg funksjonssett og firmwareversjon som uthevet nedenfor, og klikk på Oppdater.
Trinn 7: - Nå må du oppgi ID-, MY- og DL-data for å få forbindelse med andre XBee. ID forblir den samme for begge modulene. Bare MY- og DL-datautveksling dvs. MY for mottakeren XBee blir DL for senderen XBee (koordinator) og DL for mottakeren XBee blir MY for senderen XBee. Lag CE som koordinator, og trykk deretter på Skriv- knappen. Som vist under.
ATDL |
PÅ MIN |
||
XBee 1-koordinator |
|||
XBee 2-enhet |
Trinn 8: - Etter å ha skrevet ovennevnte data til senderdelen, kobler du den fra utforskerkortet og kobler den til den andre XBee-modulen. Gjenta den samme prosessen som ovenfor, bare endringene er DL, MY og CE. Da vi vil lage den andre XBee som slutt-enhet, i CE-rullegardinmenyen, velg slutt-enheten og trykk på Skriv-knappen.
Trinn 9: - Nå er XBee-modulene våre klare til å grensesnitt med Arduino-kortet. Vi kobler senderen XBee til den bærbare datamaskinen og mottakeren XBee med Arduino-kortet. Gi deretter kommandoer til mottakerdelen ved hjelp av bærbar datamaskin.
Kretsdiagram for mottakerdel:
Tilkoblinger:
- Tx (pin2) av XBee -> Rx av Arduino-kortet
- Rx (pin3) av Xbee -> Tx av Arduino-bord
- GND (pin10) av Xbee -> GND av Arduino Board
- Vcc (Pin1) av Xbee -> 3.3v av Arduino-kort
Hvis du bruker Arduino-kortet til å koble senderen ZigBee til den bærbare datamaskinen, vil tilkoblingene være de samme som for programmering av ZigBee.
Programmering og testing av XBee-kommunikasjon ved hjelp av Arduino
Nå skal vi skrive en kode for mottakeren Arduino for å slå PÅ LED-en når mottakerdelen mottar 'a', og blinke LED-en når den mottar 'b', for andre tegn vil LED forbli AV.
Koden er enkel og lett forståelig. Vi vil bare sjekke innkommende tegn ved hjelp av Serial.available () -funksjonen og lagre dette tegnet i en variabel ved hjelp av Serial.read (); funksjon og matche den med 'a' og 'b'. Hvis samsvar er riktig, så utfør oppgaven som er spesifisert i tilstanden. Komplett kode for mottakerdel er gitt til slutt. Last opp koden i mottakerdelen Arduino. Fjern Tx- og Rx-ledningene til XBee før du laster den opp.
Nå er vi klar for å teste senderen og mottakeren. For å gi kommandoen til senderdelen, vil vi bruke XCTUs konsollterminal. Klikk på konsollikonet nær innstillingsalternativet. Klikk deretter på Åpne-knappen for å koble XBee til den bærbare datamaskinen.
Skriv inn 'a' i konsolloggen. Du vil se at LED-lampen vil slås PÅ i 2 sekunder, og deretter skriver du inn 'b' for å få ledet til å blinke i 5 ganger.
Du kan også koble senderen XBee til Arduino-kortet, bare endre mottakerkoden litt. I stedet for Serial.read () -funksjonen, bruk Serial.println () -funksjonen for å sende tegnene.
Sjekk demonstrasjonsvideoen gitt nedenfor.
Dette XBee-Arduino-oppsettet kan brukes til å lage mange nyttige trådløse applikasjoner som hjemmeautomatiseringssystem, chatterom etc.