Raspberry_Pi_cz2.pdf

(334 KB) Pobierz
Na warsztacie
W poprzednim numerze „Młodego Technika” przedstawialiśmy Raspberry Pi
– minikomputer z możliwościami mikrokontrolera. Pytanie brzmiało prosto: jak
zacząć? Tym razem zastanowimy się nad codzienną pracą z tym zaskakująco
wydajnym urządzeniem. Jakiego oprogramowania będziemy potrzebować? Jak je
wykorzystamy? Jakich problemów możemy się spodziewać i jak je rozwiążemy?
Raspberry Pi
Pierwsze kroki
Czego potrzebuję do instalacji?
Do pierwszego uruchomienia Raspberry Pi (RPi),
oprócz samego urządzenia, będziecie potrzebować
odpowiedniego zasilacza (microUSB, 5 V i 1,5 A),
karty SD, monitora z wejściem HDMI lub telewizora
z wejściem kompozytowym (plus odpowiednie kab-
le) oraz klawiatury USB (opcjonalnie myszki USB).
Do przygotowania karty SD niesygnowanej logo
Raspberry konieczny będzie dodatkowy komputer
wyposażony w czytnik kart SD. Opcjonalnie RPi po-
winien mieć też możliwość podłączenia do Internetu.
pamięci nieulotnej. Cały system operacyjny i system
plików umieszczony jest właśnie na karcie SD. Jej
obecność warunkuje start naszego minikomputera.
Wbudowany czytnik wymaga kart o rozmiarze SD.
Dla kart mini- albo microSD potrzebujemy odpo-
wiedniego adaptera.
Używajcie
kart sygnowanych logo Raspberry albo
zgodnych.
Lista przetestowanych kart znajduje się
na stronie
http://elinux.org/RPi_SD_cards.
Karty
sygnowane logo RPi mają już zainstalowany obraz
systemu i można ich używać bez dodatkowych zabie-
gów. Inne karty trzeba uprzednio zainicjować. Robi
się to poprzez skopiowanie na wyczyszczoną kartę
odpowiedniego zestawu plików (ok. 1.7 GB). Pliki
można nieodpłatnie ściągnąć ze strony
Słowo o kartach SD
Przed uruchomieniem RPi należy
odpowiednio przy-
gotować kartę SD.
RPi nie ma bowiem wewnętrznej
1. Płytka RPi – rozkład elementów
Poziom tekstu: średnio trudny
83
Bez obaw! To zrozumiałe dla nieelektroników
SZKOŁA
Na warsztacie
www.raspberrypi.org.
Znajdują się w dziale
Download. Na początek najlepiej wybrać opcję
Noobs. Warto obejrzeć samouczek znajdujący się pod
adresem
http://www.raspberrypi.org/help/noobs-se-
tup,
który wyjaśni wszelkie wątpliwości dotyczące
instalacji (materiał jest po angielsku).
Czytnik kart znajduje się na spodzie płytki. Kartę
wkłada się
stykami do góry.
Karta powinna siedzieć
w gnieździe głęboko i pewnie. W żadnym wypadku
nie należy wyciągać jej
podczas działania RPi. Przed
włożeniem karty
upewnijcie się, że RPi nie jest pod-
łączony do prądu
– podłączenie sygnalizuje palenie
się czerwonej diody PWR (koło gniazda USB). Przed
usunięciem karty zastopujcie Linuksa (polecenie
„sudo halt”) i wyłączcie RPi z zasilania, gdy dioda
ACT przestanie na dobre mrugać.
Niekontrolowane
wyciągnięcie karty może spowodować uszkodzenie
systemu plików lub samej karty.
W rezultacie RPi
w ogóle nie wystartuje lub uruchomi się w trybie do-
stępu lokalnego (o diagnostyce dowiecie się z dalszej
części tego tekstu).
W niektórych przypadkach można również
fizycznie zablokować zapis na karcie. Wszystkie
karty SD mają taką blokadę. Znajduje się na kra-
wędzi i jest najczęściej opisana jako
lock
(używam
takiej blokady np. przy prezentacjach, gdy jestem
pewien, że zapis na karcie nie jest wymagany).
Zablokowanie karty chroni ją przed
logicznym
uszkodzeniem systemu plików
w razie niekontrolo-
wanego wyłączenia.
Przede wszystkim zalecam jednak
regularne ro-
bienie kopii karty.
Sam używam do tego darmowego
programu Win32 Disk Imager. Program wczytuje całą
zawartość karty i zapisuje jej obraz w pliku *.img
na dysku komputera. Jeżeli chcecie odzyskać zawar-
tość takiej karty, po prostu wkładamy ją do czytnika
w komputerze i zapisujemy na niej wybrany obraz
(tracąc, niestety, dane zmienione od momentu stwo-
rzenia obrazu).
Poziom tekstu: średnio trudny
SZKOŁA
2. Czytnik kart SD znajduje się na spodzie płytki
Większość z tych opcji można ustawić póź-
niej, wywołując konfigurator poleceniem: „sudo
raspi-config”.
Gdy przejdziemy ten etap, na ekranie powinno
pokazać się
okienko logowania do interfejsu gra-
ficznego
(tylko w przypadku monitora podłączonego
przez złącze HDMI). Logujemy się jako użytkownik
„pi” z hasłem „raspberry”. Po chwili otworzy się
pulpit. Jestem pewien, że szybko poradzicie sobie
z nawigacją i zaczniecie odkrywać zasoby systemu.
Na początek proponuję
zlokalizować przeglądarkę
Midori
oraz
skrót do konsoli
(ang.
terminal).
Jeżeli
nie macie podłączonej myszki, wystarczy wcisnąć
CTRL-ALT-F1, żeby przejść to trybu terminala.
Podłączenie i pierwszy start
Podłączamy do RPi
monitor i klawiaturę,
wkłada-
my uprzednio przygotowaną
kartę SD,
a na koniec
podpinamy zasilanie.
Obserwujemy diody na RPi.
Po doprowadzeniu zasilania powinna zapalić się
czerwona dioda PWR sygnalizująca zasilanie. Po kil-
ku sekundach zielona dioda ACT będzie intensywnie
mrugać, sygnalizując
start systemu.
Aby zainstalo-
wać wybrany system operacyjny, postępujemy
zgod-
nie z instrukcjami na ekranie.
Na początek zalecam
opcję Raspbian. Gdy zakończy się instalacja systemu
(co może potrwać kilka minut), otworzy się aplikacja
konfiguratora RPi. Użyjcie tego konfiguratora, aby:
zagospodarować pozostałą przestrzeń karty
SD dla systemu: opcja Expand Filesystem;
ustawić region, strefę czasową i typ klawiatu-
ry: opcja Internationalisation Options;
ustawić bezpieczne taktowanie rdzenia: opcja
Overclock; ustaw None.
Podłączenie do sieci
RPi otworzy przed Wami więcej możliwości, gdy
włączycie go do domowej sieci
i dalej – do Internetu.
W praktyce ogranicza się to najczęściej do wpię-
cie kabla RJ45 z jednej strony do gniazda Ethernet
naszego RPi, a z drugiej do domowego routera. Resztę
załatwią automatyczne serwisy działające na obu
urządzeniach (np. serwer DHCP na routerze przydzie-
lający adresy). Nasz RPi będzie widziany jako kolejny
komputer w sieci. Opcjonalnie RPi można wyposa-
żyć w kartę WiFi wtykaną do gniazda USB. Wymaga
to dodatkowej konfiguracji – sposób ten pozostawiam
bardziej zaawansowanym użytkownikom.
Jeżeli wszystko jest w porządku, na płytce RPi za-
świeci się dioda FDX oraz 100, a dioda LNK zacznie
84
m.technik
- www.mt.com.pl
intensywnie migać, sygnalizując wymianę danych
po sieci. Podłączenie do Internetu możemy spraw-
dzić z poziomu konsoli RPi, np. wydając polecenie
„ping” (z odpowiednimi parametrami), albo z pozio-
mu interfejsu graficznego uruchamiając domyślną
przeglądarkę internetową Midori.
Praca zdalna?
Dostęp zdalny to podstawowy tryb pracy wykorzysty-
wany np. w wypadku nauki Linuksa czy programowa-
nia. Zamiast podłączać klawiaturę i monitor do RPi,
wykorzystujemy ulubionego laptopa, który poprzez od-
powiednie oprogramowanie
łączy się z RPi.
Fizycznie
pracujemy wtedy na laptopie, ale jest on jedynie „ter-
minalem”. Jego rola ogranicza się do wysyłania komend
na RPi i wyświetlania zwróconych przez niego rezul-
tatów. Jedną z podstawowych zalet takiej pracy jest
to, że na jednym
RPi może równocześnie pracować
wiele osób.
Często z tego korzystam – każdy z użyt-
kowników przychodzi z własnym laptopem i łączy się
zdalnie do jednego RPi. Nie potrzeba wtedy wielu RPi
– wystarczy jeden dla wszystkich. Oczywiście nic nie
stoi na przeszkodzie, żeby jeden użytkownik pracował
lokalnie przy monitorze i klawiaturze podłączonym
do RPi, a reszta łączyła się zdalnie.
Do pracy zdalnej na komputerze używa się naj-
częściej
darmowego programu Putty.
Wykorzystując
Putty, otwieramy połączenie SSH do RPi, podając jej
adres IP (mówimy wtedy, że Putty jest klientem SSH).
Standardowe konto RPi to wspomniane „pi”, a hasło
„raspberry”. Serwer SSH jest domyślnie włączony
na RPi. Jeżeli tak nie jest, aby go uruchomić, moż-
na użyć konifguratora („sudo raspi-config”, opcja
Advanced Options/SSH).
Kluczowa kwestia to znajomość
adresu IP nasze-
go RPi.
Adres IP najczęściej zapisuje się jako cztery
liczby z zakresu 0 do 255, oddzielone kropkami, np.
„192.168.1.68”. Każde urządzenie w sieci musi mieć
taki adres. Dzięki niemu (i kilku innym właściwościom)
router może identyfikować urządzenia i zarządzać
ruchem do i od nich. Problem polega na tym, że naj-
częściej router domowej sieci dynamicznie przydziela
adresy (z użyciem serwera DHCP). RPi domyślnie
oczekuje więc, że taki adres dostanie (nie „wymyśla”
sobie adresu sama). W takim układzie adres IP naszego
RPi może się za każdym startem różnić. Oczywiście
niektóre routery będą same próbować przypisać
danemu urządzeniu zawsze ten sam adres, ale nie jest
to żadną regułą.
Są dwa sposoby rozwiązania tego problemu:
ustawienie dla RPi stałego adresu i ograniczenie
puli adresów dostępnych dla serwera DHCP
na routerze;
ustawienie statycznego adresu dla RPi na ser-
werze DHCP
.
W pierwszym przypadku odpowiednio modyfikuje-
my na RPi plik „/etc/interfaces”, ustawiając stały adres
IP Konieczne jest również zmodyfikowanie ustawień
.
serwera DHCP (znajdującego się na routerze) – tak,
żeby żadnemu z urządzeń nie przydzielił on adresu
wybranego przez nas dla RPi. Można to zrobić poprzez
np. ograniczenie puli adresów dostępnych dla serwera
DHCP Dla RPi ustawiamy wtedy adres spoza tej puli.
.
Zabieg ten jest konieczny. Inaczej w jednej sieci mogą
pojawić się dwa urządzenia o tym samym adresie: nasz
RPi (o adresie wybranym przez nas) i drugie – o tym
samym adresie przyznanym automatycznie przez
serwer DHCP routera. Taki konflikt sprawi, że żadne
z urządzeń nie będzie działało poprawnie.
Zalecam inne podejście: modyfikację reguł serwera
DHCP tak, żeby naszemu RPi zawsze przydzielał on ten
sam adres. Sposobów na konfigurację serwera DHCP
jest tyle co routerów. Pozostaje przeczytanie odpowied-
niego rozdziału w instrukcji obsługi. Podpowiem, jak
Tabela 1. Podstawowe komendy Linuksa dla RPi
Komenda
Rezultat
sudo halt
zatrzymuje RPi poprzez kontrolowane zamknięcie
systemu
sudo reboot lub
restartuje RPi
sudo shutdown-r now
sudo raspi-config
wywołuje konfigurator systemowy
nano
otwiera edytor plików
ifconfig
konfiguracja interfejsów sieciowych
ping pl.wikipedia.org sprawdza, czy można połączyć się z danym
serwerem; tu – z polską Wikipedią. Można używać
np. do diagnostyki połączenia z Internetem
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install *
sudo apt-get remove *
startx
uaktualnienie bazy danych zainstalowanych
pakietów (aplikacji, bibliotek)
aktualizacja pakietów
instalacja aplikacji (pakietów); zamiast „*” użyj
nazwy aplikacji
usuwanie aplikacji (pakietów)
wystartuj interfejs graficzny
Uwagi
„sudo” umożliwia wykonanie komendy podanej
po prawej stronie z prawami administratora
np. sudo nano /etc/network/interfaces
konfiguruj w pliku /etc/network/interfaces
uwaga: ze względów bezpieczeństwa, niektóre
serwery mają zablokowaną obsługę „ping”;
polecenie „ping” zwróci wtedy błąd, co nie oznacza
wcale niemożności nawiązania połączenia
wykonuj regularnie: najpierw Update, potem
Upgrade
85
Na warsztacie
można to zrobić dla dwóch popularnych urządzeń
dostarczanych przez Orange i Netię.
Dla routera LiveBox 2.0 Orange:
podłącz RPi do rutera i upewnij się, że dioda
LNK się świeci;
wejdź na stronę konfiguracyjną routera, podając
adres
http://192.168.1.1
(domyślny, może być
inny);
w prawym górnym rogu wpisz hasło admini-
stratora i kliknij opcję Zaloguj;
wybierz górną poziomą zakładkę Zaawansowane
i poniżej zakładkę DHCP;
na dole strony znajduje się ramka „Statyczny
adres IP”;
w pierwszym wierszu, w kolumnie Nazwa, wy-
bierz swoje urządzenie i kliknij przycisk Dodaj,
znajdujący się w kolumnie ostatniej.
Dla routera Netia Spot:
podłącz RPi do routera i upewnij się, że dioda
LNK się świeci;
wejdź na stronę routera, podając adres
http://192.168.1.254
(domyślny, może być inny);
zaloguj się na konto administratora, podając
jako konto „admin” i odpowiednie hasło;
wybierz zakładkę Usługi, a potem – Dystrybucja
adresów IP;
kliknij przycisk „Lista połączeń”;
znajdź na liście swoje RPi , a w ostatniej
kolumnie, Działanie, kliknij ikonkę z ołówkiem
(Edytuj);
zaznacz opcję „Typ statycznej dzierżawy”, zapa-
miętując przyporządkowany adres.
Pozostaje teraz uruchomić na komputerze program
Putty, w polu „Host name” podać zapamiętany adres
IP w polu „Connection type” zaznaczyć SSH i kliknąć
,
Open. Powinniśmy zobaczyć okienko linii komend,
z zachętą do wpisania loginu „Login as:”. Domyślne
konto to „pi”, a hasło „raspberry”.
SZKOŁA
Wstało...
Poziom tekstu: średnio trudny
Gdy wszystko działa, warto pamiętać o regularnym
uzupełnianiu systemu
o poprawki i najnowsze wersje
bibliotek. Komendy „sudo apt-get update” i „sudo
apt-get upgrade” powinny stać się Waszym nawykiem
– podobnie jak wspomniane wcześniej kopie obrazu
systemów. Praca zdalna będzie głównym sposobem
korzystania z RPi – ale musimy mieć możliwość
wymiany plików z innymi komputerami. W tym celu
należy zainstalować serwer FTP (np. vsftpd). Bardziej
zaawansowani użytkownicy mogą pomyśleć o serwe-
rze Samba. Jednym z przydatnych programów do za-
rządzania plikami jest Midnight Comander (instalacja:
„sudo apt-get install mc”).
Wreszcie przyszedł czas, żeby
pomyśleć o instalacji
Xming.
Dzięki temu oprogramowaniu można zdalnie
uzyskać dostęp do interfejsu graficznego. Zobaczcie
przykład instalacji, np.
http://straightrunning.com/
XmingNotes/pixming.php.
Inna możliwość to instala-
cja zdalnego pulpitu typu VNC (zob. tightVNC, [2]
*
).
...i padło!
Jak wspominaliśmy, RPi nie ma pamięci nieulotnej.
System operacyjny i wszystkie pliki zapisywa-
ne są na karcie SD. Zaletami takiego rozwiązania
są prostota
i niska cena.
Wada to kapryśność
kart SD.
Zdarzają się błędy w zapisie, zwłaszcza w przypadku
wyjęcia czy przypadkowego rozłączenia karty podczas
działania RPi. Często kończy się to tym, że RPi nie
uruchamia się lub uruchamia bez możliwości dostępu
w trybie zdalnym. Wtedy konieczne jest serwisowanie
z użyciem monitora i klawiatury podłączonych bezpo-
średnio do RPi (stąd wcześniejsze uwagi o konieczno-
ści zapewnienia sobie takiej możliwości).
Moje dotychczasowe doświadczenia pokazują,
że stosunkowo najwięcej kłopotów sprawia właśnie
karta SD. Zdarzyło mi się, że RPi przestał odpowia-
dać. Na dzień przed prezentacją! Objawy typowe dla
Fundacja Raspberry Pi
(
www.raspberrypi.org)
przedstawiła
odświeżoną wersję modelu B: model
B+. Najbardziej widoczne są dwa
dodatkowe porty USB. Nowy moduł
zasilania ma podnieść ich wydajność
prądową nawet do 1,2A. W miejsce
plastykowego, pełnowymiarowego
SD wstawiono metalowe gniazdo
microSD. Złącze GPIO urosło z 26
do 40 pinów. 9 pinów to dodatkowe
wejścia/wyjścia uniwersalne. Dwa
z dodatkowych pinów to szyna I
2
C
zarezerwowana dla pamięci EEPROM,
używanej do przechowywania
konfiguracji portów lub sterowników
linuksowych. Nowa płytka ma także
4 otwory montażowe znacznie
sensowniej rozmieszczone niż 2
w wersji B. Gniazdo analogowe
audio zintegrowano w nowe,
4-stykowe gniazdo kompozytowe.
Wpięcie do niego 3,5 mm jacka
audio umożliwi słuchanie muzyki
poprzez słuchawki czy zewnętrzne
głośniki.
Testy i dokładniejszy opis modelu
B+ wkrótce na łamach Młodego
Technika.
86
m.technik
-
RPi
3. Diody na płytce
www.mt.com.pl
Tabela 2. Podstawowe aplikacje
Narzędzie
Zastosowanie
Noobs
pakiet/instalator systemu operacyjnego dla
Raspberry Pi
Putty (Windows)
Klient SSH, telnetu
Win 32 Disk Imager
nagrywanie/wczytywanie obrazu karty SD;
kopie zapasowe
vsftpd
serwer FTP
Midnight Commander zarządzanie plikami
Xming
zdalny klient graficzny
tightVNC
zdalny pulpit
karty to: dioda PWR się świeci, a system się nie ładuje
(nie mruga dioda ACT). We wspomnianym wypadku
problemem okazał się adapter karty. Używałem karty
microSD w adapterze do rozmiaru SD. Po wymianie
adaptera RPi wystartował bez problemu.
W razie problemów diagnostykę zaczynamy od ob-
serwacji stanu diód systemowych.
RPi ma na płycie
pięć diód:
ACT:
zielona, sygnalizuje operacje na karcie, powinna
migać nieregularnie;
PWR:
czerwona, sygnalizuje stan zasilania, powinna
świecić ciągle;
FDX:
zielona, symbolizuje połączenie sieciowe typu
„pełny dupleks” (ang.
full duplex),
informacje przekazy-
wane są w obydwu kierunkach jednocześnie, powinna
świecić się ciągle;
LNK:
zielona, sygnalizuje komunikację w sieci, powin-
na mrugać nieregularnie;
100:
żółta, sygnalizuje tryb pracy sieci 100 Mb
na sekundę.
Podstawowe objawy niewłaściwego działania to:
czerwona dioda PWR nie świeci się lub pul-
suje:
problem związany z zasilaniem. Najpierw
spróbujcie odłączyć wszystkie dodatkowe
urządzenia podpięte do USB (również huby
USB) i wystartować RPi jeszcze raz. Upewnijcie
się, że używacie odpowiedniego zasilacza,
który działa poprawnie; ewentualnie spróbujcie
wymienić zasilacz;
w chwilę po włączeniu zasilania (kilka sekund)
powinna zacząć mrugać zielona dioda ACT.
Jeżeli tak się nie stanie, RPi nie mógł znaleźć
systemu na karcie;
regularnie mrugająca zielona dioda ACT
(np.
szybko dwa, trzy, cztery razy) oznacza inne
problemy z obrazem systemu, np. uszkodzenie
lub brak plików „loader.bin” lub „start.elf” (zob.
[1]
*
);
po podłączeniu monitora przy starcie
nie znika
kolorowy ekran:
uszkodzony plik „kernel.img”
(zob. [1]
*
).
W większości powyższych wypadków konieczne bę-
dzie odświeżenie obrazu systemu na karcie SD. Dlatego
jeszcze raz namawiam Was na robienie
regularnych
kopii karty.
URL do pobrania/instalacja
www.raspberrypi.org/downloads
http://www.putty.org/
http://sourceforge.net/projects/
win32diskimager/
sudo apt-get install vsftpd
Uwagi
RPi
terminal (PC)
terminal
RPi
sudo apt-get install mc
RPi
http://sourceforge.net/projects/xming/ terminal i RPi
http://www.tightvnc.com/
terminal i RPi
Osobną kategorią są problemy, które mogą wyniknąć
podczas doświadczeń z różnymi elementami elek-
tronicznymi podłączanymi do wyjść GPIO. RPi jest
wrażliwy na wszelkie zwarcia (podobnie zresztą jak
większość kontrolerów). W ekstremalnym wypadku
mogą one doprowadzić do spalenia płytki. Należy
zwrócić tu szczególną uwagę na:
zwarcie pinów zasilania 3,3 V (fizyczne piny
1 i 17) i 5 V (fizyczne piny 2 i 4) lub do pinów
masy (GND, piny: 6, 14, 20 i 9, 25);
podanie napięcia na piny skonfigurowane jako
wyjściowe;
użycie układów o logice 5V.
Ostatni przypadek jest stosunkowo częsty, zwłaszcza
gdy do doświadczeń z RPi wykorzystujemy materia-
ły szkoleniowe opracowane dla Arduino. Arduino
posługuje się logiką 5 V a RPi logiką 3,3 V. Moduły
o logice 5 V wymagają zasilania 5 V. RPi ma wyprowa-
dzenia 5 V (fizyczne piny 2 i 4). Problem polega na tym,
że odpowiedź takich modułów najczęściej jest również
na poziomie 5 V. Wprowadzenie takiego wyjścia na pin
RPi (oczekujący maksymalnie 3,3 V)
może skończyć
się spaleniem RPi.
Za przykład niech posłuży moduł
czujnika odległości HC-SR04. Nie wyklucza to wcale
RPi z używania takich modułów. Po prostu nie można
podłączyć ich wyjścia logicznego bezpośrednio do RPi.
Trzeba zastosować specjalne układy konwertujące
poziomy napięcia. Z reguły wystarczy jednak zwykły
dzielnik napięcia (zwróćcie tu uwagę na możliwość
wystąpienia wewnętrznych rezystorów).
Podsumowanie
Przedstawiłem podstawowe wyzwania, z którymi
zetkniecie się w codziennej pracy z Raspberry Pi.
Niektóre z opisanych zagadnień wymagają dodatkowej
wiedzy z zakresu sieci komputerowych. W Internecie
znajdziecie jednak wiele poradników, które krok
po kroku wyjaśnią, jak rozwiązać każdy problem.
A już za miesiąc – kolejny stopień wtajemniczenia
w Raspberry Pi.
Arkadiusz Merta
*
Źródła
[1]
http://goo.gl/2Igp0C
[2]
http://rembiejewski.pl/blog/
Więcej o Raspberry Pi dowiesz się z miesięcznika
Elektronika Praktyczna.
na stronie
http://goo.gl/WSU4H6ľ
Wydanie bieżące i numery archiwalne można przejrzeć i kupić na www.ulubionykiosk.pl
87
Zgłoś jeśli naruszono regulamin