Kategorie

Raspberry Pi. Receptury - Simon Monk Powiększ do pełnego rozmiaru

Raspberry Pi. Receptury - Simon Monk

Tłumaczenie: Konrad Matuk. Wydawnictwo: Helion. W książce opisane są praktyczne "przepisy" na korzystanie z Raspberry Pi.

Więcej szczegółów

KSZ-02796


Oczekiwanie na dostawę


Powiadom mnie kiedy będzie dostępny

59,00 zł

Dodaj do koszyka

Opis

Raspberry Pi zostało zaprojektowane do nauki programowania, jednak jego możliwości otworzyły drogę do podbicia świata elektroniki. Popularna Malina rozwija się bardzo szybko, a dzięki licznym przykładom i udostępnionym bibliotekom jest osiągalna dla każdego pasjonata elektroniki.

 

Z książki czytelnik dowie się najważniejszych informacji o budowie i możliwościach minikomputera. Autor podręcznika podaje ponad 200 praktycznych „przepisów” na korzystanie z Raspberry Pi. Pokazuje jak pracować na systemie operacyjnym Linux oraz przybliża podstawowy programowania w języku Python. Dodatkowo czytelnik nauczy się jak sterować silnikami, jak zbierać dane z czujników oraz w jaki sposób połączyć Raspberry Pi z Arduino.

 

Dzięki informacjom zawartym w 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ą układów podłączonych 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 LED,
  • stworzysz dynamiczne projekty korzystające z możliwości Arduino i Raspberry Pi. 

 

 

Przykładowe projekty wykorzystane w książce dostępne do pobrania. Fragment książki do przeczytania on-line.

 

 

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)

  • Tytuł oryginału: Raspberry Pi Cookbook
  • Autor: Simon Monk
  • Tłumaczenie: Konrad Matuk
  • ISBN: 978-83-246-9622-2
  • Format: 168x237
  • Oprawa: miękka
  • Wydawnictwo: Helion