- Hardwarekrav
- Konfiguration af XBee-moduler ved hjælp af XCTU
- Programmering og test af XBee-kommunikation ved hjælp af Arduino
I tidligere tutorials har vi lært om ZigBee-protokollen og dens arkitektur og også lært om trådløs kommunikation mellem to Xbee-moduler. Nu i denne vejledning vil vi interface XBee-modul med Arduino Uno-kort. XBee forbundet med Arduino-kort fungerer som en modtager, og den kommunikerer trådløst med andet XBee-modul, der er serielt forbundet med den bærbare computer ved hjælp af et Explorer Board. Så lad os udforske videre for Arduino trådløs kommunikation ved hjælp af XBee.
Hardwarekrav
- 1 x Arduino Uno
- 2 x XBee Pro S2C-moduler (enhver anden model kan bruges)
- 1 x Xbee explorer board (valgfrit)
- 1 x Xbee Breakout board (valgfrit)
- USB-kabler
- LED'er
Konfiguration af XBee-moduler ved hjælp af XCTU
Som vi har lært i tidligere tutorials, at XBee-modulet kan fungere som en koordinator, router eller en slutenhed, men det skal konfigureres til at fungere i den ønskede tilstand. Så før vi bruger XBee-modulerne med Arduino, skal vi konfigurere disse moduler ved hjælp af XCTU-software.
For at forbinde XBee-modulet med den bærbare computer bruges en USB til seriel konverter eller et specielt designet explorer-kort. Tilslut bare XBee-modulet til Explorer-kortet og tilslut det til den bærbare computer ved hjælp af USB-kabel.
Hvis du ikke har nogen konverter eller explorer-kort, kan et Arduino-kort bruges som en USB til seriel enhed, der let kan kommunikere med XBee og laptop. Upload bare tom skitse på Arduino-kort, og nu kan den opføre sig som en USB til seriel konverter.
Forbindelser til interface ZigBee-modul med Arduino er vist i kredsløbsdiagrammet.
Forbindelser:
- Tx (pin2) af XBee -> Tx af Arduino-kort
- Rx (pin3) af Xbee -> Rx af Arduino-kort
- GND (pin10) af Xbee -> GND af Arduino-kort
- Vcc (Pin1) af Xbee -> 3.3v af Arduino-kort
Her i denne vejledning bruges et Explorer-kort til at konfigurere XBee-modulerne.
Download XCTU-softwaren fra dette link og installer den. Efter download og installation af XCTU-softwaren skal du åbne den og sikre dig, at dit XBee-modul er tilsluttet korrekt. Tjek COM-porten på Arduino-kortet i enhedsadministrator.
Trin 1: - Klik nu på søgeknappen. Dette viser dig alle RF-enheder, der er tilsluttet din bærbare computer. I vores tilfælde viser det kun et XBee-modul.
Trin 2: - Vælg den serielle port på Explorer-kortet / Arduino-kortet, og klik på Næste.
Trin 3: - I det næste vindue skal du indstille parametrene til USB-porten som vist nedenfor og klikke på Udfør.
Trin 4: - Vælg den opdagede enhed, og klik på Tilføj valgt enhed . Denne proces tilføjer dit XBee-modul til XCTU-dashboardet.
Trin 5: - Nu kan du konfigurere dit XBee-modul i dette vindue. Brug enten AT-kommandoer, eller læg dataene manuelt. Som du kan se, vises der R på venstre panel, hvilket betyder, at Xbee er i routertilstand. Vi er nødt til at gøre det til koordinator for senderdelen.
Opdater først firmwaren ved at klikke på firmwareopdateringen.
Trin 6: - Vælg produktfamilien på din enhed, som er tilgængelig på bagsiden af XBee-modulet. Vælg funktionssæt og firmwareversion som fremhævet nedenfor, og klik på Opdater.
Trin 7: - Nu skal du give ID-, MY- og DL-data for at oprette forbindelse til andre XBee. ID forbliver det samme for begge moduler. Kun MY- og DL-dataudveksling, dvs. MY for modtageren XBee, bliver DL for senderen XBee (koordinator) og DL for modtageren XBee bliver MY for senderen XBee. Lav CE som koordinator og tryk derefter på knappen Skriv. Som vist nedenfor.
ATDL |
HOS MIN |
||
XBee 1-koordinator |
|||
XBee 2-enhed |
Trin 8: - Efter at have skrevet ovenstående data til transmitterdelen, skal du slutte dem fra opdagelseskortet og sætte det i det andet XBee-modul. Gentag den samme proces som ovenfor, kun ændringer er DL, MY og CE. Da vi laver den anden XBee som slut-enhed, så vælg slut-enheden i CE-rullemenuen, og tryk på knappen Skriv.
Trin 9: - Nu er vores XBee-moduler klar til interface med Arduino-kortet. Vi forbinder senderen XBee til den bærbare computer og modtageren XBee med Arduino-kortet. Giv derefter kommandoer til modtagerdelen ved hjælp af bærbar computer.
Kredsløbsdiagram for modtagerens del:
Forbindelser:
- Tx (pin2) af XBee -> Rx af Arduino-kort
- Rx (pin3) af Xbee -> Tx af Arduino-kort
- GND (pin10) af Xbee -> GND af Arduino-kort
- Vcc (Pin1) af Xbee -> 3.3v af Arduino-kort
Hvis du bruger Arduino-kortet til at forbinde senderen ZigBee med den bærbare computer, vil forbindelserne være de samme som ved programmering af ZigBee.
Programmering og test af XBee-kommunikation ved hjælp af Arduino
Nu vil vi skrive en kode til modtageren Arduino for at tænde lysdioden, når modtagerdelen modtager 'a' og blinke lysdioden, når den modtager 'b', for andre tegn forbliver lysdioden slukket.
Koden er enkel og let forståelig. Vi vil bare kontrollere de indgående tegn ved hjælp af Serial.available () -funktionen og gemme dette tegn i en variabel ved hjælp af Serial.read (); funktion og matche den med 'a' og 'b'. Hvis match er korrekt, skal du udføre den opgave, der er angivet i betingelsen. Komplet kode for modtagerdelen gives til sidst. Upload koden i modtagerdelen Arduino. Fjern Tx- og Rx-ledningerne fra XBee, før de uploades.
Nu er vi alle klar til at teste vores sender og modtager. For at give kommandoen til senderdelen bruger vi XCTUs konsolterminal. Klik på konsolikonet nær indstillingsmuligheden. Klik derefter på knappen Åbn for at forbinde XBee til den bærbare computer.
Indtast 'a' i konsolloggen. Du vil se, at lysdioden vil tænde i 2 sekunder og derefter indtaste 'b' for at få ledet til at blinke i 5 gange.
Du kan også forbinde senderen XBee til Arduino-kortet, bare skift modtagerkoden lidt. I stedet for funktionen Serial.read () skal du bruge funktionen Serial.println () til at sende tegnene.
Tjek demonstrationsvideoen nedenfor.
Denne XBee-Arduino-opsætning kan bruges til at lave mange nyttige trådløse applikationer som hjemmeautomatiseringssystem, chatterum osv.