XSTICK USB – jak dołączyć PC do sieci XBee (na Arduino)
O znaczeniu komunikacji bezprzewodowej w dzisiejszym świecie nikogo nie trzeba przekonywać. Wraz ze wzrostem popularności tego typu transmisji zwiększa się oferta urządzeń ułatwiających zrealizowanie takiej transmisji w opracowywanych projektach. Jednym z producentów, którzy od wielu lat oferują taki asortyment jest firma Digi International, a moduły tego producenta z rodziny XBee zdobyły sobie uznanie zarówno wśród profesjonalistów, jak i hobbystów.
)
| Przykład wykorzystania modemów z rodziny XBee opisywaliśmy w artykule Pierwsze kroki z XBee na przykładzie STM32. |
W tym artykule opiszemy jak do sieci XBee można dołączyć komputer osobisty. Jako platformę testową wykorzystaliśmy:
- zestaw uruchomieniowy Arduino Uno z mikrokontrolerem ATmega328 z rodziny AVR
- płytkę Arduino Wireless Shield SD pośredniczącą pomiędz Arduino Uno i modemem XBee
- modem Xbee, np: XBP24BZ7WIT-004
- modem XBee dołączany do komputera, np. XU-Z11 (XSTICK USB)
- przewód USB A <-> USB B (do zasilania Arduino)
Montaż
Jak widać na filmie, z zestawu uruchomieniowego Arduino Uno, płytki Arduino Wireless Shield SD oraz modemu Xbee XBP24BZ7WIT-004 tworzymy tzw. kanapkę. Złącza w płytkach idealnie pasują do siebie, nie powinno więc być kłopotu z ich połączeniem. Tak naprawdę do działania w trybie nadawania modemu XBee wystarczą tylko trzy przewody, a mianowicie zasilanie oraz Tx jako linia danych. Dzięki płytce Arduino Wireless Shield SD mamy te połączenia już zrealizowane – zasilanie i linia danych Tx z mikrokontrolera jest podłączona do modułu XBP24BZ7WIT-004 pracującego jako nadajnik.
Do odbioru sygnału radiowego użyjemy modułu z wyglądu przypominającego pendrive’a, który w praktyce jest połączeniem modułu Xbee oraz konwertera UART<->USB. Dzięki temu po dołączeniu modułu do komputera system widzi go jako wirtualny port COM, którego numer możemy sprawdzić w menadżerze urządzeń. Po podpięciu modułu XU-Z11 do komputera i podłączeniu zasilania dla płytki Arduino, komunikacja między modułami sieci bezprzewodowej nawiązywana jest automatycznie.
Celem sprawdzenia poprawności działania układu możemy posłużyć się dowolnym monitorem portu szeregowego komputera w którym na początku należy ustawić odpowiednie opcje dotyczące transmisji danych, w naszym przypadku będą to:
- Nr portu COM (konieczne jest indywidualne sprawdzenie jaki numer system nadaje urządzeniu XU-Z11 w Managerze Urządzeń).
- Prędkość transmisji: 9600 b/s
- Długość danych: 8 bit
- Parzystość: brak.
- Bity stopu: 1.
- Sterowanie przepływem: brak
W prezentowanym przykładzie mikrokontroler AVR ATmega328 znajdujący się na płytce Arduino wysyła przez port szeregowy tekst „KAMAMI XSTICK TEST”. Taki też tekst powinien pojawić się w oknie terminala po rozpoczęciu transmisji. Niestety nie do końca tak jest, wprawdzie widać nasz tekst, ale co oznaczają inne znaki z kodu ASCII (rys. 1)?

Rys. 1. Widok z terminala
Odebrana ramka wyświetlana jako kod szesnastkowy znaków ASCII wygląda następująco:
7E 00 20 90 00 13 A2 00 40 A6 54 0D 8C 7A 01 4B 41 4D 49 20 58 53 54 49 43 4B 20 54 45 53 54 0D 0A 4F
Niniejszą ramkę najlepiej zdekodować za pomocą aplikacji XCTU, która dokładnie opisze, które bajty do czego służą (rys. 2).
Rys. 2. Okno programu XCTU
Oprogramowanie XCTU można pobrać ze strony producenta.


Technologie End of Life i bezpieczeństwo sieci – wyzwania Europy związane z tzw. długiem technologicznym
Najczęstsze błędy firm przy wyborze dostawcy energii i jak ich uniknąć
Fotorezystor, czyli czujnik światła dwojakiego działania. Przykład innowacji w automatyce i elektronice możliwej dzięki technologii fotooporników 



