Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00375 009604 11232641 na godz. na dobę w sumie
Wprowadzenie do Raspberry Pi - ebook/pdf
Wprowadzenie do Raspberry Pi - ebook/pdf
Autor: Liczba stron:
Wydawca: Promise Język publikacji: polski
ISBN: 978-83-7541-216-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych
Porównaj ceny (książka, ebook, audiobook).

Co możemy robić z Raspberry Pi, komputerem o wielkości karty kredytowej kosztującym zaledwie 35 dolarów? Wszystko! Jeżeli uczysz się programować lub zamierzasz realizować nowe projekty elektroniczne, przeczytaj ten praktyczny przewodnik, aby zobaczyć, jak wartościowa może być ta mała wszechstronna platforma.

Ta książka pokazuje krok po kroku różnorodne możliwości związane z zabawą i edukacją. Korzystaj z wielu wstępnie załadowanych języków programowania. Używaj Raspberry Pi z Arduino. Twórz projekty związane z Internetem. Baw się multimediami. Z Raspberry Pi możesz robić to wszystko i jeszcze więcej.

» Zapoznaj się z funkcjami sprzętowymi płytki Pi.
» Naucz się Linuksa w wystarczającym stopniu, aby korzystać z tego systemu operacyjnego.
» Poznaj podstawy języków Python i Scratch — i zacznij programować.
» Rysuj grafiki, odtwarzaj dźwięki i obsługuj zdarzenia myszy dzięki bibliotece Pygame.
» Użyj złączy wejściowych i wyjściowych Pi, aby obsługiwać sprzęt.
» Odkryj, jak platformy Arduino i Raspberry Pi uzupełniają się wzajemnie.
» Integruj kamery internetowe USB i inne urządzenia peryferyjne w swoich projektach.
» Utwórz własny serwer internetowy w języku Python na komputerze Pi.

