Idea taniego komputera realizowana przez Raspberry Pi
Founadtion przyniosła jej twórcą nadspodziewany sukces. Premiera tej platformy
komputerowej miała miejsce 29 lutego 2012 roku. Szeroki wachlarz zastosowań
Raspberry Pi oraz relatywnie niska cena sprawiły, że jest to platforma
wykorzystywana zarówno przez amatorów, hobbystów jak i
elektroników/programistów. Raspberry Pi nie posiada wbudowanego dysku twardego, dlatego
też zarówno załadowanie systemu operacyjnego jak i przechowywanie danych odbywa
się via karta SD, czemu służy zamontowany na PCB slot. Sercem układu jest CPU
ARM1176JZF-S z domyślnym zegarem 700MHz.
Zwykle Raspberry Pi dystrybuowane jest jako urządzenie
pozbawione układów niezbędnych do pierwszego rozruchu (tzn. karty SD,
zasilacza, kabli RCA/HDMI oraz audio).
Ogólny wygląd Raspberry Pi:
Jako nośnik pamięci w poniższym przykładzie zastosowano
kartę SDHC klasy 4 16GB firmy EMTEC. Dla standardowego użytkownika zapewnia wystarczającą
prędkość.
Kolejną kwestię stanowi zasilacz. Wymogiem jest napięcie 5V oraz prąd:
co najmniej 500mA (model A), co najmniej 700mA (model B). Wbrew pozorom sprawa
zasilania oraz jego wydajności prądowej jest o tyle ważna, że w przypadku
dużego obciążenia zbyt słaby zasilacz może spowodować podwieszenie systemu, czego
również doświadczono, kiedy do modelu B zastosowano posiadany adapter 500mA. W
przypadku standardowej konfiguracji (instalacja systemu itp.) żadne negatywne
skutki nie dawały o sobie znać. Z kolei przy próbie konfiguracji sieci
(podłączenie RJ45) peryferia takie jak mysz, klawiatura przestawały odpowiadać.
Na rynku dostępna jest szeroka gama zasilaczy dedykowanych
prezentowanej platformie komputerowej. Czasami jednak wydany koszt płacony jest
tylko za markę czy też tytuł aukcji. Alternatywę stanowią ładowarki do
telefonów. W prezentowanym przykładzie zastosowano zasilacz do telefonu Nokia o
oznaczeniu AC-10E (1200mA). Ważna jest kwestia jakości gwarantowanej przez
producenta. W serwisach oferowane są często tańsze „zamienniki” również z
wyjściem microUSB jednak o mniejszej wydajności prądowej (800mA). Również
jakość zastosowanych w niej komponentów pozostawia wiele do życzenie. Dlatego
też nie polecałbym ich zakup.
Jedną z ostatnich kwestii sprzętowych są kable łączące
Raspberry Pi z monitorem. Prezentowany przykład przedstawia zastosowanie
starego telewizora CRT jako monitora dla opisywanej platformy. Połączenie odbywa
się przez wyjście analogowe video (RCA). Dlatego niezbędny jest kabel typu cinch-cinch.
Z doświadczenia warto podkreślić, żeby był to przewód dobrej jakości. Często
stare kable znalezione w przydomowych
zapasach mogą nie spełnić oczekiwań użytkownika. W starych przewodach gorszej
jakości na drodze łączącej Rpi z TV w przewodzie mogą indukować się zakłócenia,
które znacznie wpływają na jakość obrazu – co można sprawdzić delikatnie
zmieniając położenie kabla RCA. Nowy ekranowany przewód analogowego wyjścia
video to nieduży wydatek znacznie poprawiający komfort pracy z Raspberry Pi.
Następnie należy dokonać wyboru systemu operacyjnego. W
prezentowanym przykładzie zastosowano OS: Raspbian Wheezy (dystrybucja Debiana
dedykowana na platformę Raspberry Pi). Sposób załadowania systemu na kartę SD
krok po kroku opisuje instrukcja dostępna na oficjalnej stronie Raspberry Pi:
Jak już wspomniano funkcję monitora w prezentowanym
przykładzie stanowi stary TV kineskopowy. Dlatego tuż po załadowaniu systemu na
SD należy dokonać wstępnej konfiguracji wyjścia video. Dokonuje się to w pliku config.txt.
Niezbędna jest zmiana parametru odpowiadającego za standard
nadawania koloru w sygnale telewizyjnym. Obowiązującym standardem w Europie
jest PAL. Uwzględnienie tego faktu w pliku polega na modyfikacji (oraz
odkomentowaniu tej linii – w przypadku poprzedzającego ją znaku # należy go
usunąć):
sdtv_mode=2
Tak przygotowana karta SD jest już wstępnie skonfigurowana
do pracy z omówionymi założeniami.
Jak przedstawiono w przytoczonej instrukcji „Quick Start
Guide” przy pierwszym uruchomieniu systemu zostaje otwarte okno raspi-config, w
którym należy dokonać ustawień strefy czasowej oraz wybrać polecenie expand_rootfs.
O ile pierwsza czynność jest klarowna o tyle druga wymaga słowa komentarza.
Otóż domyślnie system operacyjny jest przystosowany do pracy z kartami SD o
pojemności 4GB. W związku z czym w przypadku stosowania kart o większej
pojemności należy dokonać przeskalowania. Jest to o tyle ważne, ponieważ przy
pominięciu tej czynności użytkownik już po zainstalowaniu kilku aplikacji może
przekonać się o brakującym miejscu na dysku (informacja o ilości miejsca na
dysku: df –h) co może się chociażby objawić problemami związanymi z załadowaniem
nakładki graficznej X-window. Przeskalowania na kartę SD o większej pojemności
można dokonać w dowolnym momencie wpisując w oknie terminala polecenie:
sudo raspi-config
i wykonując przedstawioną wcześniej czynność. Nie mniej jednak,
by uniknąć wszelkich wątpliwości warto dokonać operacji rozszerzenia partycji
już przy pierwszym starcie.
Następnie przy starcie użytkownik zostaje poproszony o login
(domyślnie: pi) oraz hasło (domyślnie: raspberry)[w systemach UNIX przy wpisywaniu
ciągu znaków hasła nie jest widoczny żaden znak reprezentujący wprowadzony znak
z klawiatury, żeby osobom trzecim nie udzielać dodatkowej informacji o długości
hasła] .
Żeby przejść do przyjaźniejszego interfejsu użytkownika
(graficzny X-window) należy wpisać:
startx
Po uruchomieniu interfejsu graficznego może się okazać, że
niewłaściwie dopasowana jest rozdzielczość ekranu monitora do wielkości
pulpitu. W tym celu należy dokonać odpowiednich modyfikacji w pliku config.txt. Co jest możliwe zarówno z
poziomu Windows’a na innym komputerze, jak i z poziomu Rpi. Modyfikacja odbywa
się poprzez polecenie:
sudo nano /boot/config.txt
A następnie w edytorze powinno dodać się linie z parametrami
określającym odpowiednią rozdzielczość:
framebuffer_width = XXX
framebuffer_height = YYY
gdzie ciągi X oraz Y odpowiadają liczbą pikseli odpowiednio
na szerokość i wysokość. Edycję zakańcza się zapisem pliku (CTRL+O) oraz jego
zamknięciem (CTRL+X). Żeby nie utracić domyślnych danych konfiguracyjnych bezpieczniej
jest zakomentować wszystkie linie – dodając znak # przed każdą z nich, a
następnie dopisać własne odpowiednie dane. Aby konfiguracja została poprawnie
załadowana należy zrestartować minikomputer poleceniem:
sudo reboot
W powyższym pliku można również dokonać operacji
przesunięcia obrazu dodając parametry overscan_left, overscan_right,
overscan_top, overscan_bottom przypisując im jako wartości liczbę pominiętych
pikseli.
Warto wspomnieć, że większa rozdzielczość powoduje migający
obraz (zbyt mała częstotliwość odświeżania obrazu), co powoduje pewien
dyskomfort pracy. Z kolei mniejsza częstotliwość wymusza wyświetlanie większych
ikon i czcionek (również nieco irytujące) kosztem stabilności obrazu. Dlatego w
przedstawionym przykładzie konfiguracja odbywała się na drodze kompromisu. Jest
to niestety cena analogowego wyjścia video.
Pracę z Raspberry Pi zakańcza się poleceniem:
sudo shutdown
–h 0