KursyPoradnikiInspirujące DIYForum

Kurs Raspberry Pi – #5 – instalacja/komunikacja przez UART

Kurs Raspberry Pi  – #5 – instalacja/komunikacja przez UART

W poprzedniej części kursu poznaliśmy prostą metodę rozpoczęcia pracy z Raspberry Pi. Do pracy z systemem wykorzystaliśmy tradycyjny monitor, klawiaturę i myszkę.

Tym razem wykorzystamy mniej popularny, ale niezwykle przydatny sposób instalacji systemu z użyciem konwertera UART!

Metoda wykorzystująca port szeregowy nie jest najłatwiejsza i wymaga konwertera UART-USB (znajduje się on w naszych zestawach). Ten sposób instalacji jest często pomijany podczas nauki pracy z Raspberry Pi. Jednak ma kilka zalet, które sprawiają, że warto go znać!

Po pierwsze, sposób ten wymaga mniejszej ilości sprzętu niż poprzednio. Możemy wykorzystać PC, na którym czytamy ten kurs. Nie musimy mieć dodatkowego monitora, klawiatury i myszki. 

Konwerter UART - nowe narzędzie do komunikacji z RPi.

Konwerter UART - nowe narzędzie do komunikacji z RPi.

Największe zalety wykorzystania portu szeregowego to uniwersalność i możliwość naprawy systemu w razie awarii. Jeśli polubimy zabawę systemami wbudowanymi szybko odkryjemy, że dostępne są bardzo różne rozwiązania. Może któregoś dnia "konkurencyjna" płytka wpadnie nam w ręce, albo po prostu będziemy potrzebowali przygotować coś w oparciu o inny sprzęt. Nie wszystkie płytki z Linuxem obsługują wyjście obrazu (np. Intel Edison), ale praktycznie wszystkie pozwalają na pracę przez port szeregowy.

W kolejnej części kursu do komunikacji z płytką wykorzystamy sieć lokalną. Taka opcja jest prosta i wygodna, ale działa tylko jeśli wszystko jest skonfigurowane poprawnie. Jeśli coś się popsuje, to zupełnie stracimy kontakt z naszą malinką. W przypadku monitora jest trochę lepiej, ale awaria na samym początku procesu uruchamiania systemu również jest trudna do naprawy. Port szeregowy jest obsługiwany od samego początku działania systemu. Co więcej można z niego korzystać nawet jeszcze przed startem Linuxa!

Instalacja systemu przez UART

Do wykonania tego ćwiczenia potrzebne są:

  • Raspberry Pi 3 w obudowie,
  • zasilacz,
  • karta microSD,
  • czytnik kart pamięci,
  • przejściówka UART-USB (3,3V),
  • podręczna "ściąga" z GPIO,
  • dodatkowa zworka (opcjonalnie).
Gotowe zestawy do kursów Forbota

 Komplet elementów  Gwarancja pomocy  Wysyłka w 24h

Elementy niezbędne do wykonania wszystkich ćwiczeń z kursu podstaw Rasberry Pi dostępne są w formie gotowych zestawów!

Zamów w Botland.com.pl »

Raspberry Pi i czytnik kart SD będą nam zawsze potrzebne, więc właściwie dodatkowy element jest tylko jeden: konwerter UART-USB. Co ważne musi on obsługiwać napięcie 3.3V, konwertery na 5V mogą uszkodzić Raspberry Pi.

W zestawach do tego kursu znajduje się uniwersalny konwerter, który nie powinien sprawiać problemów na żadnym systemie operacyjnym i jest przystosowany do pracy z 3.3/5V. Nie warto kupować najtańszych konwerterów - ich sterowniki mogą nie być kompatybilne z najnowszymi systemami Windows, co doprowadza do dodatkowych komplikacji.

Instalacja systemu Raspbian Lite

