Raspberry Pi. Receptury. Wydanie III - Helion
Tytuł oryginału: Raspberry Pi Cookbook: Software and Hardware Problems and Solutions, 3rd Edition
Tłumaczenie: Anna Mizerska, Konrad Matuk
ISBN: 978-83-283-6648-0
stron: 528, Format: ebook
Data wydania: 2020-06-01
Księgarnia: Helion
Cena książki: 74,25 zł (poprzednio: 99,00 zł)
Oszczędzasz: 25% (-24,75 zł)
Raspberry Pi sukcesywnie zdobywa coraz więcej użytkowników. Dla niektórych jest to sposób na realizację życiowych pasji, dla innych - praktyczny, tani komputer, który może pracować pod kontrolą Linuksa i pełnić funkcję platformy obsługującej przeróżne urządzenia elektroniczne. Skupiona wokół Raspberry Pi społeczność nieprzerwanie tworzy nowe oprogramowanie oraz płytki interfejsów. To wszystko sprawia, że możliwości Raspberry stale rosną. Pojawiające się technologie przy odrobinie kreatywności mogą łatwo przeobrazić się w praktyczne i niedrogie, a przy tym zdecydowanie innowacyjne i nowoczesne rozwiązania.
To zaktualizowane wydanie znakomitego zbioru receptur ułatwiających wykorzystanie potencjału Raspberry Pi. Uwzględniono tu nowe modele tego komputera, a także zmiany i ulepszenia systemu operacyjnego Raspbian. Dodano rozdziały traktujące o dźwięku i automatyce domowej. Te receptury bez trudu wykorzystasz dla zwiększenia wygody we własnym domu. Dzięki lekturze poznasz podstawowe reguły tej technologii, aby łatwiej zrozumieć zagadnienia dotyczące konkretnej płytki czy kodu. Z tej pozycji możesz korzystać podobnie jak z książki kucharskiej: przeczytać od deski do deski albo skupić się na rozwiązaniu jednego, konkretnego problemu. Być może docenisz, że w recepturach dotyczących sprzętu uwzględniono przede wszystkim rozwiązania niewymagające lutowania obwodów.
W tej książce znajdziesz receptury, dzięki którym:
- rozpoczniesz pracę z Raspberry Pi, również w sieci
- zaprogramujesz Raspberry Pi w języku Python
- wykorzystasz technologię rozpoznawania obrazów
- będziesz sterować pracą silników, czujników i innych elementów elektroniki
- połączysz Raspberry Pi z różnymi urządzeniami wejściowymi
- podłączysz swój dom do internetu rzeczy
Szczęśliwcy, którzy znają Simona Monka, uważają go za autorytet w dziedzinie elektroniki praktycznej, specjalistę w łączeniu projektów komputerowych ze światem fizycznym, wreszcie eksperta w zakresie sprzętu komputerowego i oprogramowania. Ta książka zawiera wiele przydatnych projektów i jest niezbędnym źródłem wiedzy o Raspberry Pi
Alan O'Donohoe, exa.foundation, twórca inicjatywy Raspberry Jams
Raspberry Pi: morze możliwości dla inżyniera z pasją!
Osoby które kupowały "Raspberry Pi. Receptury. Wydanie III", wybierały także:
- Arduino. Kurs video. Poziom pierwszy. Podstawowe techniki dla własnych projektów elektronicznych 99,00 zł, (44,55 zł -55%)
- Elektronika. Od analizy symbolicznej do oblicze 99,00 zł, (49,50 zł -50%)
- Elektronika. Projekty dla pasjonat 49,90 zł, (24,95 zł -50%)
- Elektronika bez oporu. Uk 59,90 zł, (29,95 zł -50%)
- Jak sztuczna inteligencja zmieni twoje 69,00 zł, (34,50 zł -50%)
Spis treści
Raspberry Pi. Receptury. Wydanie III eBook -- spis treści
Wstęp do wydania trzeciego 15
1. Podłączanie i konfiguracja 19
- 1.0. Wprowadzenie 19
- 1.1. Wybór modelu Raspberry Pi 19
- 1.2. Podłączanie urządzeń zewnętrznych do Raspberry Pi 22
- 1.3. Zamknięcie Raspberry Pi w obudowie 24
- 1.4. Wybór zasilacza 26
- 1.5. Wybór dystrybucji systemu operacyjnego 29
- 1.6. NOOBS - zapis na kartę mikro-SD 30
- 1.7. Instalacja systemu operacyjnego bez NOOBS 34
- 1.8. Użycie PiBakery do konfiguracji i zapisu karty SD 35
- 1.9. Użycie PiBakery do konfiguracji Raspberry Pi bez monitora 37
- 1.10. Uruchamianie systemu z zewnętrznego dysku twardego lub z pendrive'a 39
- 1.11. Podłączanie monitora wyposażonego w interfejs DVI lub VGA 42
- 1.12. Korzystanie z telewizora lub monitora podłączonego za pośrednictwem złącza composite video 42
- 1.13. Zmiana rozmiaru obrazu wyświetlanego na monitorze 44
- 1.14. Maksymalizacja wydajności 46
- 1.15. Zmiana hasła 48
- 1.16. Wyłączanie Raspberry Pi 50
- 1.17. Instalacja modułu kamery 51
- 1.18. Użycie Bluetootha 55
2. Praca w sieci 59
- 2.0. Wprowadzenie 59
- 2.1. Łączenie z siecią przewodową 59
- 2.2. Ustalanie własnego adresu IP 61
- 2.3. Przypisywanie stałego adresu IP 62
- 2.4. Zmiana nazwy, pod którą Raspberry Pi jest widoczne w sieci 65
- 2.5. Nawiązywanie połączenia z siecią bezprzewodową 68
- 2.6. Korzystanie z kabla konsolowego 70
- 2.7. Zdalne sterowanie Raspberry Pi za pomocą protokołu SSH 74
- 2.8. Sterowanie Raspberry Pi za pomocą VNC 76
- 2.9. Zdalne sterowanie Raspberry Pi za pomocą zdalnego pulpitu 78
- 2.10. Udostępnianie plików w sieci komputerów Macintosh 79
- 2.11. Używanie Raspberry Pi jako magazynu NAS 81
- 2.12. Drukowanie sieciowe 84
3. System operacyjny 87
- 3.0. Wprowadzenie 87
- 3.1. Przenoszenie plików w interfejsie graficznym 87
- 3.2. Kopiowanie plików na pamięć USB 89
- 3.3. Uruchamianie sesji Terminala 90
- 3.4. Przeglądanie plików i folderów za pomocą Terminala 91
- 3.5. Kopiowanie plików i folderów 95
- 3.6. Zmiana nazwy pliku lub folderu 96
- 3.7. Edycja pliku 96
- 3.8. Oglądanie zawartości pliku 99
- 3.9. Tworzenie plików bez użycia edytora 99
- 3.10. Tworzenie katalogów 100
- 3.11. Kasowanie plików i katalogów 100
- 3.12. Wykonywanie zadań z uprawnieniami administratora 101
- 3.13. Co oznaczają atrybuty plików? 102
- 3.14. Modyfikacja atrybutów plików 104
- 3.15. Zmiana właściciela pliku 105
- 3.16. Wykonywanie zrzutów ekranu 106
- 3.17. Instalacja oprogramowania za pomocą polecenia apt-get 107
- 3.18. Usuwanie zainstalowanego oprogramowania za pomocą polecenia apt-get 108
- 3.19. Instalowanie bibliotek Pythona za pomocą Pip 108
- 3.20. Pobieranie plików za pomocą wiersza poleceń 109
- 3.21. Pobieranie kodu źródłowego za pomocą polecenia git 110
- 3.22. Pobieranie materiałów pomocniczych do tej książki 112
- 3.23. Automatyczne uruchamianie programu lub skryptu przy starcie Raspberry Pi 115
- 3.24. Automatyczne uruchamianie programu lub skryptu jako usługi 116
- 3.25. Automatyczne uruchamianie programu lub skryptu w regularnych odstępach czasu 118
- 3.26. Wyszukiwanie 119
- 3.27. Korzystanie z historii wiersza poleceń 120
- 3.28. Monitorowanie aktywności procesora 122
- 3.29. Obsługa archiwów 124
- 3.30. Wyświetlanie listy podłączonych urządzeń USB 124
- 3.31. Zapisywanie w pliku komunikatów wyświetlanych w wierszu poleceń 125
- 3.32. Łączenie plików 126
- 3.33. Korzystanie z potoków 126
- 3.34. Ukrywanie danych wyjściowych wyświetlanych w oknie Terminala 127
- 3.35. Uruchamianie programów w tle 128
- 3.36. Tworzenie aliasów poleceń 129
- 3.37. Ustawianie daty i godziny 129
- 3.38. Ustalanie ilości wolnego miejsca na karcie pamięci 130
- 3.39. Sprawdzanie wersji systemu operacyjnego 131
- 3.40. Aktualizacja systemu Raspbian 132
4. Oprogramowanie 133
- 4.0. Wprowadzenie 133
- 4.1. Tworzenie multimedialnego centrum rozrywki 133
- 4.2. Instalowanie oprogramowania biurowego 135
- 4.3. Uruchamianie serwera kamery internetowej 136
- 4.4. Uruchamianie emulatora klasycznej konsoli do gier 138
- 4.5. Uruchamianie gry Minecraft 140
- 4.6. Raspberry Pi jako nadajnik radiowy 141
- 4.7. Edycja grafiki rastrowej 143
- 4.8. Edycja grafiki wektorowej 144
- 4.9. Radio internetowe 145
5. Podstawy Pythona 147
- 5.0. Wprowadzenie 147
- 5.1. Wybór pomiędzy Pythonem 2 a 3 147
- 5.2. Edytowanie programów Pythona z Mu 148
- 5.3. Korzystanie z konsoli Pythona 152
- 5.4. Uruchamianie programów napisanych w Pythonie za pomocą Terminala 153
- 5.5. Zmienne 155
- 5.6. Wyświetlanie danych generowanych przez program 155
- 5.7. Wczytywanie danych wprowadzonych przez użytkownika 156
- 5.8. Działania arytmetyczne 157
- 5.9. Tworzenie łańcuchów 157
- 5.10. Scalanie (łączenie) łańcuchów 158
- 5.11. Konwersja liczb na łańcuchy 159
- 5.12. Konwersja łańcuchów na liczby 160
- 5.13. Ustalanie długości łańcucha 161
- 5.14. Ustalanie pozycji łańcucha w łańcuchu 161
- 5.15. Wydobywanie fragmentu łańcucha 162
- 5.16. Zastępowanie fragmentu łańcucha innym łańcuchem 163
- 5.17. Zamiana znaków łańcucha na wielkie lub małe litery 163
- 5.18. Uruchamianie poleceń po spełnieniu określonych warunków 164
- 5.19. Porównywanie wartości 166
- 5.20. Operatory logiczne 167
- 5.21. Powtarzanie instrukcji określoną liczbę razy 168
- 5.22. Powtarzanie instrukcji do momentu, w którym zostanie spełniony określony warunek 169
- 5.23. Przerywanie działania pętli 169
- 5.24. Definiowanie funkcji 170
6. Python - listy i słowniki 173
- 6.0. Wprowadzenie 173
- 6.1. Tworzenie list 173
- 6.2. Uzyskiwanie dostępu do elementu znajdującego się na liście 174
- 6.3. Ustalanie długości listy 175
- 6.4. Dodawanie elementów do listy 175
- 6.5. Usuwanie elementów z listy 176
- 6.6. Tworzenie listy w wyniku przetwarzania łańcucha 177
- 6.7. Iteracja listy 178
- 6.8. Numerowanie elementów listy 178
- 6.9. Sortowanie listy 179
- 6.10. Wycinanie fragmentu listy 180
- 6.11. Przetwarzanie elementów listy przez funkcję 181
- 6.12. Tworzenie słownika 182
- 6.13. Uzyskiwanie dostępu do elementów znajdujących się w słowniku 183
- 6.14. Usuwanie elementów ze słownika 184
- 6.15. Iteracja słownika 185
7. Python - zaawansowane funkcje 187
- 7.0. Wprowadzenie 187
- 7.1. Formatowanie liczb 187
- 7.2. Formatowanie dat 188
- 7.3. Zwracanie więcej niż jednej wartości 189
- 7.4. Definiowanie klasy 190
- 7.5. Definiowanie metody 191
- 7.6. Dziedziczenie 192
- 7.7. Zapis danych w pliku 193
- 7.8. Odczytywanie pliku 194
- 7.9. Serializacja 195
- 7.10. Obsługa wyjątków 196
- 7.11. Stosowanie modułów 197
- 7.12. Liczby losowe 199
- 7.13. Wysyłanie żądań do sieci Web 200
- 7.14. Argumenty Pythona w wierszu poleceń 201
- 7.15. Uruchamianie poleceń Linuxa z Pythona 202
- 7.16. Wysyłanie wiadomości pocztą elektroniczną z poziomu aplikacji Pythona 202
- 7.17. Prosty serwer sieci Web napisany w Pythonie 204
- 7.18. Usypianie programu Pythona 205
- 7.19. Wykonywanie kilku zadań naraz 206
- 7.20. Python i Minecraft Pi 207
- 7.21. Przetwarzanie danych do formatu JSON 209
- 7.22. Tworzenie interfejsu użytkownika 211
- 7.23. Wyszukiwanie tekstu za pomocą wyrażeń regularnych 212
- 7.24. Sprawdzanie poprawności wprowadzanych danych przy użyciu wyrażeń regularnych 215
- 7.25. Pozyskiwanie danych ze stron internetowych przy użyciu wyrażeń regularnych 216
8. Rozpoznawanie obrazów 219
- 8.0. Wprowadzenie 219
- 8.1. Instalacja programu SimpleCV 219
- 8.2. Ustawienie kamery USB do rozpoznawania obrazów 220
- 8.3. Użycie modułu kamery do Raspberry Pi do rozpoznawania obrazów 222
- 8.4. Liczenie monet 223
- 8.5. Wykrywanie twarzy 227
- 8.6. Wykrywanie ruchu 228
- 8.7. Optyczne rozpoznawanie znaków 231
9. Podstawowy sprzęt elektroniczny 233
- 9.0. Wprowadzenie 233
- 9.1. Styki złącza GPIO 233
- 9.2. Bezpieczne korzystanie ze złącza GPIO 235
- 9.3. Konfiguracja magistrali I2C 236
- 9.4. Korzystanie z narzędzi I2C 239
- 9.5. Przygotowanie do pracy interfejsu SPI 240
- 9.6. Instalowanie biblioteki PySerial pozwalającej na korzystanie z portu szeregowego przez aplikacje Pythona 242
- 9.7. Testowanie portu szeregowego za pomocą aplikacji Minicom 243
- 9.8. Łączenie Raspberry Pi z płytką prototypową za pomocą przewodów połączeniowych 244
- 9.9. Łączenie modułu Pi Cobbler z płytką prototypową 245
- 9.10. Użycie Raspberry Squid 247
- 9.11. Użycie przycisku Raspberry Squid 249
- 9.12. Zmniejszanie napięcia sygnałów z 5 do 3,3 V za pomocą dwóch rezystorów 250
- 9.13. Korzystanie z modułu przetwornika obniżającego napięcie sygnałów z 5 do 3,3 V 252
- 9.14. Zasilanie Raspberry Pi za pomocą baterii 253
- 9.15. Zasilanie Raspberry Pi za pomocą akumulatora litowo-polimerowego (LiPo) 255
- 9.16. Rozpoczęcie pracy z Sense HAT 256
- 9.17. Rozpoczęcie pracy z Explorer HAT Pro 258
- 9.18. Rozpoczynanie pracy z płytką RaspiRobot 259
- 9.19. Używanie płytki prototypowej Pi Plate 261
- 9.20. Tworzenie HAT 265
- 9.21. Pi Zero i Pi Zero W 268
10. Sterowanie sprzętem elektronicznym 271
- 10.0. Wprowadzenie 271
- 10.1. Podłączanie diody LED 271
- 10.2. Pozostawienie pinów GPIO w bezpiecznym stanie 274
- 10.3. Regulacja jasności diody LED 275
- 10.4. Sterowanie pracą urządzenia o dużej mocy zasilanego prądem stałym za pośrednictwem tranzystora 277
- 10.5. Włączanie urządzeń o dużej mocy za pomocą przekaźnika 279
- 10.6. Sterowanie urządzeniami zasilanymi wysokim napięciem przemiennym 282
- 10.7. Sterowanie sprzętem za pomocą Androida i Bluetootha 283
- 10.8. Tworzenie interfejsu pozwalającego na włączanie i wyłączanie elektroniki podłączonej do Raspberry Pi 287
- 10.9. Tworzenie interfejsu użytkownika pozwalającego na sterowanie mocą diod i silników za pomocą modulacji czasu trwania impulsu 288
- 10.10. Zmiana koloru diody RGB LED 289
- 10.11. Stosowanie analogowego woltomierza w charakterze wyświetlacza wskazówkowego 292
11. Silniki 295
- 11.0. Wprowadzenie 295
- 11.1. Sterowanie pracą serwomotoru 295
- 11.2. Dokładne sterowanie serwomotorami 300
- 11.3. Sterowanie pracą wielu serwomotorów 302
- 11.4. Sterowanie prędkością obrotową silnika zasilanego prądem stałym 305
- 11.5. Zmienianie kierunku obrotów silnika zasilanego prądem stałym 307
- 11.6. Używanie unipolarnych silników krokowych 310
- 11.7. Korzystanie z bipolarnych silników krokowych 314
- 11.8. Sterowanie pracą bipolarnego silnika krokowego za pomocą Stepper Motor HAT 316
- 11.9. Sterowanie pracą bipolarnego silnika krokowego za pośrednictwem płytki RasPiRobot 317
- 11.10. Budowa prostego jeżdżącego robota 319
12. Cyfrowe wejścia 323
- 12.0. Wprowadzenie 323
- 12.1. Podłączanie przełącznika chwilowego 323
- 12.2. Korzystanie z przełącznika chwilowego 326
- 12.3. Korzystanie z dwupozycyjnego przełącznika bistabilnego lub suwakowego 328
- 12.4. Korzystanie z przełącznika trójpozycyjnego 329
- 12.5. Redukcja drgań styków powstających podczas wciskania przycisku 332
- 12.6. Korzystanie z zewnętrznego rezystora podciągającego 334
- 12.7. Korzystanie z (kwadrantowego) enkodera obrotowego 335
- 12.8. Korzystanie z bloku klawiszy 338
- 12.9. Wykrywanie ruchu 341
- 12.10. Raspberry Pi i moduł GPS 343
- 12.11. Wprowadzanie danych z klawiatury 347
- 12.12. Przechwytywanie ruchów myszy 348
- 12.13. Korzystanie z modułu zegara czasu rzeczywistego 349
- 12.14. Dodanie włącznika do Raspberry Pi 353
13. Czujniki 357
- 13.0. Wprowadzenie 357
- 13.1. Korzystanie z czujników rezystancyjnych 357
- 13.2. Pomiar jasności światła 361
- 13.3. Pomiar temperatury za pomocą termistora 362
- 13.4. Wykrywanie metanu 364
- 13.5. Pomiar stężenia dwutlenku węgla 367
- 13.6. Pomiar napięcia 369
- 13.7. Stosowanie dzielnika napięcia 372
- 13.8. Podłączanie rezystancyjnego czujnika do przetwornika analogowo-cyfrowego 374
- 13.9. Pomiar temperatury za pomocą przetwornika analogowo-cyfrowego 376
- 13.10. Pomiar temperatury procesora Raspberry Pi 378
- 13.11. Pomiar temperatury, wilgotności i ciśnienia za pomocą Sense HAT 379
- 13.12. Pomiar temperatury za pomocą cyfrowego czujnika 381
- 13.13. Pomiar przyspieszenia przy użyciu modułu MMA8452Q 384
- 13.14. Wyznaczanie magnetycznej północy przy użyciu Sense HAT 388
- 13.15. Wykorzystanie inercyjnej jednostki zarządzania nakładki Sense HAT 389
- 13.16. Wykrywanie magnesu przy użyciu kontraktonu 390
- 13.17. Wykrywanie magnesu przy użyciu nakładki Sense HAT 391
- 13.18. Pomiar odległości przy użyciu ultradźwiękowego dalmierza 392
- 13.19. Pomiar odległości przy użyciu czujnika Time-of-Flight 395
- 13.20. Pojemnościowy czujnik dotyku 397
- 13.21. Odczyt kart elektronicznych przy użyciu RFID 399
- 13.22. Wyświetlanie mierzonych wielkości 402
- 13.23. Zapisywanie danych do dziennika utworzonego w pamięci USB 404
14. Wyświetlacze 407
- 14.0. Wprowadzenie 407
- 14.1. Korzystanie z czterocyfrowego wyświetlacza LED 407
- 14.2. Wyświetlanie komunikatów za pomocą wyposażonego w interfejs I2C wyświetlacza składającego się z matrycy diod LED 409
- 14.3. Korzystanie z wyświetlacza składającego się z matrycy diod LED na nakładce Sense HAT 411
- 14.4. Wyświetlanie komunikatów na alfanumerycznej nakładce LCD HAT 414
- 14.5. Korzystanie z wyświetlacza OLED 416
- 14.6. Korzystanie z taśmy LED RGB 418
- 14.7. Korzystanie z nakładki Unicorn HAT firmy Pimoroni 421
- 14.8. Korzystanie z papieru elektronicznego 423
15. Dźwięk 425
- 15.0. Wprowadzenie 425
- 15.1. Podłączenie głośnika 425
- 15.2. Kontrolowanie wyjścia audio 427
- 15.3. Odtwarzanie dźwięku z linii poleceń 429
- 15.4. Odtwarzanie dźwięku za pomocą Pythona 429
- 15.5. Użycie mikrofonu na USB 430
- 15.6. Generowanie brzęczącego dźwięku 433
16. Internet rzeczy 435
- 16.0. Wprowadzenie 435
- 16.1. Sterowanie złączem GPIO za pomocą sieci Web 435
- 16.2. Wyświetlanie odczytów czujników na stronie internetowej 439
- 16.3. Rozpoczęcie pracy z Node-RED 442
- 16.4. Wysyłanie powiadomień z użyciem IFTTT 446
- 16.5. Wysyłanie tweetów za pomocą ThingSpeak 450
- 16.6. CheerLights 452
- 16.7. Wysyłanie odczytów czujnika do ThingSpeak 453
- 16.8. Odpowiadanie na tweety przy użyciu Dweet i IFTTT 456
17. Inteligentny dom 461
- 17.0. Wprowadzenie 461
- 17.1. Raspberry Pi jako Message Broker 461
- 17.2. Korzystanie z Node-RED i MQTT 464
- 17.3. Wgrywanie nowego oprogramowania układowego na bezprzewodowy przełącznik Sonoff Wi-Fi Smart Switch 469
- 17.4. Konfiguracja przełącznika Sonoff Wi-Fi Smart Switch 475
- 17.5. Użycie przełącznika Sonoff z MQTT 477
- 17.6. Użycie przełącznika Sonoff z Node-RED 480
- 17.7. Panel sterowania w Node-RED 483
- 17.8. Planowanie zdarzeń z Node-RED 487
- 17.9. Publikowanie wiadomości MQTT z WeMos D1 489
- 17.10. Użycie WeMos D1 z Node-RED 492
18. Raspberry Pi i Arduino 495
- 18.0. Wprowadzenie 495
- 18.1. Programowanie Arduino za pośrednictwem Raspberry Pi 496
- 18.2. Komunikacja z Arduino za pośrednictwem monitora portu szeregowego 498
- 18.3. Sterowanie Arduino za pomocą biblioteki PyFirmata zainstalowanej na Raspberry Pi 500
- 18.4. Sterowanie pracą cyfrowych wyjść Arduino za pomocą Raspberry Pi 502
- 18.5. Sterowanie Arduino za pomocą biblioteki PyFirmata za pośrednictwem portu szeregowego 504
- 18.6. Odczytywanie danych z cyfrowych wejść Arduino za pomocą biblioteki PyFirmata 506
- 18.7. Odczytywanie danych z analogowych wejść Arduino za pomocą biblioteki PyFirmata 508
- 18.8. Obsługa wyjść analogowych (PWM) za pomocą biblioteki PyFirmata 510
- 18.9. Sterowanie pracą serwomotoru za pomocą biblioteki PyFirmata 512
- 18.10. Podłączanie do Raspberry Pi mniejszych płytek Arduino 514
- 18.11. Korzystanie z płytki z wbudowanym Wi-Fi (ESP8266) 515
A. Komponenty i dystrybutorzy 519
B. Piny Raspberry Pi 525