Raspberry Pi. Receptury - ebook
Raspberry Pi. Receptury - ebook
Wyobraź sobie komputer o rozmiarach niewiele większych od karty kredytowej, posiadający całkiem sporą moc obliczeniową, pracujący pod kontrolą systemu Linux i kosztujący grosze. Tak, taki sprzęt istnieje naprawdę! Mowa o Raspberry Pi — urządzeniu zaprojektowanym z myślą o nauce programowania dla dzieci, które sprawdziło się w wielu zastosowaniach i odniosło ogromny sukces na rynku komercyjnym jako serwer WWW, odtwarzacz filmów oraz platforma do budowy niezwykłych projektów elektronicznych. Brzmi intrygująco?
Otwórz tę książkę i poznaj najlepsze przepisy na wykorzystanie możliwości Raspberry Pi. Stąd dowiesz się wszystkiego o budowie i możliwościach tego urządzenia. Po lekturze kolejnych rozdziałów podłączysz Pi do sieci — zarówno kablowej, jak i bezprzewodowej, oraz wykorzystasz złącza GPIO. Ponadto poznasz podstawy języka Python i zobaczysz, jak zastosować go w Pi. Po lekturze tej książki będziesz umiał samodzielnie sterować sprzętem elektronicznym i silnikami oraz zbierać dane z czujników różnego typu. Książka ta jest obowiązkową pozycją dla każdego posiadacza tej niezwykłej platformy!
Dzięki tej książce:
- rozpoczniesz pracę z Raspberry Pi,
- podłączysz Raspberry Pi do sieci,
- będziesz pracował w środowisku opartym na systemie Linux,
- skorzystasz z gotowych aplikacji przeznaczonych dla Raspberry Pi,
- będziesz sterował pracą elektroniki podłączonej do złącza GPIO,
- poznasz zagadnienia dotyczące sterowania za pomocą Raspberry Pi pracą różnych silników,
- rozpoczniesz pracę z przełącznikami, blokami klawiszy i innymi cyfrowymi urządzeniami wejściowymi,
- wykonasz różne pomiary za pomocą czujników podłączonych do Raspberry Pi,
- podłączysz do Raspberry Pi różne wyświetlacze — między innymi matryce diodowe,
- stworzysz dynamiczne projekty korzystające z możliwości Arduino i Raspberry Pi.
Twój przewodnik po platformie Raspberry Pi!
Spis treści
Wstęp (11)
1. Podłączanie i konfiguracja (15)
- 1.0. Wprowadzenie (15)
- 1.1. Wybór modelu Raspberry Pi (15)
- 1.2. Zamknięcie Raspberry Pi w obudowie (17)
- 1.3. Wybór zasilacza (18)
- 1.4. Wybór dystrybucji systemu operacyjnego (19)
- 1.5. NOOBS - zapis na kartę SD (20)
- 1.6. Ręczny zapis karty SD (komputery Macintosh) (22)
- 1.7. Ręczny zapis karty SD (system Windows) (23)
- 1.8. Ręczny zapis karty SD (Linux) (25)
- 1.9. Podłączanie urządzeń zewnętrznych do Raspberry Pi (26)
- 1.10. Podłączanie monitora wyposażonego w interfejs DVI lub VGA (27)
- 1.11. Korzystanie z telewizora lub monitora podłączonego za pośrednictwem złącza composite video (28)
- 1.12. Korzystanie z całej pojemności karty SD (29)
- 1.13. Zmiana rozmiaru obrazu wyświetlanego na monitorze (30)
- 1.14. Maksymalizacja wydajności (32)
- 1.15. Zmiana hasła (34)
- 1.16. Uruchamianie Raspberry Pi bezpośrednio w trybie graficznego interfejsu użytkownika (35)
- 1.17. Wyłączanie Raspberry Pi (36)
- 1.18. Instalacja modułu kamery (37)
2. Praca w sieci (41)
- 2.0. Wprowadzenie (41)
- 2.1. Łączenie z siecią przewodową (41)
- 2.2. Ustalanie własnego adresu IP (43)
- 2.3. Łączenie z siecią przewodową (44)
- 2.4. Zmiana nazwy, pod którą Raspberry Pi jest widoczne w sieci (45)
- 2.5. Nawiązywanie połączenia z siecią bezprzewodową (46)
- 2.6. Korzystanie z kabla konsolowego (48)
- 2.7. Zdalne sterowanie Raspberry Pi za pomocą protokołu SSH (50)
- 2.8. Sterowanie Raspberry Pi za pomocą VNC (51)
- 2.9. Udostępnianie plików w sieci komputerów Macintosh (52)
- 2.10. Udostępnianie ekranu Raspberry Pi na komputerze Macintosh (54)
- 2.11. Używanie Raspberry Pi jako magazynu NAS (56)
- 2.12. Drukowanie sieciowe (59)
3. System operacyjny (61)
- 3.0. Wprowadzenie (61)
- 3.1. Przenoszenie plików w interfejsie graficznym (61)
- 3.2. Uruchamianie sesji Terminala (63)
- 3.3. Przeglądanie plików i folderów za pomocą Terminala (64)
- 3.4. Kopiowanie plików i folderów (66)
- 3.5. Zmiana nazwy pliku lub folderu (67)
- 3.6. Edycja pliku (68)
- 3.7. Oglądanie zawartości pliku (70)
- 3.8. Tworzenie plików bez użycia edytora (71)
- 3.9. Tworzenie katalogów (71)
- 3.10. Kasowanie plików i katalogów (72)
- 3.11. Wykonywanie zadań z uprawnieniami administratora (73)
- 3.12. Co oznaczają atrybuty plików? (74)
- 3.13. Modyfikacja atrybutów plików (75)
- 3.14. Zmiana właściciela pliku (76)
- 3.15. Wykonywanie zrzutów ekranu (77)
- 3.16. Instalacja oprogramowania za pomocą polecenia apt-get (78)
- 3.17. Usuwanie zainstalowanego oprogramowania za pomocą polecenia apt-get (79)
- 3.18. Pobieranie plików za pomocą wiersza poleceń (79)
- 3.19. Pobieranie kodu źródłowego za pomocą polecenia git (80)
- 3.20. Automatyczne uruchamianie programu lub skryptu podczas startu Raspberry Pi (81)
- 3.21. Automatyczne uruchamianie programu lub skryptu w regularnych odstępach czasu (83)
- 3.22. Wyszukiwanie (84)
- 3.23. Korzystanie z historii wiersza poleceń (85)
- 3.24. Monitorowanie aktywności procesora (86)
- 3.25. Obsługa archiwów (88)
- 3.26. Wyświetlanie listy podłączonych urządzeń USB (89)
- 3.27. Zapisywanie w pliku komunikatów wyświetlanych w wierszu poleceń (89)
- 3.28. Obsługa archiwów (90)
- 3.29. Korzystanie z potoków (90)
- 3.30. Ukrywanie danych wyjściowych wyświetlanych w oknie Terminala (91)
- 3.31. Uruchamianie programów w tle (92)
- 3.32. Tworzenie aliasów poleceń (93)
- 3.33. Ustawianie daty i godziny (93)
- 3.34. Ustalanie ilości wolnego miejsca na karcie pamięci (94)
4. Oprogramowanie (95)
- 4.0. Wprowadzenie (95)
- 4.1. Tworzenie multimedialnego centrum rozrywki (95)
- 4.2. Instalowanie oprogramowania biurowego (98)
- 4.3. Instalowanie innych przeglądarek internetowych (99)
- 4.4. Korzystanie z Pi Store (101)
- 4.5. Uruchamianie serwera kamery internetowej (102)
- 4.6. Uruchamianie emulatora klasycznej konsoli do gier (104)
- 4.7. Uruchamianie gry Minecraft (105)
- 4.8. Uruchamianie gry Open Arena (106)
- 4.9. Raspberry Pi jako nadajnik radiowy (107)
- 4.10. Uruchamianie edytora grafiki GIMP (109)
- 4.11. Radio internetowe (110)
5. Podstawy Pythona (113)
- 5.0. Wprowadzenie (113)
- 5.1. Wybór pomiędzy Pythonem 2 a 3 (113)
- 5.2. Pisanie aplikacji Pythona za pomocą IDLE (114)
- 5.3. Korzystanie z konsoli Pythona (116)
- 5.4. Uruchamianie programów napisanych w Pythonie za pomocą Terminala (117)
- 5.5. Zmienne (117)
- 5.6. Wyświetlanie danych generowanych przez program (118)
- 5.7. Wczytywanie danych wprowadzonych przez użytkownika (119)
- 5.8. Działania arytmetyczne (119)
- 5.9. Tworzenie łańcuchów (120)
- 5.10. Scalanie (łączenie) łańcuchów (121)
- 5.11. Konwersja liczb na łańcuchy (122)
- 5.12. Konwersja łańcuchów na liczby (122)
- 5.13. Ustalanie długości łańcucha (123)
- 5.14. Ustalanie pozycji łańcucha w łańcuchu (124)
- 5.15. Wydobywanie fragmentu łańcucha (124)
- 5.16. Zastępowanie fragmentu łańcucha innym łańcuchem (125)
- 5.17. Zamiana znaków łańcucha na wielkie lub małe litery (126)
- 5.18. Uruchamianie poleceń po spełnieniu określonych warunków (127)
- 5.19. Porównywanie wartości (128)
- 5.20. Operatory logiczne (129)
- 5.21. Powtarzanie instrukcji określoną liczbę razy (130)
- 5.22. Powtarzanie instrukcji do momentu, w którym zostanie spełniony określony warunek (131)
- 5.23. Przerywanie działania pętli (131)
- 5.24. Definiowanie funkcji (132)
6. Python - listy i słowniki (135)
- 6.0. Wprowadzenie (135)
- 6.1. Tworzenie list (135)
- 6.2. Uzyskiwanie dostępu do elementu znajdującego się na liście (136)
- 6.3. Ustalanie długości listy (136)
- 6.4. Dodawanie elementów do listy (137)
- 6.5. Usuwanie elementów z listy (138)
- 6.6. Tworzenie listy w wyniku przetwarzania łańcucha (138)
- 6.7. Iteracja listy (139)
- 6.8. Numerowanie elementów listy (140)
- 6.9. Sortowanie listy (141)
- 6.10. Wycinanie fragmentu listy (141)
- 6.11. Przetwarzanie elementów listy przez funkcję (142)
- 6.12. Tworzenie słownika (143)
- 6.13. Uzyskiwanie dostępu do elementów znajdujących się w słowniku (144)
- 6.14. Usuwanie elementów ze słownika (145)
- 6.15. Iteracja słownika (146)
7. Python - zaawansowane funkcje (147)
- 7.0. Wprowadzenie (147)
- 7.1. Tworzenie multimedialnego centrum rozrywki (147)
- 7.2. Formatowanie dat (148)
- 7.3. Zwracanie więcej niż jednej wartości (149)
- 7.4. Definiowanie klasy (149)
- 7.5. Definiowanie metody (151)
- 7.6. Dziedziczenie (152)
- 7.7. Zapis danych w pliku (153)
- 7.8. Odczytywanie pliku (154)
- 7.9. Serializacja (154)
- 7.10. Obsługa wyjątków (155)
- 7.11. Stosowanie modułów (157)
- 7.12. Liczby losowe (158)
- 7.13. Wysyłanie żądań do sieci Web (159)
- 7.14. Argumenty Pythona w wierszu poleceń (159)
- 7.15. Wysyłanie wiadomości pocztą elektroniczną z poziomu aplikacji Pythona (160)
- 7.16. Prosty serwer sieci Web napisany w Pythonie (161)
8. Podstawowe zagadnienia dotyczące złącza GPIO (163)
- 8.0. Wprowadzenie (163)
- 8.1. Styki złącza GPIO (163)
- 8.2. Bezpieczne korzystanie ze złącza GPIO (164)
- 8.3. Instalacja biblioteki RPi.GPIO (165)
- 8.4. Konfiguracja magistrali I2C (166)
- 8.5. Korzystanie z narzędzi I2C (167)
- 8.6. Przygotowanie do pracy interfejsu SPI (169)
- 8.7. Zwalnianie portu szeregowego (170)
- 8.8. Instalowanie biblioteki PySerial pozwalającej na korzystanie z portu szeregowego przez aplikacje Pythona (171)
- 8.9. Testowanie portu szeregowego za pomocą aplikacji Minicom (172)
- 8.10. Łączenie Raspberry Pi z płytką prototypową za pomocą przewodów połączeniowych (173)
- 8.11. Łączenie modułu Pi Cobbler z płytką prototypową (174)
- 8.12. Zmniejszanie napięcia sygnałów z 5 do 3,3 V za pomocą dwóch rezystorów (175)
- 8.13. Korzystanie z modułu przetwornika obniżającego napięcie sygnałów z 5 do 3,3 V (177)
- 8.14. Zasilanie Raspberry Pi za pomocą baterii (178)
- 8.15. Zasilanie Raspberry Pi za pomocą akumulatora litowo-polimerowego (LiPo) (179)
- 8.16. Rozpoczynanie pracy z płytką PiFace (181)
- 8.17. Rozpoczynanie pracy z płytką Gertboard (184)
- 8.18. Rozpoczynanie pracy z płytką RaspiRobot (186)
- 8.19. Używanie płytki prototypowej Humble Pi (188)
- 8.20. Używanie płytki prototypowej Pi Plate (190)
- 8.21. Podłączanie płytki drukowanej z zaciskami sprężynowymi (194)
9. Sterowanie sprzętem elektronicznym (197)
- 9.0. Wprowadzenie (197)
- 9.1. Podłączanie diody LED (197)
- 9.2. Regulacja jasności diody LED (200)
- 9.3. Generowanie brzęczącego dźwięku (202)
- 9.4. Sterowanie pracą urządzenia o dużej mocy zasilanego prądem stałym za pośrednictwem tranzystora (204)
- 9.5. Włączanie urządzeń o dużej mocy za pomocą przekaźnika (206)
- 9.6. Sterowanie urządzeniami zasilanymi prądem przemiennym o wysokim napięciu (208)
- 9.7. Tworzenie graficznego interfejsu pozwalającego na włączanie i wyłączanie elektroniki podłączonej do Raspberry Pi (210)
- 9.8. Tworzenie graficznego interfejsu użytkownika pozwalającego na sterowanie mocą diod i silników za pomocą modulacji czasu trwania impulsu (211)
- 9.9. Zmiana koloru diody RGB LED (213)
- 9.10. Tworzenie multimedialnego centrum rozrywki (215)
- 9.11. Stosowanie analogowego woltomierza w charakterze wyświetlacza wskazówkowego (218)
- 9.12. Tworzenie programów korzystających z przerwań (220)
- 9.13. Sterowanie złączem GPIO za pomocą sieci Web (223)
10. Silniki (227)
- 10.0. Wprowadzenie (227)
- 10.1. Sterowanie pracą serwomotoru (227)
- 10.2. Sterowanie pracą wielu serwomotorów (230)
- 10.3. Sterowanie prędkością obrotową silnika zasilanego prądem stałym (233)
- 10.4. Zmienianie kierunku obrotów silnika zasilanego prądem stałym (235)
- 10.5. Używanie unipolarnych silników krokowych (240)
- 10.6. Korzystanie z bipolarnych silników krokowych (244)
- 10.7. Sterowanie pracą bipolarnego silnika krokowego za pośrednictwem płytki RaspiRobot (246)
- 10.8. Budowa prostego jeżdżącego robota (248)
11. Cyfrowe wejścia (253)
- 11.0. Wprowadzenie (253)
- 11.1. Podłączanie przełącznika chwilowego (253)
- 11.2. Korzystanie z przełącznika chwilowego (256)
- 11.3. Korzystanie z dwupozycyjnego przełącznika dwustabilnego lub suwakowego (258)
- 11.4. Korzystanie z przełącznika trójpozycyjnego (259)
- 11.5. Redukcja stuków powstających podczas wciskania przycisku (261)
- 11.6. Korzystanie z zewnętrznego rezystora podwyższającego (263)
- 11.7. Korzystanie z (kwadratowego) kodera obrotowego (265)
- 11.8. Korzystanie z bloku klawiszy (268)
- 11.9. Wykrywanie ruchu (271)
- 11.10. Raspberry Pi i moduł GPS (272)
- 11.11. Wprowadzanie danych z klawiatury (275)
- 11.12. Przechwytywanie ruchów myszy (277)
- 11.13. Korzystanie z modułu zegara czasu rzeczywistego (278)
12. Czujniki (283)
- 12.0. Wprowadzenie (283)
- 12.1. Korzystanie z czujników rezystancyjnych (283)
- 12.2. Pomiar jasności światła (287)
- 12.3. Wykrywanie metanu (288)
- 12.4. Pomiar napięcia (291)
- 12.5. Stosowanie dzielnika napięcia (293)
- 12.6. Podłączanie rezystancyjnego czujnika do przetwornika analogowo-cyfrowego (295)
- 12.7. Pomiar temperatury za pomocą przetwornika analogowo-cyfrowego (297)
- 12.8. Pomiar przyspieszenia (299)
- 12.9. Pomiar temperatury za pomocą cyfrowego czujnika (302)
- 12.10. Pomiar odległości (304)
- 12.11. Wyświetlanie mierzonych wielkości (307)
- 12.12. Zapisywanie danych do dziennika utworzonego w pamięci USB (308)
13. Wyświetlacze (311)
- 13.0. Wprowadzenie (311)
- 13.1. Korzystanie z czterocyfrowego wyświetlacza LED (311)
- 13.2. Wyświetlanie komunikatów za pomocą wyposażonego w interfejs I2C wyświetlacza składającego się z matrycy diod LED (314)
- 13.3. Korzystanie z płytki Pi-Lite (316)
- 13.4. Wyświetlanie komunikatów na alfanumerycznym wyświetlaczu LCD (318)
14. Raspberry Pi i Arduino (323)
- 14.0. Wprowadzenie (323)
- 14.1. Programowanie Arduino za pośrednictwem Raspberry Pi (324)
- 14.2. Komunikacja z Arduino za pośrednictwem monitora portu szeregowego (326)
- 14.3. Sterowanie Arduino za pomocą biblioteki PyFirmata zainstalowanej na Raspberry Pi (328)
- 14.4. Sterowanie pracą cyfrowych wyjść Arduino za pomocą Raspberry Pi (330)
- 14.5. Sterowanie Arduino za pomocą biblioteki PyFirmata za pośrednictwem portu szeregowego (331)
- 14.6. Odczytywanie danych z cyfrowych wejść Arduino za pomocą biblioteki PyFirmata (334)
- 14.7. Odczytywanie danych z analogowych wejść Arduino za pomocą biblioteki PyFirmata (336)
- 14.8. Obsługa wyjść analogowych (PWM) za pomocą biblioteki PyFirmata (337)
- 14.9. Sterowanie pracą serwomotoru za pomocą biblioteki PyFirmata (339)
- 14.10. Komunikacja pomiędzy Raspberry Pi a Arduino za pośrednictwem interfejsu szeregowego bez użycia biblioteki PyFirmata (341)
- 14.11. Tworzenie programu komunikującego się z Arduino za pośrednictwem magistrali I2C (345)
- 14.12. Podłączanie do Raspberry Pi mniejszych płytek Arduino (349)
- 14.13. Podłączanie płytki aLaMode do Raspberry Pi (350)
- 14.14. Korzystanie z shieldów Arduino i płytki aLaMode podłączonej do Raspberry Pi (353)
- 14.15. Stosowanie płytki Gertboard w roli interfejsu Arduino (354)
A. Komponenty i dystrybutorzy (355)
Skorowidz (361)
Kategoria: | Hardware |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-9625-3 |
Rozmiar pliku: | 10 MB |