Matt Richardson jest kreatywnym technologiem, producentem wideo i redaktorem wspierającym magazynu MAKE i Makezine.com.
Shawn Wallace jest redaktorem w wydawnictwie O’Reilly Media.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Matt Richardson Shawn Wallace Wprowadzenie do Raspberry Pi Przekład: Maria Chaniewska APN Promise 2013 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wprowadzenie do Raspberry Pi Polish edition copyright © 2013 APN PROMISE SA Authorized Polish translation of English edition of Getting Started with Raspberry Pi, ISBN: 978-1-449-34421-4 Copyright © 2013 Matt Richardson and Shawn Wallace. All rights reserved. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. APN PROMISE SA, biuro: ul. Kryniczna 2, 03-934 Warszawa tel. +48 22 35 51 600, fax +48 22 35 51 699 e-mail: mspress@promise.pl Wszystkie prawa zastrzeżone. Żadna część niniejszej książki nie może być powielana ani rozpowszechniana w jakiejkolwiek formie i w jakikolwiek sposób (elektroniczny, mechaniczny), włącznie z fotokopiowaniem, nagrywaniem na taśmy lub przy użyciu innych systemów bez pisemnej zgody wydawcy. Wszystkie wymienione w książce nazwy mogą być znakami towarowymi lub zarejestrowanymi znakami towarowymi ich odnośnych właścicieli i zostały użyte tylko w celach identyfikacyjnych. APN PROMISE SA dołożyła wszelkich starań, aby zapewnić najwyższą jakość tej publikacji. Jednakże nikomu nie udziela się rękojmi ani gwarancji. APN PROMISE SA nie jest w żadnym wypadku odpowiedzialna za jakiekolwiek szkody będące następstwem korzystania z informacji zawartych w niniejszej publikacji, nawet jeśli APN PROMISE została powiadomiona o możliwości wystąpienia szkód. ISBN: 978-83-7541-132-4 Projekt graficzny okładki: Randy Comer Ilustracje: Marc de Vinc Przekład: Maria Chaniewska Korekta: Ewa Swędrowska Skład i łamanie: MAWart Marek Włodarz ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści Przedmowa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Co możemy z tym robić? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Raspberry Pi dla majsterkowiczów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Linux i Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Co inni z tym zrobili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Konwencje zastosowane w tej książce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi Korzystanie z przykładów kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Jak się z nami skontaktować . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Podziękowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii 1 Uruchamianie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Przewodnik po płytkach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Właściwe urządzenia peryferyjne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Obudowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Wybór dystrybucji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Karty Flash SD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Rozruch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Konfi gurowanie komputera Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Wyłączanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Rozwiązywanie problemów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2 Podstawy Linuksa na Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Korzystanie z wiersza poleceń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Pliki i system plików . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Więcej poleceń Linuksa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Procesy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Sudo i uprawnienia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Sieć . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 /etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Określanie daty i czasu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Instalacja nowego oprogramowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== iii 3 Język Python na komputerze Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Witaj Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Odrobinę więcej o języku Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Obiekty i moduły . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Jeszcze więcej modułów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Rozwiązywanie problemów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4 Animacje i multimedia w języku Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Witaj Pygame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Obiekty Surface biblioteki Pygame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Rysowanie na obiektach klasy Surface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Obsługa zdarzeń i wejścia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Sprite’y. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Odtwarzanie dźwięku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Odtwarzanie wideo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5 Scratch na komputerze Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Witaj Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Scena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Jeszcze dwie informacje na temat sprite’ów. . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Większy przykład: gra Przybysze z kosmosu . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Scratch i świat rzeczywisty. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Udostępnianie programów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6 Platformy Arduino i Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Instalacja Arduino w systemie Raspbian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Znajdowanie portu szeregowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Komunikacja szeregowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7 Podstawowe wejście i wyjście . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Używanie wejść i wyjść . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Wyjście cyfrowe: świecenie diody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Wejście cyfrowe: odczytywanie stanu przycisku . . . . . . . . . . . . . . . . . . . 94 Projekt: lampa włączana według harmonogramu cron. . . . . . . . . . . . . . . . . 97 Pisanie skryptów poleceń. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Podłączanie lampy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 iv Wprowadzenie do Raspberry Pi ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Harmonogram poleceń w programie cron . . . . . . . . . . . . . . . . . . . . . . .100 Więcej na temat programu cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 8 Programowanie wejść i wyjść w języku Python . . . . . . . . . . . . . . . . . . . . . .103 Instalowanie i testowanie GPIO w języku Python . . . . . . . . . . . . . . . . . . . . .103 Miganie diody. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 Czytanie przycisku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 Projekt: prosty odtwarzacz dźwięków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 9 Kamery internetowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 Testowanie kamer internetowych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116 Instalowanie i testowanie biblioteki SimpleCV. . . . . . . . . . . . . . . . . . . . . . . .117 Wyświetlanie obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 Modyfi kowanie obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 Dostęp do kamery internetowej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122 Rozpoznawanie twarzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 Projekt: kabina fotografi czna z Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . .125 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 10 Python i Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 Pobieranie danych z serwera www . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 Pobieranie prognozy pogody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131 Komputer Pi jako serwer www. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136 Podstawy środowiska Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136 Łączenie sieci WWW ze światem rzeczywistym. . . . . . . . . . . . . . . . . . . . . . .140 Projekt: lampa internetowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142 Dodatkowe informacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 A Zapisywanie obrazu karty SD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 Zapisywanie karty SD z systemu OS X. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 Zapisywanie karty SD z systemu Windows . . . . . . . . . . . . . . . . . . . . . . . . . . .148 Zapisywanie karty SD z systemu Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 B Przybysze z kosmosu – pełna wersja gry . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 C Wejście analogowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 Konwersja analogowo-cyfrowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== v ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Przedmowa Łatwo zrozumieć, dlaczego początkowo wiele osób było sceptycznie nastawionych do Raspberry Pi. Komputer za 35 dolarów o wielkości karty kredytowej wydawał się sennym marzeniem. Dlatego, kiedy wszedł na rynek, wywołał istne szaleństwo. Całe miesiące popyt przewyższał podaż, a listy oczekujących na te mini-mi- krokomputery były bardzo długie. Co poza ceną płytki Raspberry Pi sprawi- ło, że cierpliwość głodnych sprzętu mas została wystawiona na próbę? Zanim poznamy dogłębnie wszystkie wspaniałe cechy komputera Raspberry Pi, po- mówmy o jego grupie docelowej. Eben Upton i jego współpracownicy z Uniwersytetu Cambridge zauważy- li, że dzisiejsi kandydaci na studia informatyczne nie mają umiejętności kan- dydatów z lat 1990. Przypisali to – wraz z innymi czynnikami – „wzrostowi liczby domowych komputerów PC i konsoli do gier, które zastąpiły kompu- tery marek Amiga, BBC Micro, Spectrum ZX i Commodore 64, na których wcześniejsze pokolenia uczyły się programować”. Komputer stał się ważny dla wszystkich osób w gospodarstwie domowym. Dlatego młodzi ludzie byli powstrzymywani przed majstrowaniem przy nim z obawy przed ewentualnym uszkodzeniem tak ważnego dla rodziny narzędzia. Jednak ostatnio proceso- ry telefonów komórkowych i tabletów potaniały, a ich moc się zwiększyła. Utorowało to drogę Raspberry Pi do świata niezwykle tanich, ale użytecz- nych płyt głównych komputerów. Jak w wywiadzie dla BBC News powiedział twórca Linuksa, Linus Torvalds, Raspberry Pi sprawia, że akceptowalne jest „pozwolenie sobie na awarię”. Co możemy z tym robić? Wspaniałą sprawą dotyczącą komputera Raspberry Pi jest to, że nie ma jedne- go sposobu jego używania. Bez względu na to, czy chcemy po prostu oglądać fi lmy i korzystać z Internetu, czy chcemy programować, uczyć się i majsterko- wać przy użyciu tej płytki, Raspberry Pi jest elastyczną platformą do zabawy, użytkowania i  eksperymentowania. Oto zaledwie kilka różnych sposobów do używania komputera Raspberry Pi: ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== vii Ogólne używanie komputera. Ważne jest, aby pamiętać, że Raspberry  Pi to komputer i możemy faktycznie używać go jako takiego. Po uruchomie- niu go zgodnie z opisem w rozdziale 1 możemy wybrać, aby zalogować się do grafi cznego środowiska pulpitu z przeglądarką internetową, tak jak w przypadku większości nowoczesnych komputerów. Następnie możemy zainstalować różnorodne darmowe oprogramowanie, na przykład wydajny pakiet LibreOffi ce (http://www.libreoffi ce.org/) do pracy z dokumentami i arkuszami kalkulacyjnymi bez konieczności połączenia z Internetem. Nauka programowania. Ponieważ platforma Raspberry Pi ma być narzędziem edukacyjnym zachęcającym dzieci do eksperymentowania z komputerami, zawiera wstępnie załadowane interpretery i kompilatory wielu różnych ję- zyków programowania. Dla początkujących jest tam Scratch, czyli stworzo- ny w MIT grafi czny język programowania, który opisaliśmy w rozdziale 5. Jeżeli chcemy zagłębić się w pisanie kodu, dobrze będzie zacząć od języka Python, którego podstawy opisaliśmy w rozdziale 3. Nie jesteśmy jednak ograniczeni tylko do języków Scratch i Python. Możemy programować na komputerze Raspberry Pi również w wielu innych językach, takich jak C, Ruby, Java i Perl. Platforma projektowa. Raspberry Pi różni się od typowego komputera nie tyl- ko ceną i rozmiarem, ale także zdolnością integrowania z projektami elek- tronicznymi. Począwszy od rozdziału 7 pokażemy, jak używać Raspberry Pi do kontrolowania diod LED i urządzeń na prąd zmienny oraz odczytywać stan przycisków i przełączników. Raspberry Pi dla majsterkowiczów My, majsterkowicze, mamy wiele możliwości wyboru, jeżeli chodzi o plat- formy, na których chcemy budować projekty technologiczne. Ostatnio powszechnie wybierano płytki projektowe z  mikrokontrolerem, takie jak Arduino, ponieważ łatwo było na nich pracować. Ale platformy system na układzie scalonym, takie jak Raspberry Pi, znacznie różnią się od tradycyj- nych mikrokontrolerów. Faktycznie płytka Raspberry Pi ma więcej wspólnego z komputerem niż z Arduino. Nie oznacza to, że komputer Raspberry Pi jest lepszy od tradycyjnego mi- krokontrolera. Jest po prostu inny. Jeżeli na przykład chcemy wykonać pod- stawowy termostat, prawdopodobniej lepiej będzie dla uproszczenia użyć Arduino Uno lub podobnego mikrokontrolera. Jeżeli jednak chcemy mieć możliwość zdalnego dostępu do termostatu przez Internet, aby zmieniać jego ustawienia i pobierać pliki dziennika temperatur, powinniśmy rozważyć uży- cie Raspberry Pi. viii Wprowadzenie do Raspberry Pi ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wybór między jednym a drugim zależy od wymagań projektu, a tak na- prawdę nie musimy koniecznie wybierać między nimi. W rozdziale 6 poka- żemy, jak używać Raspberry Pi do programowania Arduino i jak umożliwić komunikację między tymi platformami. Podczas lektury tej książki lepiej zrozumiemy, jakie są mocne strony płytki Raspberry Pi oraz dlaczego może stać się dodatkowym przydatnym narzę- dziem w skrzynce majsterkowicza. Ale chwilę… Jest coś jeszcze! Tak wiele możemy zrobić z Raspberry Pi, że nie mogliśmy zmieścić wszystkiego w  jednej książce. Oto kilka innych sposobów używania tego komputera: Centrum multimedialne. Ponieważ Raspberry  Pi ma wyjścia wideo HDMI i  analogowe, możemy łatwo połączyć go z  telewizorem. Ma także wystarczającą moc procesora, aby odtwarzać fi lmy peł- noekranowe w  wysokiej rozdzielczości. W  celu wykorzystania tych możliwości twórcy darmowego odtwarzacza multimedialne- go open source o  nazwie XBMC (http://xbmc.org/) przygotowali także wersję na platformę Raspberry Pi. Odtwarzacz XBMC może odtwarzać wiele formatów multimedialnych, a jego interfejs składa się z dużych przycisków i tekstu, więc łatwo może być sterowany z kanapy. Odtwarzacz XBMC sprawia, że możemy użyć komputera Raspberry Pi jako składnika całkowicie dostosowywalnego domo- wego centrum rozrywki. Programowanie sprzętowe. Większość osób piszących programy kom- puterowe tworzy kod działający w systemie operacyjnym, takim jak Windows, Mac OS lub – w przypadku Raspberry Pi – Linux. A gdy- byśmy tak mogli pisać kod, który działa bezpośrednio na proceso- rze bez potrzeby korzystania z systemu operacyjnego? Moglibyśmy nawet napisać własny system operacyjny od podstaw, jeżeli mieli- byśmy na to ochotę. Wydział Computer Laboratory Uniwersytetu Cambridge opublikował darmowy kurs online (http://www.cl.cam. ac.uk/fr eshers/raspberrypi/tutorials/os/), który przeprowadza przez proces pisania własnego systemu operacyjnego przy użyciu kodu asemblera. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ix Linux i Raspberry Pi Typowy komputer działa pod kontrolą systemu operacyjnego, takiego jak Windows, OS X lub Linux. Jest to program, który uruchamia się, gdy włącza- my komputer, i pozwala aplikacjom na dostęp do funkcji sprzętowych kom- putera. Jeżeli na przykład piszemy aplikację korzystającą z Internetu, możemy użyć do tego funkcji systemu operacyjnego. Nie potrzebujemy rozumieć ani pisać kodu dla wszystkich różnych typów sprzętu Ethernet lub WiFi. Podobnie jak dowolny inny komputer, Raspberry Pi używa także systemu operacyjnego, a  „seryjnym” systemem operacyjnym jest odmiana Linuksa o nazwie Raspbian. Linux wspaniale pasuje do Raspberry Pi, ponieważ jest darmowy i open source. Z jednej strony pomaga zachować niską cenę platfor- my, a z drugiej czyni ją bardziej programowalną. Ponadto nie jesteśmy ogra- niczeni tylko do Raspbiana, ponieważ jest wiele różnych odmian, czyli dystry- bucji, systemu Linux, które możemy załadować do komputera Raspberry Pi. Jest nawet dostępnych kilka systemów operacyjnych innych niż Linux. W tej książce będziemy używać standardowej dystrybucji o nazwie Raspbian, któ- ra jest dostępna ze strony pobierania Raspberry Pi (http://www.raspberrypi. org/downloads). Brak znajomości Linuksa nie jest przeszkodą, ponieważ w  rozdziale 2 przedstawimy podstawy potrzebne do korzystania z tego systemu. Co inni z tym zrobili Kiedy mamy dostęp do ekscytującej nowej technologii, trudno może być nam zdecydować, co z nią zrobić. Osoby mające wątpliwości mogą czerpać inspira- cję z wielu interesujących i kreatywnych projektów na platformę Raspberry Pi. Jako redaktorzy MAKE widzieliśmy wiele fantastycznych rozwiązań wykorzy- stujących komputer Raspberry Pi i chcemy podzielić się niektórymi z nich. Stolik kawowy do  gier (http://www.instructables.com/id/Coff ee-Table-Pi/) . Użytkownik witryny Instructables o nazwie grahamgelding załadował pod- ręcznik krok po kroku, jak przy użyciu płytki Raspberry Pi zrobić stolik kawowy, który zastępuje klasyczny emulator gier z automatów. W celu uru- chomiania gier na komputerze Pi użył emulatora MAME (Multiple Arcade Machine Emulator), darmowego projektu oprogramowania, który pozwala uruchamiać klasyczne gry z automatów na nowoczesnych komputerach. Wewnątrz samego stolika zamontował 24-calowy ekran LCD podłączony do płytki Raspiberry Pi złączem HDMI oraz klasyczne przyciski z auto- matu do gier i joystick podłączone do złączy GPIO komputera Pi i służące jako wejście. x Wprowadzenie do Raspberry Pi ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Odtwarzacz RasPod (https://github.com/lionaneesh/RasPod). Aneesh Dogra, nasto- latek z Indii, był jednym z uczestników wydarzenia Summer Coding Contest zorganizowanego przez Raspberry Pi Foundation w roku 2012. Utworzył RasPod, czyli bazujący na komputerze Raspberry Pi i sterowany interneto- wo odtwarzacz audio MP3. Napisał go w języku Python przy zastosowaniu środowiska internetowego o  nazwie Tornado. Odtwarzacz pozwala zdal- nie logować się do Raspberry Pi, aby włączyć i wyłączyć muzykę, zmienić głośność, wybrać utwory i sporządzić listy odtwarzania. Muzyka wychodzi ze złącza audio komputera Raspberry Pi, więc można słuchać jej za pomocą pary głośników komputerowych ze wzmacniaczem lub systemu stereo. Superkomputer Raspberry Pi (http://www.southampton.ac.uk/mediacentre/featu- res/raspberry_pi_supercomputer.shtml). Wiele superkomputerów jest zbu- dowanych jako klastry standardowych komputerów połączonych ze sobą. Wykonywane na nich zadania obliczeniowe są rozdzielane między wszyst- kie różne procesory. Grupa inżynierów informatyków z  Uniwersytetu Southampton w Wielkiej Brytanii połączyła 64 komputery Raspberry Pi, aby utworzyć niedrogi superkomputer. Chociaż jego moc obliczeniowa jest daleka od mocy obliczeniowej najsilniejszych dzisiejszych superkompute- rów, demonstruje zasady tworzenia takich systemów. Co najlepsze, stelaż użyty do utrzymania tych wszystkich płytek Raspberry Pi został zbudowa- ny z klocków Lego przez 6-letniego syna kierownika zespołu. Jeśli zrobicie coś interesującego z  Raspberry  Pi, chętnie o  tym usłyszymy. Możecie wysyłać swoje projekty do redakcji MAKE przez nasz formularz zgło- szeniowy w Makezine.com (http://blog.makezine.com/contribute/). Konwencje zastosowane w tej książce W tej książce użyliśmy następujących konwencji typografi cznych: Kursywa. Wskazuje nowe terminy, adresy URL i e-mail oraz nazwy i rozsze- rzenia plików. Czcionka stałopozycyjna. Jest używana do listingów programów, a także we- wnątrz akapitów, aby odwołać się do elementów programu, takich jak na- zwy zmiennych lub funkcji, bazy danych, typy danych, zmienne środowi- skowe, instrukcje i słowa kluczowe. Stała szerokość i pogrubienie. Pokazuje polecenia lub inny tekst, który po- winien być wpisany przez użytkownika dokładnie tak. Stała szerokość i kursywa. Pokazuje tekst, który powinien być zastąpiony przez wartości podane przez użytkownika lub wynikające z kontekstu. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xi Ta ikona oznacza wskazówkę, sugestię lub ogólną uwagę. Ta ikona oznacza ostrzeżenie lub przestrogę. Korzystanie z przykładów kodu Ta książka ma za zadanie pomóc Czytelnikom w zrealizowaniu swoich po- mysłów. W ogólności można używać kodu z tej książki w swoich programach i dokumentacji. Nie potrzeba kontaktować się z nami w celu uzyskania po- zwolenia, o ile nie reprodukuje się znacznej części kodu. Na przykład pisa- nie programu używającego wielu fragmentów kodu z tej książki nie wymaga pozwolenia. Sprzedaż lub dystrybucja płyty CD-ROM z przykładami z ksią- żek wydawnictwa O’Reilly wymaga pozwolenia. Odpowiadanie na pytanie zawierające cytat z tej książki i fragmenty kodu przykładowego nie wymaga pozwolenia. Umieszczenie znacznej ilości kodów przykładowych z tej książki w dokumentacji swojego produktu wymaga pozwolenia. Wysoko cenimy odwołania bibliografi czne, ale ich nie wymagamy. Odwołanie zwykle obejmuje tytuł, autora, wydawcę i  ISBN. Na przykład: „Wprowadzenie do Raspberry Pi, Matt Richardson i Shawn Wallace (O’Reilly). Copyright 2013, 978-1-4493-4421-4.” W razie poczucia, że użycie przykładów kodu przekracza zasady uczciwo- ści oraz niniejsze pozwolenie, prosimy o kontakt z nami pod adresem: permissions@oreilly.com. Jak się z nami skontaktować Komentarze i pytania dotyczące tej książki prosimy adresować do wydawcy: MAKE 1005 Gravenstein Highway North Sebastopol, CA 95472 800-998-9938 (w USA i Kanadzie) 707-829-0515 (międzynarodowo lub lokalnie) 707-829-0104 (fax) xii Wprowadzenie do Raspberry Pi ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== MAKE jednoczy, inspiruje, informuje i  bawi rosnąca społeczność zarad- nych osób, które podejmują się wspaniałych projektów na swoich podwór- kach, w swoich piwnicach i garażach. MAKE popiera prawa do podkręca- nia, programowania i naginania dowolnej technologii zgodnie z potrzebami. Odbiorcy MAKE stanowią ciągle rosnącą kulturę i społeczność, która wierzy w poprawienie siebie, środowiska i systemu edukacyjnego – całego naszego świata. Jest to więcej niż publiczność, jest to światowy ruch prowadzony przez MAKE – nazywamy go Maker Movement (ruchem majsterkowiczów). Więcej informacji na temat MAKE można uzyskać w Internecie: Magazyn MAKE: http://makezine.com/magazine/ Targi Maker Faire: http://makerfaire.com Makezine.com: http://makezine.com Sklep Maker Shed: http://makershed.com/ Mamy stronę internetową dotyczącą tej książki, gdzie znajduje się errata, przy- kłady i inne dodatkowe informacje. Jej adres to: http://shop.oreilly.com/product/0636920023371.do Komentarze lub pytania techniczne dotyczące tej książki można przesyłać pod adresem e-mail: bookquestions@oreilly.com Więcej informacji na temat naszych książek, kursów, konferencji i wiadomości znajduje się na witrynie internetowej http://www.oreilly.com. Znajdźcie nas na Facebooku: http://facebook.com/oreilly Śledźcie nas na Twitterze: http://twitter.com/oreillymedia Oglądajcie nas na YouTube: http://www.youtube.com/oreillymedia Podziękowania Chcemy podziękować paru osobom, które podzieliły się swoją wiedzą, wspar- ciem i opiniami podczas tworzenia książki Wprowadzenie do Raspberry Pi: Brian Jepson Marc de Vinck Eben Upton Tom Igoe Clay Shirky John Schimmel Phillip Torrone Limor Fried Kevin Townsend Ali Sajjadi Andrew Rossi ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xiii ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 1 Uruchamianie Parę słów powtarza się w kółko, gdy ludzie mówią o Raspberry Pi: mały, tani, programowalny, edukacyjny. Jednak byłoby błędem okre- ślenie tego komputera jako plug and play, chociaż jest dość łatwo podłączyć go do telewizora i sprawić, że coś pojawi się na ekranie. Nie jest to urządze- nie dla konsumentów. Zależnie od celu wykorzystania Raspberry Pi przed jego uruchomieniem musimy podjąć parę decyzji dotyczących urządzeń peryferyjnych i oprogramowania. Oczywiście pierwszym krokiem jest zakup płytki Raspberry  Pi. Raspberry Pi Foundation ma umowy z kilkoma producentami, od których możecie kupić bezpośrednio Pi za dobrze znaną cenę 25–35 dolarów. Są to: Premier Farnell/Element 14 (http://www.element14.com/community/groups/rasp- berry-pi/). Brytyjski dystrybutor elektroniki z wieloma oddziałami na całym świecie (takimi jak Newark i MCM w USA). RS Components (http://www.rs-components.com/raspberrypi). Inny brytyjski globalny dystrybutor elektroniki (i  fi rma macierzysta Allied Electronics w USA) Niska cena Raspberry  Pi jest oczywiście ważna. Pozwolenie wszystkim na zakupy bezpośrednio od dystrybutora i zamawianie małych ilości po cenie hurtowej było czymś niezwykłym. Wielu potencjalnych odsprzedawców było wprawionych w zakłopotanie pierwotnym ogłoszeniem ceny. Było im trud- no zrozumieć, jak mogli zyskać jakikolwiek dochód. Dlatego odsprzedawcy dodają drobną marżę do ceny 35 dolarów (zwykle zwiększając cenę do około 40 dolarów). Chociaż wszyscy mogą nadal kupować bezpośrednio od dystry- butorów za pierwotną cenę, detaliści i odsprzedawcy często realizują zamó- wienia szybciej. Zarówno należący do MAKE sklep Maker Shed (http://www. makershed.com/category_s/227.htm), jak i  Adafruit (http://www.adafr uit. com/category/105) są dwoma fi rmami sprzedającymi komputery Raspberry Pi i akcesoria z niewielką marżą. Tyle o mikroekonomii. Przyjrzyjmy się bliżej płytce Raspberry Pi. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 1 Przewodnik po płytkach Zacznijmy od krótkiego opisu tego, co widzimy po rozpakowaniu. Raspberry Pi uważa się za płytkę projektową z mikrokontrolerem, podob- ną do Arduino, lub za komputer zastępujący laptop. W rzeczywistości bardziej przypomina wyeksponowane wnętrzności urządzenia mobilnego z wieloma przydatnymi dla majsterkowiczów złączami wielostykowymi dla różnych portów i funkcji. Na rysunku 1-1 widać wszystkie części płytki. Ich opis jest przedstawiony poniżej. Rysunek 1 - 1. Mapa interfejsu sprzętowego płytki Raspberry Pi 2 Wprowadzenie do Raspberry Pi ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== A. Procesor. W sercu komputera Raspberry Pi jest taki sam procesor, jaki mo- żemy znaleźć w smartfonie iPhone 3G i czytniku książek Kindle 2, więc możemy uważać możliwości Raspberry Pi za porównywalne do tych moc- nych, choć małych urządzeń. Układ scalony procesora jest 32-bitowym systemem o taktowaniu 700 MHz, zbudowanym w architekturze ARM11. Układy scalone ARM mają różnorodne architektury z różnymi rdzeniami skonfi gurowanymi do  zapewniania różnych możliwości za różną cenę. Model B ma 512MB pamięci RAM, a model A ma jej 256 MB. (Pierwsze wydanie modelu B miało również tylko 256MB pamięci RAM). B. Gniazdo karty SD (Secure Digital). Możemy zauważyć, że komputer Pi nie ma dysku twardego. Wszystko jest przechowywane na karcie SD. Jednym z powodów, aby prędzej czy później zaopatrzyć się w ochronną obudowę, jest to, że lutowane złącza gniazda SD mogą się uszkodzić, jeśli przypadko- wo zegniemy kartę SD. C. Port USB. Model B ma dwa porty USB 2.0, a model A tylko jeden. Wczesne płytki Raspberry Pi (a przynajmniej część z nich) miały ograniczenie na- tężenia prądu, jaki mogły dostarczać. Niektóre urządzenia USB pobierają do  500mA. Pierwotnie płytka Pi obsługiwała około 100mA, ale nowsze płytki są w  pełni zgodne ze  specyfi kacją USB 2.0. Aby sprawdzić, jaka to  jest płytka, możemy zobaczyć, czy ma dwa bezpieczniki resetowalne, ograniczające natężenie prądu (patrz rysunek 1-2). W każdym razie raczej nie jest dobrym pomysłem ładowanie telefonu komórkowego za pomo- cą płytki Pi. Jeżeli mamy urządzenie zewnętrzne, które potrzebuje więcej mocy, możemy użyć zewnętrznego koncentratora zasilanego. Rysunek 1 - 2. Niektóre starsze płytki są wyposażone w bezpieczniki resetowalne (po lewej), aby chronić koncentrator USB. W niektórych płytkach bezpiecz- niki zastąpiono zworkami (na środku), a w ostatnim wydaniu modelu B całkowicie je usunięto i użyto tego miejsca na otwór montażowy (po prawej). D. Port Ethernet. W modelu B jest standardowy port RJ45 Ethernet. W mo- delu A go nie ma, ale możemy podłączyć ten model do sieci przewodowej za pomocą adaptera USB Ethernet (port w  modelu B jest rzeczywiście ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Uruchamianie 3 wbudowanym adapterem USB Ethernet). Inną opcją jest łączność WiFi za pomocą urządzenia USB. E. Złącze HDMI. Port HDMI zapewnia wyjście cyfrowych sygnałów wideo i audio. Obsługuje 14 różnych rozdzielczości wideo, a sygnał HDMI może być konwertowany do formatu DVI (stosowanego w wielu monitorach), zespolonego (analogowy sygnał wideo zwykle przenoszony przez żółte złącze RCA) lub SCART (europejski standard łączenia sprzętu audiowizu- alnego) dzięki zewnętrznym adapterom. F. Diody stanu. Pi ma pięć wskaźników LED, które zapewniają wizualne in- formacje zwrotne (patrz tabela 1-1). Tabela 1-1. Pięć diod stanu ACT Zielona PWR FDX LNK 100 Czerwona Zielona Zielona Żółta Świeci w przypadku dostępu do karty SD (oznaczona jako OK na wcześniejszych płytkach) Powiązana z zasilaniem 3,3 V Włączona, jeżeli karta sieciowa działa w pełnym dupleksie Wskaźnik aktywności sieci Włączona, jeżeli połączenie sieciowe ma 100Mb/s (niektóre wcześniejsze płytki miały błędny napis 10M) G. Analogowe wyjście audio. Jest to standardowe złącze analogowe 3,5 mm minijack, przeznaczone do obsługi obciążeń o wysokiej impedancji (takiej jak głośniki ze wzmacniaczem). Dźwięk w słuchawkach lub niezasilanych głośnikach nie będzie zbyt dobry. W istocie podczas pisania tej książki ja- kość wyjścia analogowego była znacznie niższa niż jakość wyjścia audio HDMI, którą otrzymujemy po podłączeniu telewizora do złącza HDMI. Częściowo wynika to z oprogramowania sterownika audio, które jest ciągle rozwijane. H. Zespolone wyjście wideo. Jest to standardowe złącze RCA, które zapewnia zespolone sygnały wideo NTSC lub PAL. Ten format wideo ma bardzo ni- ską rozdzielczość w porównaniu ze złączem HDMI. Jeżeli mamy telewizor lub monitor HDMI, lepiej używać tamtego złącza, zamiast zespolonego. I. Wejście zasilania. Jedną z pierwszych rzeczy, które zauważamy, jest to, że płytka Pi nie ma włącznika zasilania. Do zasilania służy złącze microUSB. (Nie jest to dodatkowy port USB. Służy jedynie do zasilania). Złącze typu microUSB zostało wybrane, ponieważ jest tanie i można łatwo znaleźć od- powiednie do niego zasilacze USB. Rysunek 1-3 pokazuje wszystkie styki zasilania i  wejścia/wyjścia (IO) na Raspberry Pi, które są objaśnione w dalszej części rozdziału. 4 Wprowadzenie do Raspberry Pi ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw==
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Wprowadzenie do Raspberry Pi
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: