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:

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. ----fotka xctu

Rys. 2. Okno programu XCTU

 

Oprogramowanie XCTU można pobrać ze strony producenta.

Do pobrania

O autorze