- Wymagania sprzętowe
- Konfigurowanie modułów XBee za pomocą XCTU
- Programowanie i testowanie komunikacji XBee z wykorzystaniem Arduino
W poprzednich samouczkach dowiedzieliśmy się o protokole ZigBee i jego architekturze, a także o komunikacji bezprzewodowej między dwoma modułami Xbee. Teraz w tym samouczku połączymy moduł XBee z płytką Arduino Uno. XBee połączony z płytką Arduino będzie działał jako odbiornik i będzie komunikował się bezprzewodowo z innym modułem XBee, który jest szeregowo połączony z laptopem za pomocą Explorer Board. Przyjrzyjmy się więc bliżej komunikacji bezprzewodowej Arduino za pomocą XBee.
Wymagania sprzętowe
- 1 x Arduino Uno
- 2 x moduły XBee Pro S2C (można użyć dowolnego innego modelu)
- 1 x Xbee Explorer Board (opcjonalnie)
- 1 x Xbee Breakout Board (opcjonalnie)
- Kable USB
- Diody LED
Konfigurowanie modułów XBee za pomocą XCTU
Jak dowiedzieliśmy się w poprzednich samouczkach, moduł XBee może działać jako koordynator, router lub urządzenie końcowe, ale musi być skonfigurowany do pracy w żądanym trybie. Dlatego przed użyciem modułów XBee z Arduino musimy skonfigurować te moduły za pomocą oprogramowania XCTU.
Do połączenia modułu XBee z laptopem służy konwerter USB na port szeregowy lub specjalnie zaprojektowana płytka eksploratora. Wystarczy podłączyć moduł XBee do płytki Explorer i podłączyć go do laptopa za pomocą kabla USB.
Jeśli nie masz żadnego konwertera lub płyty eksploratora, to płytka Arduino może być używana jako urządzenie USB do portu szeregowego, które może łatwo komunikować się z XBee i laptopem. Po prostu wgraj pusty szkic na płytkę Arduino i teraz może on zachowywać się jak konwerter USB na szeregowy.
Połączenia do połączenia modułu ZigBee z Arduino pokazano na schemacie obwodu.
Znajomości:
- Tx (pin2) XBee -> Tx płyty Arduino
- Rx (pin3) Xbee -> Rx płyty Arduino
- Masa (pin 10) Xbee -> GND płyty Arduino
- Vcc (Pin1) Xbee -> 3,3 V płyty Arduino
Tutaj, w tym samouczku, do konfiguracji modułów XBee używana jest tablica Explorer.
Pobierz oprogramowanie XCTU z tego łącza i zainstaluj je. Po pobraniu i zainstalowaniu oprogramowania XCTU otwórz je i upewnij się, że moduł XBee jest prawidłowo podłączony. Sprawdź port COM płyty Arduino w menedżerze urządzeń.
Krok 1: - Teraz kliknij przycisk wyszukiwania. Spowoduje to wyświetlenie wszystkich urządzeń RF podłączonych do laptopa. W naszym przypadku pokaże tylko jeden moduł XBee.
Krok 2: - Wybierz port szeregowy karty Explorer / Arduino i kliknij Dalej.
Krok 3: - W następnym oknie ustaw parametry portu USB, jak pokazano poniżej, i kliknij Zakończ.
Krok 4: - Wybierz odkryte urządzenie i kliknij Dodaj wybrane urządzenie . Ten proces spowoduje dodanie Twojego modułu XBee do pulpitu nawigacyjnego XCTU.
Krok 5: - Teraz możesz skonfigurować swój moduł XBee w tym oknie. Użyj poleceń AT lub wprowadź dane ręcznie. Jak widać, na lewym panelu pojawia się R, co oznacza, że Xbee jest w trybie routera. Musimy uczynić go koordynatorem dla części nadajnika.
Najpierw zaktualizuj oprogramowanie sprzętowe, klikając Aktualizuj oprogramowanie układowe.
Krok 6: - Wybierz rodzinę produktów swojego urządzenia, która jest dostępna z tyłu modułu XBee. Wybierz zestaw funkcji i wersję oprogramowania sprzętowego, jak zaznaczono poniżej, i kliknij Aktualizuj.
Krok 7: - Teraz musisz podać ID, dane MY i DL, aby połączyć się z innymi XBee. ID pozostaje takie samo dla obu modułów. Tylko wymiana danych MY i DL, tj. MY dla odbiornika XBee staje się DL nadajnika XBee (koordynator), a DL dla odbiornika XBee staje się MY nadajnika XBee. Ustaw CE jako koordynatora, a następnie naciśnij przycisk Zapisz. Jak pokazano niżej.
ATDL |
W MOIM |
||
Koordynator XBee 1 |
|||
Urządzenie końcowe XBee 2 |
Krok 8: - Po zapisaniu powyższych danych do części nadajnika wypinamy go z płytki eksploratora i podłączamy do drugiego modułu XBee. Powtórz ten sam proces, co powyżej, tylko zmiany to DL, MY i CE. Ponieważ zrobimy drugie XBee jako urządzenie końcowe, więc w rozwijanym menu CE wybierz urządzenie końcowe i naciśnij przycisk Zapisz.
Krok 9: - Teraz nasze moduły XBee są gotowe do współpracy z płytą Arduino. Będziemy podłączyć xbee nadajnika do odbiornika XBee i laptopa z Arduino pokładzie. Następnie wydawaj polecenia części odbiorczej za pomocą laptopa.
Schemat obwodu dla części odbiornika:
Znajomości:
- Tx (pin2) XBee -> Rx płyty Arduino
- Rx (pin3) Xbee -> Tx płyty Arduino
- Masa (pin 10) Xbee -> GND płyty Arduino
- Vcc (Pin1) Xbee -> 3,3 V płyty Arduino
Jeśli używasz płytki Arduino do połączenia nadajnika ZigBee z laptopem, połączenia będą takie same, jak przy programowaniu ZigBee.
Programowanie i testowanie komunikacji XBee z wykorzystaniem Arduino
Teraz napiszemy kod dla odbiornika Arduino, który włącza diodę LED, gdy część odbiornika odbiera 'a', i miga diodą, gdy otrzyma 'b', dla innych znaków dioda LED pozostanie wyłączona.
Kod jest prosty i łatwo zrozumiały. Po prostu sprawdzimy przychodzące znaki za pomocą funkcji Serial.available () i zapiszemy ten znak w zmiennej za pomocą Serial.read (); funkcji i dopasuj ją do „a” i „b”. Jeśli dopasowanie jest poprawne, wykonaj zadanie określone w warunku. Na końcu podany jest pełny kod dla części Odbiornik. Prześlij kod w części odbiorczej Arduino. Usuń przewody Tx i Rx z XBee przed załadowaniem.
Teraz wszyscy przystąpiliśmy do testowania naszego nadajnika i odbiornika. Aby wydać polecenie części nadajnika, użyjemy terminala konsoli XCTU. Kliknij ikonę Konsola obok opcji ustawień. Następnie kliknij przycisk Otwórz, aby podłączyć XBee do laptopa.
Wpisz „a” w dzienniku konsoli. Zobaczysz, że dioda LED zaświeci się na 2 sekundy, a następnie wprowadź „b”, aby dioda LED zamrugała 5 razy.
Możesz również podłączyć nadajnik XBee do płytki Arduino, wystarczy zmienić trochę kod odbiornika. Zamiast funkcji Serial.read () użyj funkcji Serial.println (), aby wysłać znaki.
Sprawdź film demonstracyjny podany poniżej.
Ta konfiguracja XBee-Arduino może być używana do tworzenia wielu przydatnych aplikacji bezprzewodowych, takich jak system automatyki domowej, pokój rozmów itp.