- EOL
Uwaga! Sprzedaż produktu została zakończona. Sprawdź inne w tej kategorii. |
Opis produktu: Raspberry Pi. Receptury. Wydanie III - Simon Monk
Trzecie wydanie zbioru receptur ułatwiających wykorzystanie potencjału Raspberry Pi. Uwzględnione zostały tutaj nowe modele minikomputera, a także zmiany i ulepszenia systemu operacyjnego Raspbian. Książka przedstawia podstawowe reguły tej technologii, które ułatwiają zrozumienie zagadnień dotyczących konkretnej płytki czy kodu. W recepturach dotyczących sprzętu uwzględniono przede wszystkim rozwiązania niewymagające lutowania obwodów.
Książka zawiera praktyczne porady 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
Informacje o książce
- Tytuł oryginału: Raspberry Pi Cookbook: Software and Hardware Problems and Solutions, 3rd Edition
- Autor: Simon Monk
- Tłumaczenie: Anna Mizerska, Konrad Matuk
- Wydawca: Helion S.A.
- Rok wydania: 2020
- Liczba stron: 528
- ISBN: 978-83-283-6647-3
- Oprawa: miękka
- Format: 168 x 237 mm
Informacje o autorze
Dr Simon Monk - cybernetyk, informatyk, autor książek i konstruktor. Był pracownikiem akademickim, zajmował się rozwijaniem firmy programistycznej Momote Ltd. Elektronika to jego hobby. Dr Monk jest autorem ok. dwudziestu książek dla pasjonatów elektroniki i majsterkowania. Założył spółkę MonkMakes Ltd., gdzie zajmuje się projektowaniem nowych produktów.
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
Raspberry Pi - wszechstronny minikomputer dla każdego!
Raspberry Pi to już kultowa i stale rozwijana seria minikomputerów, które charakteryzują się bardzo szerokim zakresem możliwości wykorzystania ukrytym w kieszonkowych rozmiarach! Pierwotnie, Raspberry Pi powstał z myślą o celach edukacyjnych, jako komputer przystępny cenowo dla każdego, kto chce poznać tajniki podstaw budowy i zasady działania komputerów w świetle ich obsługi sprzętowej i programowej. Choć to założenie udało się zrealizować, to Raspberry Pi okazał się minikomputerem odpowiednim dla każdego - korzystają z niego zarówno studenci, jak i domowi majsterkowicze, a także konstruktorzy w ośrodkach badawczo-rozwojowych!
Poznaj Raspberry Pi od deski do deski!
Trzecie wydanie książki pt. “Raspberry Pi. Receptury” autorstwa Simona Monka, to obszerne kompendium teoretycznej i praktycznej wiedzy nt. budowy i obsługi sprzętowo-programowej Raspberry Pi. Poradnik ten, z pewnością podejdzie każdemu początkującemu, a także może stanowić obszerne źródło informacji i wsparcia merytorycznego dla zawodowych projektantów systemów embedded.
Przydatne linki |