Szczegóły ebooka

Raspberry Pi. Receptury

Raspberry Pi. Receptury

Simon Monk

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!

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ł: Raspberry Pi. Receptury
  • Autor: Simon Monk
  • Tytuł oryginału: Raspberry Pi Cookbook
  • Tłumaczenie: Konrad Matuk
  • ISBN: 978-83-246-9625-3, 9788324696253
  • Data wydania: 2014-10-20
  • Format: Ebook
  • Identyfikator pozycji: raspre
  • Wydawca: Helion