Raspberry Pi – wykorzytstanie portu UART

Port UART – konfiguracja i wykorzystanie



Na złączu P1 jest dostępny port UART0 a konkretnie sygnały UART0_TXD i UART0_RXD. Możemy do niego dołączyć dowolne urządzenie z łączem szeregowym. Ja dołączyłem płytkę o oznaczeniu P120205 wyposażoną w moduł Blue Tooth BTM-222.

Moduł BlueTooth

Rys Widok płytki P120205 zaprojektowanej w programie KiCad.

P120205_widokm

Rys Widok wykonanej płytki P120205.

Przy podłączaniu płytki należy zwrócić uwagę na wartość napięcia zasilania która w przypadku komputera Raspberry Pi powinna wynosić 3.3V oraz na fakt, że sygnał RX płytki należy dołączyć do UART0_TXD zaś sygnał TX płytki P120205 należy dołączyć do pinu oznaczonego UART0_RXD komputera Raspberry Pi. Schemat połączeń przedstawiono na rysunku poniżej.

P120205_poloczenie

Rys Schemat połączenia płytki P120205.

Po wykonaniu połączeń należy zająć się dołączeniem komputera PC poprzez nowo utworzone łącze. W tym celu w komputerze z zainstalowanym systemem Windows (u mnie był to Windows 7 Home Eition) wciskamy prawy przycisk nad ikoną Urządzenia Bluetooth a następnie Dodaj urządzenie.

Urządzenia_BT1

Rys. Ikona „Urządzenia Bluetooth” na dole ekranu

Po chwili w oknie powinno się pojawić nasze urządzenie „Serial Adaptor”.  Ponownie wciskamy prawy przycisk myszy nad ikoną tego urządzenia i w następnej kolejności wybieramy „Dodaj urządzenie”. Następnie klikamy „Wprowadź kod parowania urządzenia” i podajemy kod 1234. Zostaną zainstalowane sterowniki i możemy się dołączyć do komputera.

BT_gotowe2

Rys. Okno „Instalacja oprogramowania..”

Następnie w Panelu Sterowania->System->Menadżer Urządzeń->Porty (COM i LPT) należy zidentyfikować numer portu COM (u mnie COM24).

MenadzerUrzadzen1

Rys Widok Menadżera Urządzeń z widocznym portem szeregowym.

Po identyfikacji numeru portu należy uruchomić program Putty i wpisać konfigurację taką jak na poniższej ilustracji:

Okno konfiguracji programu Putty

Rys Okno konfiguracji programu Putty.

Aby dołączyć się do komputera Rasberry Pi należy nacisnąć przycisk „Open”. I tu małe zdziwienie gdyż możemy otrzymać okno podobne do poniższego.

Putty_blad_predkosci

Rys Okno terminala Putty.

Te błędne znaczki wynikają z faktu iż komputer Rasspberry posiada łącze UART standardowo pracujące z prędkością 115200 bps zaś fabrycznie ustawiona prędkość płytki P120205 wynosi 19200 bps. Aby ustawić jednakowe prędkości należy zmienić na chwilę prędkość komputera Raspberry Pi na 19200 i dokonać konfiguracji płytki P120205. W tym celu należy zamknąć okno terminala Putty. Przy pomocy terminala połączonego przy pomocy połączenia ssh bądź też bezpośrednio na ekranie monitora połączonego bezpośrednio do Raspberry Pi należy się zalogować i dokonać edycji pliku /boot/cmdline.txt w znajduje się wpis:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

Wszystkie wartości 115200 należy zmienić na 19200. W pliku /etc/inittab w wierszu:

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

należy zmienić wartość 115200 na 19200. Po wykonaniu tych czynności i zrestartowaniu Rasperry Pi możemy już się zalogować przy pomocy terminala połączonego przez interfejs BlueTooth.

Jeżeli chcemy wykorzystać łącze UART do naszych potrzeb lub aby móc zmienić ustawienia modułu P120205 takie jak kod PIN czy szybkość transmisji należy zainstalować program terminalowy oraz dokonać zmian w niektórych plikach. Może to być minicom. W tym celu wpisujemy:

sudo apt-get install minicom

W pliku /boot/cmdline.txt usunąć wpisy dotyczące urządzenia ttyAMA1, czyli poprzednio zmieniona linia powinna teraz wyglądać tak:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait


W pliku /etc/inittab zakomentować (#) linię:

#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Następnie restart Raspberry Pi. Teraz możemy uruchomić terminal z podanymi parametrami:

minicom -b 19200 -o -D /dev/ttyAMA0

Aby zmienić wybrane parametry należy się zapoznać z dokumentacją modułu BT222 a w szczególności z komendami AT. Ja Zmieniłem nazwę urządzenia na RPI001, zmieniłem kod PIN, wyłączyłem echo itp.

ATN=RPI001
ATX0
ATP=12345678
ATM0
ATK0
ATE0
ATL5

Po każdej komendzie powinniśmy otrzymać OK. Jeżeli otrzymamy ERROR to znaczy, że coś poszło nie tak i należy powtórzyć komendę. Ponieważ zmieniłem prędkość komendą ATL5 na 115200 powinienem zamknąć program minicom. Wyjście z programu minicom Ctrl-A a następnie x i potwierdzamy enterem. Następnie należy ponownie uruchomić program minicom z następującymi parametrami:

minicom -b 115200 -o -D /dev/ttyAMA0
ATQ1
ATI?

Powinniśmy otrzymać coś podobnego:

F/W VERSION: v6.26

Znowu wychodzimy z programu minicom czyli Ctrl-A i następnie x i potwierdzamy enterem. Od tej chwili mamy w pełni działający i możliwy do zaprogramowania interfejs UART.

copyright: systemypomiarowe.pl