- Hardwarové požadavky
- Konfigurace modulů XBee pomocí XCTU
- Programování a testování komunikace XBee pomocí Arduina
V předchozích cvičeních jsme se dozvěděli o protokolu ZigBee a jeho architektuře a také jsme se dozvěděli o bezdrátové komunikaci mezi dvěma moduly Xbee. Nyní v tomto tutoriálu propojíme modul XBee s deskou Arduino Uno. XBee připojený k desce Arduino bude fungovat jako přijímač a bude bezdrátově komunikovat s dalším modulem XBee, který je sériově připojen k notebooku pomocí desky Explorer. Pojďme tedy dále prozkoumat bezdrátovou komunikaci Arduino pomocí XBee.
Hardwarové požadavky
- 1 x Arduino Uno
- 2 x moduly XBee Pro S2C (lze použít jakýkoli jiný model)
- 1 x deska průzkumníka Xbee (volitelně)
- 1 x Xbee Breakout board (volitelně)
- USB kabely
- LED diody
Konfigurace modulů XBee pomocí XCTU
Jak jsme se v předchozích výukách dozvěděli, modul XBee může fungovat jako koordinátor, směrovač nebo koncový přístroj, ale je třeba ho nakonfigurovat, aby fungoval v požadovaném režimu. Než tedy použijeme moduly XBee s Arduinem, musíme tyto moduly nakonfigurovat pomocí softwaru XCTU.
Pro připojení modulu XBee k notebooku se používá převodník USB na sériový port nebo speciálně navržená deska průzkumníka. Stačí připojit modul XBee k desce Explorer a připojit jej k notebooku pomocí kabelu USB.
Pokud nemáte žádnou desku převaděče nebo průzkumníka, můžete desku Arduino použít jako USB na sériové zařízení, které může snadno komunikovat s XBee a notebookem. Stačí nahrát prázdnou skicu na desku Arduino a nyní se může chovat jako převodník USB na sériový port.
Připojení pro propojení modulu ZigBee s Arduinem je znázorněno na schématu zapojení.
Připojení:
- Tx (pin2) XBee -> Tx desky Arduino
- Rx (pin3) Xbee -> Rx desky Arduino
- GND (pin10) Xbee -> GND desky Arduino
- Vcc (Pin1) Xbee -> 3,3 V desky Arduino
Tady v tomto výukovém programu se deska Explorer používá ke konfiguraci modulů XBee.
Stáhněte si software XCTU z tohoto odkazu a nainstalujte jej. Po stažení a instalaci softwaru XCTU jej otevřete a ujistěte se, že je váš modul XBee správně připojen. Zkontrolujte port COM na desce Arduino ve správci zařízení.
Krok 1: - Nyní klikněte na tlačítko vyhledávání. Zobrazí se všechna RF zařízení připojená k vašemu notebooku. V našem případě se zobrazí pouze jeden modul XBee.
Krok 2: - Vyberte sériový port desky Explorer / Arduino a klikněte na Další.
Krok 3: - V dalším okně nastavte parametry portu USB, jak je znázorněno níže, a klikněte na Dokončit.
Krok 4: - Vyberte Zjištěné zařízení a klikněte na Přidat vybrané zařízení . Tento proces přidá váš modul XBee na řídicí panel XCTU.
Krok 5: - Nyní můžete v tomto okně nakonfigurovat svůj modul XBee. Použijte buď AT příkazy, nebo vložte data ručně. Jak vidíte, na levém panelu se zobrazuje R, což znamená, že Xbee je v režimu routeru. Musíme to udělat koordinátorem pro část vysílače.
Nejprve aktualizujte firmware kliknutím na Aktualizovat firmware.
Krok 6: - Vyberte produktovou řadu svého zařízení, která je k dispozici na zadní straně modulu XBee. Vyberte sadu funkcí a verzi firmwaru, jak je zvýrazněno níže, a klikněte na Aktualizovat.
Krok 7: - Nyní musíte dát ID, MY a DL data, abyste se mohli spojit s ostatními XBee. ID zůstává stejné pro oba moduly. Pouze výměna dat MY a DL, tj. MY pro přijímač XBee, se stane DL vysílače XBee (koordinátor) a DL pro přijímač XBee se stane MY vysílače XBee. Vytvořte CE jako koordinátora a poté stiskněte tlačítko Zapsat. Jak je ukázáno níže.
ATDL |
ATMY |
||
Koordinátor XBee 1 |
|||
Koncové zařízení XBee 2 |
Krok 8: - Po zapsání výše uvedených dat do vysílací části je zapojte z desky průzkumníka a zapojte do druhého modulu XBee. Opakujte stejný postup jako výše, pouze změny jsou DL, MY a CE. Protože druhé XBee uděláme jako koncové zařízení, v rozevírací nabídce CE vyberte koncové zařízení a stiskněte tlačítko Write.
Krok 9: - Nyní jsou naše moduly XBee připraveny k propojení s deskou Arduino. Budeme připojit Xbee vysílače k notebooku a přijímače XBee s Arduino desce. Poté dejte příkazy přijímací části pomocí notebooku.
Schéma zapojení pro část přijímače:
Připojení:
- Tx (pin2) XBee -> Rx desky Arduino
- Rx (pin3) Xbee -> Tx desky Arduino
- GND (pin10) Xbee -> GND desky Arduino
- Vcc (Pin1) Xbee -> 3,3 V desky Arduino
Pokud používáte desku Arduino k propojení vysílače ZigBee s notebookem, připojení bude stejné jako pro programování ZigBee.
Programování a testování komunikace XBee pomocí Arduina
Nyní napíšeme kód pro přijímač Arduino, který rozsvítí LED, kdykoli přijímací část přijme 'a', a bliká LED, kdykoli přijímá 'b', pro ostatní znaky LED zůstane VYPNUTA.
Kód je jednoduchý a snadno srozumitelný. Prostě zkontrolujeme příchozí znaky pomocí funkce Serial.available () a uložíme tento znak do proměnné pomocí Serial.read (); funkce a porovnejte ji s 'a' a 'b'. Pokud je shoda správná, proveďte úlohu uvedenou v podmínce. Na konci je uveden kompletní kód pro část přijímače. Nahrajte kód do přijímače Arduino. Před nahráním odstraňte dráty Tx a Rx z XBee.
Nyní jsme se všichni pustili do testování našeho vysílače a přijímače. Abychom dali povel do vysílací části, použijeme konzolový terminál XCTU. Klikněte na ikonu Console poblíž možnosti nastavení. Poté klikněte na tlačítko Otevřít a připojte XBee k notebooku.
Zadejte „a“ do protokolu Console. Uvidíte, že LED dioda se rozsvítí na 2 sekundy a poté zadejte „b“, aby LED 5krát blikla.
Můžete také připojit vysílač XBee k desce Arduino, stačí trochu změnit kód přijímače. Místo funkce Serial.read () použijte k odeslání znaků funkci Serial.println ().
Zkontrolujte ukázkové video uvedené níže.
Toto nastavení XBee-Arduino lze použít k výrobě mnoha užitečných bezdrátových aplikací, jako je domácí automatizační systém, chatovací místnost atd.