- Hårdvarukrav
- Konfigurera XBee-moduler med XCTU
- Programmering och testning av XBee-kommunikation med Arduino
I tidigare handledning har vi lärt oss om ZigBee-protokollet och dess arkitektur, och också lärt oss om trådlös kommunikation mellan två Xbee-moduler. Nu i denna handledning kommer vi att ansluta XBee-modulen med Arduino Uno-kort. XBee ansluten till Arduino-kortet fungerar som en mottagare och den kommer att kommunicera trådlöst med andra XBee-moduler som är seriellt anslutna till den bärbara datorn med hjälp av ett Explorer Board. Så kan vi utforska vidare för Arduino trådlös kommunikation med XBee.
Hårdvarukrav
- 1 x Arduino Uno
- 2 x XBee Pro S2C-moduler (valfri annan modell kan användas)
- 1 x Xbee Explorer Board (valfritt)
- 1 x Xbee Breakout Board (tillval)
- USB-kablar
- Lysdioder
Konfigurera XBee-moduler med XCTU
Som vi har lärt oss i tidigare tutorials att XBee-modulen kan fungera som en koordinator, router eller en slutenhet men den måste konfigureras för att fungera i önskat läge. Så innan vi använder XBee-modulerna med Arduino måste vi konfigurera dessa moduler med hjälp av XCTU-programvaran.
För att ansluta XBee-modulen till den bärbara datorn används en USB-till-seriell omvandlare eller ett särskilt utformat explorer-kort. Anslut bara XBee-modulen till Explorer-kortet och anslut den till den bärbara datorn med USB-kabel.
Om du inte har någon omvandlare eller utforskarkort kan ett Arduino-kort användas som en USB till seriell enhet som enkelt kan kommunicera med XBee och laptop. Ladda bara upp en tom skiss på Arduino-kortet och nu kan den fungera som en USB till seriell omvandlare.
Anslutningar för gränssnitt mellan ZigBee-modulen och Arduino visas i kretsschemat.
Anslutningar:
- Tx (pin2) av XBee -> Tx av Arduino-kortet
- Rx (pin3) av Xbee -> Rx av Arduino-kortet
- GND (pin10) av Xbee -> GND av Arduino-kortet
- Vcc (Pin1) av Xbee -> 3.3v av Arduino-kortet
Här i den här handledningen används ett Explorer-kort för att konfigurera XBee-modulerna.
Ladda ner XCTU-programvaran från den här länken och installera den. Efter nedladdning och installation av XCTU-programvaran, öppna den och se till att din XBee-modul är ordentligt ansluten. Kontrollera COM-porten på Arduino-kortet i enhetshanteraren.
Steg 1: - Klicka nu på sökknappen. Detta visar alla RF-enheter som är anslutna till din bärbara dator. I vårt fall visar den bara en XBee-modul.
Steg 2: - Välj seriell port på Explorer-kortet / Arduino-kortet och klicka på Nästa.
Steg 3: - I nästa fönster ställer du in USB-portparametrarna enligt nedan och klickar på Slutför.
Steg 4: - Välj den upptäckta enheten och klicka på Lägg till vald enhet . Denna process kommer att lägga till din XBee-modul till XCTU-instrumentpanelen.
Steg 5: - Nu kan du konfigurera din XBee-modul i det här fönstret. Använd antingen AT-kommandon eller placera data manuellt. Som du kan se visas R på vänster panel vilket betyder att Xbee är i router-läge. Vi måste göra det till samordnare för sändardelen.
Uppdatera först Firmware genom att klicka på Update firmware.
Steg 6: - Välj produktfamiljen för din enhet som är tillgänglig på baksidan av XBee-modulen. Välj funktionsuppsättning och firmwareversion som markeras nedan och klicka på Uppdatera.
Steg 7: - Nu måste du ge ID-, MY- och DL-data för att ansluta till andra XBee. ID förblir detsamma för båda modulerna. Endast MY och DL datautbyte dvs MY för mottagaren XBee blir DL för sändaren XBee (koordinator) och DL för mottagaren XBee blir MY för sändaren XBee. Gör CE som koordinator och tryck sedan på knappen Skriv. Enligt nedanstående.
ATDL |
HOS MIN |
||
XBee 1-koordinator |
|||
XBee 2-slutenhet |
Steg 8: - Efter att ha skrivit ovanstående data till sändardelen, koppla ut den från explorer-kortet och anslut den i den andra XBee-modulen. Upprepa samma process som ovan. Endast ändringarna är DL, MY och CE. Eftersom vi kommer att göra den andra XBee som slutenhet så i CE-rullgardinsmenyn, välj slutenheten och tryck på knappen Skriv.
Steg 9: - Nu är våra XBee-moduler redo att ansluta till Arduino-kortet. Vi ansluter sändaren XBee till den bärbara datorn och mottagaren XBee med Arduino-kortet. Ge sedan kommandon till mottagardelen med en bärbar dator.
Kretsschema för mottagardel:
Anslutningar:
- Tx (pin2) av XBee -> Rx av Arduino-kortet
- Rx (pin3) av Xbee -> Tx av Arduino-kortet
- GND (pin10) av Xbee -> GND av Arduino-kortet
- Vcc (Pin1) av Xbee -> 3.3v av Arduino-kortet
Om du använder Arduino-kortet för att ansluta sändaren ZigBee till den bärbara datorn kommer anslutningarna att vara samma som för programmeringen av ZigBee.
Programmering och testning av XBee-kommunikation med Arduino
Nu kommer vi att skriva en kod för mottagaren Arduino för att slå PÅ lysdioden när mottagardelen får 'a' och blinka lysdioden när den får 'b', för andra tecken kommer lysdioden förbli AV.
Koden är enkel och lättförståelig. Vi kommer bara att kontrollera inkommande tecken med funktionen Serial.available () och lagra detta tecken i en variabel med Serial.read (); funktion och matcha den med 'a' och 'b'. Om matchningen är korrekt utför du den uppgift som anges i villkoret. Komplett kod för mottagardelen ges till slut. Ladda upp koden i mottagardelen Arduino. Ta bort Tx- och Rx-ledningarna på XBee innan du laddar upp dem.
Nu är vi alla redo att testa vår sändare och mottagare. För att ge kommandot till sändardelen använder vi XCTU: s konsolterminal. Klicka på konsolikonen nära inställningsalternativet. Klicka sedan på knappen Öppna för att ansluta XBee till den bärbara datorn.
Ange 'a' i konsolloggen. Du kommer att se att lysdioden tänds i 2 sekunder och ange sedan 'b' för att lysdioden ska blinka 5 gånger.
Du kan också ansluta sändaren XBee till Arduino-kortet, ändra bara mottagarkoden lite. I stället för funktionen Serial.read (), använd funktionen Serial.println () för att skicka tecknen.
Kontrollera demonstrationsvideon nedan.
Denna XBee-Arduino-inställning kan användas för att skapa många användbara trådlösa applikationer som hemautomationssystem, chattrum etc.