Langbeschreibung
Aktuell zum Raspberry Pi 4 sowie allen Vorgängerversionen erwartet Sie hier umfassendes Bastel-Wissen. Möchten Sie Linux mit dem RasPi lernen, suchen Sie Grundlagen und fortgeschrittene Techniken der Elektronik oder wollen Sie in die Programmierung mit Python einsteigen? Mit Michael Kofler, Charly Kühnast und Christoph Scherbeck steht Ihnen ein Autorenteam zur Seite, das das erforderliche Wissen leicht nachvollziehbar vermittelt und Sie mit zahlreichen Praxistipps und spannenden Beispielprojekten begeistern wird!
Hauptbeschreibung
Erweiterungen für den Pi: Gertboad, PiFace, Quick2Wire u.a.
Inhaltsverzeichnis
Vorwort ... 15TEIL I Den Raspberry Pi kennenlernen ... 19 1. Kauf und Inbetriebnahme ... 21 1.1 ... Kauf ... 21 1.2 ... Raspberry-Pi-Distributionen ... 33 1.3 ... NOOBS-Installation ... 35 2. Erste Schritte in Raspbian ... 41 2.1 ... Basiskonfiguration ... 42 2.2 ... Der Pixel-Desktop ... 46 2.3 ... Wichtige Programme ... 49 2.4 ... WLAN-Konfiguration ... 59 2.5 ... Bluetooth-Konfiguration ... 60 2.6 ... USB-Sticks und -Festplatten ... 61 2.7 ... Drucker ... 62 3. Arbeiten im Terminal ... 65 3.1 ... Erste Experimente ... 65 3.2 ... Eingabeerleichterungen und Tastenkürzel ... 71 3.3 ... Die Bourne Again Shell (bash) ... 74 3.4 ... Arbeiten mit Administratorrechten (sudo) ... 80 3.5 ... Textdateien lesen und ändern ... 83 3.6 ... Verzeichnisse und Dateien ... 88 3.7 ... Komprimierte Dateien und Archive ... 95 3.8 ... Prozessverwaltung ... 99 3.9 ... Netzwerkkommandos ... 105 4. Tipps & Tricks ... 109 4.1 ... Image auf eine SD-Karte schreiben ... 109 4.2 ... Raspbian Lite ... 112 4.3 ... WLAN- und SSH-Server vorkonfigurieren ... 113 4.4 ... Pixel-Desktop konfigurieren ... 114 4.5 ... Bildschirmschoner aktivieren/deaktivieren ... 116 4.6 ... Screenshots erstellen ... 117 4.7 ... Mehr Farbe im Terminal ... 117 4.8 ... Overclocking ... 120 4.9 ... Notfall-Tipps ... 122 5. Arbeitstechniken ... 127 5.1 ... Programme installieren und verwalten ... 128 5.2 ... Updates ... 131 5.3 ... SSH ... 136 5.4 ... Fernwartung über das Remote Desktop Protocol ... 147 5.5 ... Fernwartung über VNC ... 151 5.6 ... Netzwerkverzeichnisse nutzen ... 152 5.7 ... Netzwerkverzeichnisse anbieten (Samba-Server) ... 158 5.8 ... Internetzugriff auf den Raspberry Pi ... 165 5.9 ... FTP-Server einrichten ... 174 5.10 ... Programme beim Systemstart ausführen ... 177 5.11 ... Programme regelmäßig ausführen (Cron) ... 179 5.12 ... Monitor ein- und ausschalten ... 182 5.13 ... Backups erstellen ... 183 6. Linux-Grundlagen ... 189 6.1 ... Benutzer und Gruppen ... 190 6.2 ... Zugriffsrechte ... 198 6.3 ... Paketverwaltung ... 204 6.4 ... Verwaltung des Dateisystems ... 206 6.5 ... Netzwerkkonfiguration ... 214 6.6 ... Bluetooth ... 221 6.7 ... Systemstart ... 224 6.8 ... Systemeinstellungen in config.txt ... 231 6.9 ... Grafiksystem ... 236 6.10 ... Kernel und Module ... 238 6.11 ... Device Trees ... 241TEIL II Der Raspberry Pi als Media-Center ... 245 7. Audio-Player mit Smartphone-Fernbedienung ... 247 7.1 ... MPD-Installation und -Konfiguration ... 247 7.2 ... MPD-Konfigurationsvarianten ... 253 7.3 ... HiFiBerry ... 262 7.4 ... Volumio ... 265 8. Multimedia-Center mit Kodi und LibreELEC ... 269 8.1 ... Installation und Konfiguration ... 270 8.2 ... Kodi-Betrieb ... 279TEIL III Hardware-Grundlagen ... 287 9. Hardware-Einstieg ... 289 9.1 ... Platinenaufbau ... 289 9.2 ... Der BCM2711 ... 291 9.3 ... GPIO-Kontakte ... 295 9.4 ... Stromversorgung ... 303 9.5 ... Gehäuse ... 31110. Elektrotechnik-Crashkurs ... 315 10.1 ... Strom, Spannung und das ohmsche Gesetz ... 315 10.2 ... Grundschaltungen ... 317 10.3 ... Elektronische Grundbauteile ... 322 10.4 ... Das Multimeter ... 327 10.5 ... Breadboard oder Platine? ... 330 10.6 ... Löten ... 332 10.7 ... Breadboardadapter ... 33411. LEDs, Motoren und Relais ... 339 11.1 ... Leuchtdioden (LEDs) ... 339 11.2 ... Optokoppler ... 357 11.3 ... Elektromotoren ... 358 11.4 ... Schrittmotoren ... 371 11.5 ... Servomotoren ... 381 11.6 ... Relais ... 38712. Bussysteme ... 391 12.1 ... SPI ... 391 12.2 ... Der Analog-Digital-Wandler MCP3008 ... 401 12.3 ... Der Digital-Analog-Wandler MCP4811 ... 407 12.4 ... I$^2$C ... 412 12.5 ... UART ... 421 12.6 ... Der Audio-Bus I$^2$S ... 427 12.7 ... 1-Wire ... 42813. Sensoren ... 431 13.1 ... PIR-Bewegungssensor ... 431 13.2 ... Ultraschallsensor ... 435 13.3 ... Wasserstandssensor ... 438 13.4 ... Bodenfeuchtigkeitssensor ... 439 13.5 ... Temperatursensoren ... 444 13.6 ... Fotowiderstand ... 451 13.7 ... Das Multi-Analogsensor-Board PCF8591 ... 453 13.8 ... Raspberry Pi Camera Board und PiNoIR ... 456 13.9 ... Reed-Kontakt ... 469 13.10 ... Hardware Real Time Clock ... 471 13.11 ... IR-Empfänger ... 475 13.12 ... Fingerabdruck-Scanner ... 477 13.13 ... Leitfaden für fremde Sensoren ... 48514. Erweiterungsboards ... 487 14.1 ... Das Gertboard ... 488 14.2 ... Der ATmega auf dem Gertboard ... 503 14.3 ... Logic-Level-Converter ... 508 14.4 ... PiFace Digital 2 ... 509 14.5 ... StromPi 2 -- USV und Wide-Range-Spannungsversorgung ... 515 14.6 ... Pimoroni Zero LiPo ... 518 14.7 ... GertDuino ... 520 14.8 ... Raspberry-Pi-HATs ... 524 14.9 ... Sense HAT -- Das Mulitalent ... 530 14.10 ... Adafruit PWM/Servo-HAT ... 535 14.11 ... BrickPi ... 538 14.12 ... GrovePi ... 53915. Displays ... 541 15.1 ... 7-Segment-Anzeige ... 541 15.2 ... 16x2-LC-Display ... 544 15.3 ... PiTFT -- Der Touchscreen für den Raspberry Pi ... 549 15.4 ... Kfz-Rückfahrmonitore ... 554 15.5 ... Das offizielle Raspberry-Pi-Touchdisplay ... 558 15.6 ... OLED-Display SSD1306 ... 564 15.7 ... PaPiRus -- Das E-Paper-Display ... 568 15.8 ... Weitere Display-Boards ... 574TEIL IV Programmierung ... 57716. Python kennenlernen ... 579 16.1 ... Python ausprobieren ... 580 16.2 ... Python-Konzepte interaktiv kennenlernen ... 582 16.3 ... Hello World! ... 59217. Python-Grundlagen ... 599 17.1 ... Elementare Syntaxregeln ... 599 17.2 ... Variablen und Objekte ... 605 17.3 ... Operatoren ... 615 17.4 ... Verzweigungen (if) ... 618 17.5 ... Schleifen (for und while) ... 620 17.6 ... Zeichenketten ... 626 17.7 ... Listen ... 632 17.8 ... Umgang mit Fehlern (Exceptions) ... 635 17.9 ... Funktionen ... 641 17.10 ... Objektorientiertes Programmieren ... 651 17.11 ... Systemfunktionen ... 66318. Python-Programmierung ... 667 18.1 ... GPIO-Zugriff mit RPi.GPIO ... 667 18.2 ... GPIO-Zugriff mit gpiozero ... 674 18.3 ... Reset/Shutdown-Taste ... 678 18.4 ... Kamera ... 680 18.5 ... Dateien bei Dropbox hochladen ... 684 18.6 ... E-Mails versenden ... 688 18.7 ... Textdateien lesen und schreiben ... 690 18.8 ... Grafikprogrammierung ... 695 18.9 ... Grafische Benutzeroberflächen mit tkinter ... 702 18.10 ... Matplotlib ... 71519. bash-Programmierung ... 721 19.1 ... Einführung ... 721 19.2 ... Variablen ... 725 19.3 ... Schleifen, Bedingungen und Funktionen ... 731 19.4 ... WiringPi ... 741 19.5 ... Das raspi-gpio-Kommando ... 747 19.6 ... Das pinout-Kommando ... 74920. C-Programmierung ... 751 20.1 ... Hello World! ... 751 20.2 ... GPIO-Steuerung mit C ... 75521. Java-Programmierung ... 759 21.1 ... Erste Schritte ... 759 21.2 ... GPIO-Steuerung mit Java ... 76122. PHP-Programmierung ... 767 22.1 ... Apache installieren und konfigurieren ... 768 22.2 ... Webverzeichnisse einrichten und absichern ... 770 22.3 ... HTTPS ... 776 22.4 ... PHP installieren und konfigurieren ... 778 22.5 ... MariaDB installieren und administrieren ... 780 22.6 ... Hello World! in PHP ... 785 22.7 ... GPIO-Steuerung mit PHP ... 787 22.8 ... Kamerafunktionen mit PHP nutzen ... 79223. Mathematica und die Wolfram Language ... 797 23.1 ... Arbeiten mit Mathematica ... 798 23.2 ... Programmieren mit der Wolfram Language ... 804 23.3 ... Grafische Darstellung von Temperaturdaten ... 811TEIL V Projekte ... 81524. Der Raspberry Pi im Vogelhaus ... 817 24.1 ... Einbau des Raspberry Pi samt Kameramodul in ein Vogelhaus ... 817 24.2 ... Kamerapraxis ... 820 24.3 ... Bewegungserkennung mit motion ... 823 24.4 ... Das Vogelhaus im praktischen Einsatz ... 82725. Zeitmessung mit Lichtschranken ... 831 25.1 ... Versuchsaufbau (Hardware) ... 831 25.2 ... Software ... 83426. Das autonome Auto ... 837 26.1 ... Hardware ... 837 26.2 ... Die Software ... 84627. RFID-Türöffner mit Zutrittskontrolle ... 849 27.1 ... RFID-Hardware ... 850 27.2 ... Software ... 853 27.3 ... Erweiterungsmöglichkeiten und Tipps ... 85928. Stromzähler auslesen ... 861 28.1 ... Stromzähler-Grundlagen ... 861 28.2 ... Einführung in RRDtool ... 865 28.3 ... Zählerdaten speichern und zu Graphen aufbereiten ... 87029. Hausautomation mit Netzwerksteckdosen ... 873 29.1 ... Einführung ... 873 29.2 ... Programmierung ... 87530. Hausautomation mit 433-MHz-Funktechnologie ... 887 30.1 ... Hardware-Grundlagen ... 887 30.2 ... Software und Steuerungsbeispiele ... 89031. Die Schalthebel der Nacht ... 899 31.1 ... Vorbereitung ... 899 31.2 ... Der Lux-Sensor ... 900 31.3 ... IKEAs Trådfri-Beleuchtungssystem mit Linux steuern ... 902 31.4 ... Philips-Hue-Leuchten ansteuern ... 906 31.5 ... Lichtstärke messen, Leuchten steuern ... 90932. Ort und Zeit per GPS empfangen ... 911 32.1 ... Haben Sie Zeit? Eine Uhr für den Raspberry Pi ... 911 32.2 ... Ortsbestimmung mit dem Raspberry Pi ... 91933. Der Raspberry Pi lernt twittern ... 925 33.1 ... Voraussetzungen ... 925 33.2 ... Programmierung ... 92734. Gewitter erkennen mit dem Blitzsensor ... 933 34.1 ... Blitzsensor AS3935 ... 933 34.2 ... Software ... 93635. Klingel-Pi -- Der Türglockenverstärker ... 941 35.1 ... Geräuschsensor anschließen und auswerten ... 94136. WLAN- und Tor-Router ... 945 36.1 ... Einführung ... 945 36.2 ... WLAN-Access-Point ... 948 36.3 ... WLAN-Router ... 954 36.4 ... Tor-Router ... 96237. DLNA-Server ... 969 37.1 ... Raspbian-Installation auf große SD-Karten ... 970 37.2 ... ReadyMedia alias miniDLNA ... 973 37.3 ... Read-only-Konfiguration ... 97438. Pi-hole (Ad-Blocker) ... 979 38.1 ... Installation ... 980 38.2 ... Client-Konfiguration ... 982 38.3 ... Weboberfläche ... 98339. USB-Stick-Checker (CIRCLean) ... 985 39.1 ... CIRCLean installieren und anwenden ... 986 39.2 ... Einschränkungen ... 98840. NAS mit openmediavault ... 989 40.1 ... Voraussetzungen ... 990 40.2 ... Installation ... 992 40.3 ... Konfiguration ... 99341. Luftraumüberwachung ... 999 41.1 ... Technischer Hintergrund und Hardware ... 999 41.2 ... Software ... 100042. Die Servokamera ... 1005 42.1 ... Die Hardware ... 1006 42.2 ... Die Python-Software ... 1006 42.3 ... Die Streaming-Software ... 1008 42.4 ... Die Weboberfläche ... 1010 42.5 ... Inbetriebnahme ... 101143. PomodoPi ... 1013 43.1 ... Der Bodenfeuchtigkeitssensor ... 1013 43.2 ... Die Blumenampel ... 1021 43.3 ... Die automatische Bewässerung ... 1023 43.4 ... Photosynthese sichtbar machen ... 102744. Wassermelder mit Handyalarm ... 1031 44.1 ... Hardware ... 1031 44.2 ... Pushbullet ... 103345. Dicke Luft -- Feinstaubmessung und Innenluftqualität ... 1037 45.1 ... Was ist Feinstaub? ... 1037 45.2 ... Welcher Sensor kann PM10 und PM2.5 messen und wie funktioniert das? ... 1038 45.3 ... Anschauliche Grafiken im Web ... 1042 45.4 ... Luftqualitätssensor für den Innenraum ... 1046 Index ... 1049