W poprzedniej części kursu dokładnie opisaliśmy procedurę przygotowania karty microSD. Teraz postępujemy podobnie, ale zamiast pełnej wersji Rasbpiana skorzystamy z wersji Lite. W przypadku komunikacji przez UART interfejs graficzny czy domyślnie instalowana gra Minecraft nie są nam potrzebne, a zajmują miejsce i wydłużają czas instalacji oraz uruchamiania płytki.

Obraz systemu w wersji Lite jest dostępny, tak jak poprzednio, na stronie Raspberry Pi. Pobrany plik rozpakowujemy i "wypalamy" go na karcie microSD za pomocą narzędzie Etcher. Szczegóły tej operacji zostały opisane w poprzedniej części kursu Raspberry Pi.

Dwie wersje systemu do pobrania.

Dwie wersje systemu do pobrania.

Gdy program zakończy działanie wyciągamy kartę z komputera i wkładamy ją drugi raz. System pokaże wykrycie 2-3 nowych dysków/pamięci. Windows może pokazać nam komunikat mówiący o tym, że korzystanie z jednego nowego dysku nie jest możliwe. Oczywiście nie zgadzamy się na jego sformatowanie (usunęlibyśmy wtedy dane nagrane przez Etcher).

Formatowanie karty - klikamy Anuluj!

Formatowanie karty - klikamy Anuluj!

Odszukujemy partycję nazwaną "boot":

Nowa partycja boot.

Nowa partycja boot.

Znajdziemy na niej bardzo ważny plik config.txt, który przechowuje konfigurację systemu malinki. Otwieramy go za pomocą edytora tekstu. Otwarcie tego pliku w notatniku niestety spowoduje, że całość będzie mało czytelna.

Gdy plik się otworzy dodajemy na jego końcu jedną linijkę:

Plik powinien wyglądać wtedy mniej więcej następująco:

Edytowany plik config.txt

Edytowany plik config.txt

Bez tej ręcznej edycji połączenie z malinką przez UART nie byłoby możliwe. Zapisujemy zmodyfikowany plik na karcie i bezpiecznie usuwamy ją z systemu. Kartę można już wsunąć do Raspberry Pi, ale naszego małego komputera nie podłączamy jeszcze do zasilania!

Gniazdo rozszerzeń Raspberry Pi

Zanim podłączymy konwerter do płytki Raspberry Pi poświęćmy chwilę na zapoznanie się z gniazdem rozszerzeń. Rozkład pinów jest widoczny poniżej:

Opis wyprowadzeń GPIO.

Opis wyprowadzeń GPIO.

Do podłączenia naszej przejściówki potrzebujemy podłączyć oczywiście masę (GND) oraz linie do komunikacji (TXD i RXD). Przy okazji bardzo ważne ostrzeżenie:

Jak "na złość" piny 2 i 4 dostarczają napięcia 5V - musimy więc bardzo uważać, żeby niechcący nie zewrzeć ich z innymi lub nie podłączyć do nich czujnika i przez niego nie zasilić pozostałych pinów. Prostym ułatwieniem jest założenie zworki na dwa piny dostarczające +5V. Zwieramy dwa piny 5V ze sobą (co nie wpływa na działanie układu), a dzięki temu blokujemy sobie dostęp do pinów niosących "groźne" 5V.

Raspberry Pi z założoną zworką zabezpieczającą.

Raspberry Pi z założoną zworką zabezpieczającą.

Podłączenie konwertera

Nasz konwerter ma możliwość pracy w standardzie 3.3V lub 5V. Raspberry Pi wykorzystuje pierwszą opcję, musimy więc upewnić się, że zworka VCCIO jest umieszczona tak, że wskazuje na 3.3V (zgodnie z poniższym zdjęciem):

Odpowiednie ustawienie zworki na konwerterze UART.

Odpowiednie ustawienie zworki na konwerterze UART.

Teraz możemy podłączyć odpowiednie piny malinki i konwertera. Nie używamy linii VCCIO, łączymy tylko GND, TXD oraz RXD. Sygnały powinny być połączone "na krzyż", czyli TXD z konwertera łączymy z RXD malinki, a RXD z TXD. Podczas wykonywania połączeń warto wspomóc się podręczną ściągą GPIO, która była w zestawie.

Odpowiednie podłączenie konwertera.

Odpowiednie podłączenie konwertera.

Dla pewności, jeszcze zdjęcie "bez obudowy":

Podłączenie do komputera

Wszystko gotowe? Możemy podłączyć konwerter do komputera i sprawdzić, który port szeregowy został do niego przypisany. U nas był to COM3:

Widok podłączonego konwertera w systemie.

Widok podłączonego konwertera w systemie.

Pierwsze uruchomienie Raspberry Pi przez UART

Teraz musimy uruchomić program do obsługi portu szeregowego, np. PuTTy - mały darmowy program, który potrafi komunikować się zarówno poprzez sieć wykorzystując protokół SSH jak i przez port szeregowy. Najnowszą wersję programu można pobrać ze strony producenta.

Po jego uruchomieniu wybieramy typ połączenia: Serial, prędkość transmisji 115200 oraz port szeregowy do którego podłączony jest konwerter.

Pierwsze ustawienia w PuTTy.

Pierwsze ustawienia w PuTTy.

Musimy też wyłączyć kontrolę transmisji - w zakładce Serial odnajdujemy Flow control, a następnie z rozwijanego menu wybieramy None.

Ostatnie ustawienia w PuTTy.

Ostatnie ustawienia w PuTTy.

Po powrocie do okna głównego programu możemy zapisać naszą konfigurację przyciskiem Save, a następnie otworzyć okno terminala za pomocą przycisku Open.

Uruchomiony terminal - oznaka otwarcia portu COM.

Uruchomiony terminal - oznaka otwarcia portu COM.

Gdy terminal się uruchomi, to pozostaje ostatnie sprawdzenie, czy wszystko jest połączone tak, jak być powinno. Wtedy podłączamy zasilanie do RPi.

Po chwili, na komputerze, zobaczymy komunikaty startującego systemu:

Uruchamianie systemu...

Uruchamianie systemu...

Pierwsze uruchomienie systemu zajmuje kilka chwil (do 5 minut). Czekamy więc cierpliwie aż zostaniemy poproszeni o zalogowanie. Co będzie wyglądało następująco:

Ekran logowania...

Ekran logowania...

Logowanie do Raspberry Pi

Domyślny login to pi, a hasło raspberry. Przy wprowadzaniu hasła nie pojawiają się żadne znaki (brak gwiazdek maskujących hasło), to normalne zachowanie w przypadku Linuxa!

Cały proces logowania wygląda następująco:

Logowanie do Raspberry Pi...

Logowanie do Raspberry Pi...

Po poprawnym zalogowaniu powinniśmy zobaczyć "znany z Linuxa" widok terminala, w którym możemy już działać!

Jesteśmy zalogowani do RPi przez UART!

Jesteśmy zalogowani do RPi przez UART!

Udało nam się zalogować do naszej malinki. Mamy dostęp do konsoli, która działa dokładnie tak samo jak "terminal" opisywany w poprzedniej części. Do komunikacji z terminalem w zupełności wystarcza nasz port szeregowy.

W linii poleceń możemy wpisywać komendy systemu Linux. Dzięki nim można konfigurować płytkę, uruchamiać programy, a nawet programować. To nieco zaskakujące, ale z Raspberry Pi można korzystać w trybie tekstowym, tryb graficzny wcale nie jest niezbędny.

Najważniejsze ustawienia - raspi-config

System jest już zainstalowany. Warto więc wykonać najprostsze ustawienia. Wpisujemy komendę sudo raspi-config i klikamy Enter. Pojawi się okno programu konfiguracyjnego przygotowanego specjalnie z myślą o Raspberry Pi:

Zmiana ustawień systemu.

Zmiana ustawień systemu.

Zacznijmy od zmiany hasła. Wybieramy pozycję numer 1 (po menu poruszamy się strzałkami), klikamy Enter. Pojawi się następujące okno:

Informacja o zmianie hasła.

Informacja o zmianie hasła.

Klikamy Enter i chwilę później wpisujemy nowe hasło, kolejny enter i podajemy hasło drugi raz.

Wpisujemy dwa razy nowe hasło.

Wpisujemy dwa razy nowe hasło.

Na koniec otrzymamy komunikat świadczący o zmianie danych do logowania:

Potwierdzenie zmiany hasła.

Potwierdzenie zmiany hasła.

Naciskamy Enter i wracamy do menu ustawień. Teraz warto przejść do "Localisation Options". Gdzie ustawiamy informację na temat strefy czasowej, układu klawiatury itd.:

Opcje dostępne w menu.

Opcje dostępne w menu.

Warto zacząć od wybrania ustawień językowych:

Następnie ustawiamy strefę czasową:

Czyszczenie ekranu, wyłączanie Raspberry Pi w trybie tekstowym

Artykuł miał pokazać proces instalacji RPi przez UART, nie będziemy się więc rozpisywać na temat samej pracy w terminalu. Do tego jeszcze wrócimy w osobnym artykule. Pora wyjść z menu ustawień (klawisz Esc). 

Wyjście z ustawień.

Wyjście z ustawień.

Po wciśnięciu Esc wyjdziemy z trybu ustawień i pojawi się oczekiwane pi@raspberrypi:~$ Cały czas jest jednak widoczny nieaktywny widok poprzedniego programu (co może być mylące). Aby się go pozbyć wystarczy wpisać komendę clear, która wyczyści aktualne okno:

Wyczyszczony ekran - brak śladów, po poprzednich programach.

Wyczyszczony ekran - brak śladów, po poprzednich programach.

Oczywiście, tak samo jak w poprzednio opisywanym trybie graficznym Raspberry Pi, nie można zwyczajnie odłączyć od prądu. Nie ma jednak menu, z którego możemy "wyklikać" wyłączenie...

Jesteśmy w trybie tekstowym, więc w celu wyłączenia płytki musimy skorzystać z komendy:

Komputer rozpocznie procedurę wyłączania natychmiast po zatwierdzeniu polecenia:

Wyłączanie RPi w praktyce...

Wyłączanie RPi w praktyce...

Jeśli zamiast wyłączania interesuje nas ponowne uruchomienie, to korzystamy z polecenia:

Restart Raspberry Pi...

Restart Raspberry Pi...

Podsumowanie

Za nami kolejny sposób pracy z RPi - przez UART. Sposób ten jest często pomijany w nauce Raspberry Pi. Warto go jednak znać, na pewno przyda nam się jeszcze w przyszłości! Co więcej skorzystaliśmy z sytemu operacyjnego w wersji lite, czyli m.in. bez interfejsu graficznego. Pobierany obraz tego Raspbiana był znacznie mniejszy, czyli na karcie pamięci zostało więcej miejsca na nasze pliki.

W kolejnym artykule zajmiemy się ostatnią metodą instalacji systemu. Tym razem skorzystamy z sieci lokalnej. Jest to zdecydowanie najpopularniejsza forma zdalnej pracy na malince. Po tym artykule, każdy będzie mógł wybrać sposób, w który chce łączyć się z Raspberry Pi. Będzie to więc idealny moment, aby wreszcie pójść krok dalej i w pełni korzystać z RPi.

Czy wpis był pomocny? Oceń go:

Średnia ocena 4.9 / 5. Głosów łącznie: 247

Nikt jeszcze nie głosował, bądź pierwszy!

Artykuł nie był pomocny? Jak możemy go poprawić? Wpisz swoje sugestie poniżej. Jeśli masz pytanie to zadaj je w komentarzu - ten formularz jest anonimowy, nie będziemy mogli Ci odpowiedzieć!

Nawigacja kursu

Autorzy: Piotr Bugalski, Damian Szymański
Testy, ilustracje: Piotr Adamczyk

komunikacja, kurs, kursRaspberryPi, raspberrypi, system, uart

Trwa ładowanie komentarzy...