Raspberry Pi - Das umfassende Handbuch

Raspberry Pi - Das umfassende Handbuch

 

 

 

von: Michael Kofler, Charly Kühnast, Christoph Scherbeck

Rheinwerk Computing, 2015

ISBN: 9783836237970

Sprache: Deutsch

1089 Seiten, Download: 20785 KB

 
Format:  EPUB, PDF, auch als Online-Lesen

geeignet für: geeignet für alle DRM-fähigen eReader geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen PC, MAC, Laptop
Typ: A (einfacher Zugriff)

 

eBook anfordern

Mehr zum Inhalt

Raspberry Pi - Das umfassende Handbuch



  Vorwort 15  
  TEIL I Den Raspberry Pi kennenlernen 19  
     1 Kauf und Inbetriebnahme 21  
        1.1 Kauf 21  
           Raspberry-Pi-Modelle 22  
           Anschlüsse 24  
           Netzteil 26  
           SD-Karte 27  
           Gehäuse 29  
           Tastatur und Maus 29  
           USB-Hub 30  
           WLAN- und Bluetooth-Adapter 31  
           Was Sie sonst noch brauchen 31  
        1.2 Raspberry-Pi-Distributionen 32  
        1.3 NOOBS-Installation 33  
           SD-Karte formatieren 34  
           USB-SD-Card-Reader 35  
           NOOBS 36  
        1.4 Image-Datei auf eine SD-Karte schreiben 40  
           Image-Dateien herunterladen 40  
           Image-Datei unter Windows auf eine SD-Karte übertragen 41  
           Image-Datei unter OS X auf eine SD-Karte übertragen 42  
           Image-Datei unter Linux auf eine SD-Karte übertragen 44  
           Distributionsspezifische Installationsprogramme 45  
        1.5 Installation auf einen USB-Stick 45  
           Vor- und Nachteile 45  
           USB-Stick vorbereiten 46  
           SD-Karte vorbereiten 46  
           Systempartition vergrö\T1\ss ern 47  
     2 Erste Schritte in Raspbian 51  
        2.1 Das Konfigurationsprogramm raspi-config 52  
           Expand Filesystem 52  
           Change User Password 53  
           Enable Boot to Desktop/Scratch 53  
           Internationalisation Options 53  
           Enable Camera 54  
           Add to Rastrack 54  
           Overclock 55  
           Advanced Options 55  
           Neustart 56  
        2.2 Ein- und Ausschalten 57  
           Wenn der Raspberry\unhbox \voidb@x \penalty \@M Pi abstürzt 57  
        2.3 Die Benutzeroberfläche LXDE 58  
           Icons 59  
           Das Panel 59  
           Programme starten 60  
           Optische Gestaltung des Desktops 61  
           Tastenkürzel 61  
           Bildschirmschoner 63  
        2.4 Wichtige Programme 64  
           Der Dateimanager 64  
           LXTerminal 65  
           Leafpad und Gedit (Editoren) 66  
           Internet und Spiele 68  
           Bild- und PDF-Viewer 71  
           Audio- und Video-Player 71  
           Textverarbeitung und Tabellenkalkulation 74  
           Software-Entwicklung 74  
           Screenshots 75  
        2.5 WLAN-Konfiguration 76  
        2.6 Bluetooth-Konfiguration 78  
        2.7 USB-Sticks und -Festplatten 79  
        2.8 Drucker 80  
     3 Arbeiten im Terminal 83  
        3.1 Erste Experimente 83  
           Dateien und Verzeichnisse 84  
           Zugriff auf Systemdateien 84  
           Hardware-Tests 85  
           vcgencmd 86  
           Software-Verwaltung 86  
           Freien Speicherplatz ermitteln 87  
           Online-Hilfe 88  
        3.2 Eingabeerleichterungen und Tastenkürzel 89  
           alias-Abkürzungen definieren 91  
           Textkonsolen 91  
        3.3 Farbspiele 92  
           Den Prompt individuell einrichten 92  
           ls-Farben 93  
        3.4 Die Bourne Again Shell (bash) 94  
           Jokerzeichen 95  
           Ein- und Ausgabeumleitung 96  
           Kommandos im Hintergrund ausführen 97  
           Mehrere Kommandos ausführen 97  
           Rechnen in der bash 99  
           Umgebungsverhalten 99  
        3.5 Arbeiten mit Administratorrechten (sudo) 100  
           sudo-Anwendung 101  
           sudo-Konfiguration 101  
        3.6 Textdateien lesen und ändern 103  
           cat und less 103  
           tail 104  
           grep 104  
           Texteditoren 105  
           nano 106  
           Vi 107  
           jmacs 108  
        3.7 Verzeichnisse und Dateien 109  
           Verzeichnisse 109  
           Linux-Verzeichnisbaum 110  
           Dateien auflisten 111  
           Verborgene Dateien und Verzeichnisse sichtbar machen 112  
           Dateien suchen 113  
           Textdateien inhaltlich durchsuchen 114  
           Links 115  
        3.8 Komprimierte Dateien und Archive 116  
           Komprimieren und dekomprimieren 117  
           TAR-Archive 118  
           ZIP-Archive 119  
        3.9 Prozessverwaltung 119  
           Liste aller laufenden Prozesse 120  
           Prozesshierarchie 122  
           Prozesse abbrechen 123  
           Prozesspriorität einstellen 123  
           Systemdienste steuern 124  
        3.10 Netzwerkkommandos 125  
           Netzwerkstatus ermitteln 125  
           Dateien per FTP und HTTP übertragen 127  
     4 Arbeitstechniken 129  
        4.1 Programme installieren und verwalten 130  
           Programme bzw. Pakete installieren 130  
           Programme bzw. Pakete entfernen 131  
           Informationen über Pakete ermitteln 131  
        4.2 Updates 133  
           Raspbian aktualisieren 133  
           Firmware- und Kernel-Updates 134  
        4.3 SSH 137  
           Voraussetzungen auf dem Raspberry\unhbox \voidb@x \penalty \@M Pi 137  
           Voraussetzungen auf Ihrem Arbeitsrechner 138  
           SSH anwenden 138  
           Grafikprogramme ausführen 140  
           SSH-Login mit Schlüsseln statt Passwörtern 140  
           SSH-Login nach einer Raspberry-Pi-Neuinstallation 141  
           Dateien kopieren mit scp 142  
           Zugriff auf das Raspberry-Pi-Dateisystem im Dateimanager 144  
           Die Kommandos ssh und scp auf dem Raspberry\unhbox \voidb@x \penalty \@M Pi nutzen 144  
        4.4 VNC 145  
           Erste Tests 145  
           VNC-Viewer unter Windows 146  
           VNC-Viewer unter OS X 147  
           VNC-Viewer unter Linux 147  
           Programme mit root-Rechten ausführen 148  
           Start des VNC-Servers automatisieren 149  
           VNC über einen SSH-Tunnel 151  
        4.5 Netzwerkverzeichnisse nutzen 153  
           Grundlagen 153  
           Beispiele 155  
           Verzeichnisse dauerhaft einbinden (/etc/fstab) 157  
        4.6 Netzwerkverzeichnisse anbieten (Samba-Server) 159  
           Ein Verzeichnis mit Passwortschutz freigeben 161  
           Freigabe testen 163  
           Weitere Verzeichnisse freigeben 164  
           Ein Verzeichnis ohne Passwortschutz freigeben 165  
           Absicherung und Grundeinstellungen 165  
        4.7 Internetzugriff auf den Raspberry\unhbox \voidb@x \penalty \@M Pi 166  
           Wo ist das Problem? 166  
           Lösungsvarianten 168  
           Alternativen 169  
        4.8 Dynamisches DNS 170  
           Wozu dient und wie funktioniert dynamisches DNS? 170  
           Dynamisches DNS mit noip.com einrichten 171  
           Port Forwarding einrichten 172  
           Test 174  
           Fehlersuche 174  
        4.9 IPv6 176  
           IPv6 aktivieren 176  
           gogoc-Installation 176  
           Test 179  
        4.10 FTP-Server einrichten 179  
           vsftpd installieren 180  
           Defaultkonfiguration 180  
           Eigene Konfiguration 181  
           FTP ausprobieren 181  
        4.11 Programme beim Systemstart ausführen 182  
           rc.local 182  
           Autostart-Programme für den Desktop 183  
           Autostart-Dateien für Openbox 184  
        4.12 Programme regelmä\T1\ss ig ausführen (Cron) 184  
           /etc/cron.xxx-Verzeichnisse 184  
           /etc/crontab-Datei 185  
           /etc/cron.d-Verzeichnis 186  
           Benutzerspezifische Crontab-Dateien 186  
           Anacron 186  
        4.13 Monitor zeitgesteuert ein- und ausschalten 187  
           Monitor ein- und ausschalten 188  
        4.14 Backups erstellen 188  
           Backups mit rsync 189  
           Backups mit tar 190  
           Backup einer SD-Karte unter Windows 190  
           Backup einer SD-Karte unter OS X 191  
           Backup einer SD-Karte unter Linux 192  
        4.15 Overclocking 192  
           Aktuelle Taktfrequenz und Temperatur ermitteln 193  
           Overclocking-Parameter in config.txt 193  
           Overclocking mit raspi-config 194  
        4.16 Notfall-Tipps 195  
           Stromversorgung 195  
           SD-Karte 196  
           Display-Probleme 196  
           Status-Leuchtdioden (RPi1-A und RPi1-B) 197  
           Status-Leuchtdioden (RPi1-B+ und RPi2) 198  
     5 Linux-Grundlagen 199  
        5.1 Benutzer und Gruppen 200  
           Benutzer und Passwörter 201  
           Gruppen 203  
           Kommandos zur Benutzer- und Gruppenverwaltung 204  
           sudo 206  
           Auto-Login abstellen 207  
        5.2 Zugriffsrechte 208  
           Zugriffsrechte auf Dateien 208  
           Zugriffsrechte auf Verzeichnisse 209  
           Oktalschreibweise 211  
           Zugriffsrechte einstellen 212  
           Praxisbeispiele 214  
        5.3 Paketverwaltung 214  
           Konfiguration 215  
           Hauptpaketquelle 215  
           Weitere Paketquellen 216  
           Aus welcher Paketquelle stammt ein Paket? 217  
        5.4 Verwaltung des Dateisystems 217  
           Dateisysteme 217  
           Device-Dateien 218  
           Das mount-Kommando 220  
           Die Datei /etc/fstab 222  
           Datenträger partitionieren und formatieren 223  
        5.5 Netzwerkkonfiguration 225  
           Glossar 225  
           Die Datei /etc/network/interfaces 228  
           Statische LAN-Konfiguration 229  
           Manuelle WLAN-Konfiguration 230  
           WLAN-Treiberprobleme (RTL8188eu) 231  
           Nameserver-Konfiguration 232  
           Hostname ändern 233  
        5.6 Bluetooth 234  
           Bluetooth-Geräte erkennen 234  
           Pairing 234  
           Verbindungsaufbau erzwingen 235  
        5.7 Systemstart 236  
           1st-Stage-Bootloader 236  
           2nd-Stage-Bootloader (bootcode.bin) 237  
           Kernelparameter (cmdline.txt) 238  
           Kernelstart 239  
           Init-Systeme 240  
           Die Runlevel des Init-V-Systems 240  
           Systeminitialisierung 241  
           Runlevel 2 aktivieren 242  
           Runlevel wechseln 242  
           Reboot und Halt 243  
           Systemdienste manuell starten und beenden 243  
           Den Start von Systemdiensten aktivieren und deaktivieren 244  
           Eigene Initialisierungsarbeiten durchführen 244  
           Eigene Systemdienste einrichten 245  
        5.8 Systemeinstellungen in config.txt 246  
           HDMI-Einstellungen 247  
           Overclocking 248  
           Video-Decodierung 248  
           Bootvorgang 249  
           Hardware-Parameter 249  
           Speicheraufteilung zwischen CPU und GPU 250  
           Das Kommando vcgencmd 250  
        5.9 Grafiksystem 251  
           Start des Grafiksystems 252  
           Auto-Start des Grafiksystems ein-/ausschalten 252  
           Auto-Login ein-/ausschalten 253  
           Manueller Start des Grafiksystems 253  
           Neue Grafiktreiber und Wayland 253  
        5.10 Kernel und Module 254  
           Kernelmodule 254  
           Module selbst kompilieren 256  
           Den Kernel selbst kompilieren 256  
        5.11 Device Trees 257  
           Device-Tree-Dateien und -Konfiguration 257  
     6 Ubuntu 261  
        6.1 Installation 262  
           Der MATE-Desktop 263  
        6.2 Konfiguration und technische Details 264  
           Die SD-Karte vollständig nutzen 264  
           SSH-Server 265  
           Systemd 265  
           Grundlegende Entwicklungswerkzeuge 265  
           RPi.GPIO 266  
           Kernelmodule 266  
           Zugriff auf die Kamera 267  
           Hardware-Decodierung und Video-Wiedergabe 268  
     7 Windows 10 269  
        7.1 Installation 269  
           Image-Datei schreiben 270  
           Inbetriebnahme 271  
        7.2 Anwendung 272  
           Fernwartung mit der PowerShell 272  
        7.3 Programmentwicklung mit Visual Studio 274  
           Hello World! 275  
           GPIOs steuern 277  
           Weitere Beispiele 279  
  TEIL II Der Raspberry Pi als Media-Center 281  
     8 Audio-Player mit Smartphone-Fernbedienung 283  
        8.1 MPD-Installation und -Konfiguration 283  
           Netzwerkkonfiguration 284  
           MPD-Installation und -Konfiguration 284  
           Erste Tests mit Xfmpc 286  
           Tonausgabe zwischen HDMI und Analog-Audio umschalten 287  
           MPDroid 288  
        8.2 MPD-Konfigurationsvarianten 289  
           Audio-Dateien auf einem USB-Stick 289  
           Audio-Dateien auf einem NAS 291  
           PulseAudio 293  
           CD-Cover-Abbildungen 294  
           Weboberfläche zur Steuerung 296  
           Musik als Audio-Stream verteilen (Icecast) 296  
        8.3 HiFiBerry 299  
           Perfekter Klang für Audiophile 299  
           HiFiBerry DAC+ 300  
           Konfiguration 301  
        8.4 Volumio 302  
           Installation und Konfiguration 303  
           HiFiBerry und AirPlay 304  
           Interna und Absicherung 305  
           Einschränkungen 306  
        8.5 Pi MusicBox 306  
           Installation 307  
           Konfiguration 307  
     9 Multimedia-Center mit Kodi und OpenELEC 309  
        9.1 OpenELEC-Installation und -Konfiguration 310  
           Standardinstallation auf eine SD-Karte 310  
           Installation auf einen USB-Stick (für Fortgeschrittene) 311  
           OpenELEC-Erstkonfiguration 312  
           Bluetooth 314  
           Netzwerk- und WLAN-Konfiguration 314  
           SSH nutzen 314  
           SSH absichern 316  
           Samba absichern 317  
           Überblick über das OpenELEC-Dateisystem 317  
           Hardware-Decodierung für MPEG-2 und VC-1 aktivieren 317  
           Overclocking 319  
           Audio-Ausgang wählen 320  
           RSS-Newsfeed abstellen 320  
           Kodi-Layout (Skins) 320  
           Screenshots 320  
           Updates 321  
        9.2 Fernbedienung 321  
           CEC-Fernbedienung 322  
           Smartphone-Fernbedienung 322  
           Infrarot-Fernbedienung 323  
        9.3 Kodi-Betrieb 326  
           Das erste Video abspielen 326  
           Video-Dateien eines USB-Sticks abspielen 328  
           Zugriff auf Video-Dateien aus Netzwerkverzeichnissen 329  
           Videos aus dem Internet 331  
           Audio-Dateien abspielen 331  
           Internet-Radios und Spotify 333  
           AirPlay 333  
     10 Multimedia-System mit Plex 335  
        10.1 Kodi oder Plex? 335  
           Plex-Vorteile 336  
           Plex-Nachteile 336  
           Glossar 337  
        10.2 Plex-Server-Konfiguration 338  
        10.3 RasPlex-Installation und -Konfiguration 341  
           Installation 341  
           Konfigurationsprogramme 343  
           WLAN-Konfiguration 345  
           Plex-Login 345  
           SSH und Samba 345  
           Hardware-Decodierung für MPEG-2 und VC-1 aktivieren 345  
           Audio-Ausgang 346  
           Fernbedienung 346  
           Bluetooth-Geräte 347  
           Bildschirmschoner 347  
           Screenshots 347  
        10.4 Plex-Anwendung 348  
  TEIL III Hardware-Grundlagen 351  
     11 Hardware-Einstieg 353  
        11.1 Platinenaufbau 353  
        11.2 Der BCM2836 354  
        11.3 GPIO-Kontakte 356  
           Der J8-Header 356  
           Nummerierungssysteme bzw. Pin-Namen 357  
           Das 50-mA-Limit 358  
           Welcher Pin für welchen Zweck? 358  
           GPIO-Verbindungen herstellen 362  
           Vorsichtsma\T1\ss nahmen 363  
        11.4 Stromversorgung 363  
           Das Steckernetzteil 364  
           Betrieb mit einer USB-Powerbank 364  
           Betrieb mit AA-Batterien 366  
           Der Linearregler 7805 367  
           Der Schaltregler LM2596S 368  
           Versorgung über den USB-Port 370  
        11.5 Gehäuse 371  
           The Punnet -- Das kostenlose Papiergehäuse 371  
           Das Legogehäuse 372  
           Multi-Pi -- Das stapelbare Raspberry-Pi-Gehäuse 372  
           Standardgehäuse für den Raspberry Pi 2 373  
     12 Elektrotechnik-Crashkurs 375  
        12.2 Grundschaltungen 377  
           Darstellung der Schaltpläne 377  
           Reihenschaltung 378  
           Parallelschaltung 379  
           Kombinierte Schaltung 379  
           Spannungsteiler 381  
        12.3 Elektronische Grundbauteile 382  
           Diode 382  
           Leuchtdiode 382  
           Kondensator 384  
           Spule 384  
           Transistor 385  
           Relais 386  
        12.4 Das Multimeter 387  
        12.5 Breadboard oder Platine? 390  
           Breadboards 390  
           Streifen- oder Lochrasterplatinen 391  
        12.6 Löten 392  
        12.7 Breadboardadapter 394  
           Breadboardadapter selbst erstellen 394  
           Cobbler 396  
     13 LEDs 1  
        13.1 Leuchtdioden (LEDs) 399  
           LED im Dauerbetrieb 399  
           LED per Python ein- und ausschalten 401  
           LEDs über Transistoren schalten 402  
           LEDs mit Darlington-Transistoren ansteuern 403  
           LEDs mit einem Taster ein- und ausschalten 405  
           LEDs mit Software-PWM dimmen 410  
           LEDs mit Hardware-PWM dimmen 412  
           RGB-LEDs 413  
        13.2 Optokoppler 417  
        13.3 Elektromotoren 418  
           Der geeignete Motor 419  
           Gleichstrom- und Wechselstrommotoren 419  
           Die H-Brücke 421  
           Der Motortreiber L298 423  
           Verdrahtung und Software 424  
           Motordrehzahl per Software ändern 429  
        13.4 Schrittmotoren 431  
           Bipolare Ansteuerung 432  
           Unipolare Ansteuerung 436  
           Intelligente Schrittmotortreiber 438  
        13.5 Servomotoren 441  
           Servo-Programmierung mit {\T1\guillemotright }pigpio{\T1\guillemotleft } 444  
        13.6 Relais 447  
           Relaistypen 447  
     14 Bussysteme 451  
        14.1 SPI 451  
           SPI per raspi-config einrichten 452  
           SPI manuell einrichten 453  
           Das digitale Potenziometer 454  
           Daten per SPI senden 456  
           Daten per SPI lesen 459  
        14.2 Der Analog-/Digitalwandler MCP3008 460  
        14.3 Der Digital-/Analogwandler MCP4811 465  
           SPI-Bauteile 470  
        14.4 I$^{\protect \unhbox \voidb@x \setbox \z@ \hbox {2}\dimen@ -\wd \z@ \kern -.5\ex@ \copy \z@ \kern \dimen@ \kern .25\ex@ \raise .4\ex@ \copy \z@ \kern \dimen@ \kern .25\ex@ \box \z@ }$C 471  
           Der Portexpander MCP23017 473  
           I$^{\protect \unhbox \voidb@x \setbox \z@ \hbox {2}\dimen@ -\wd \z@ \kern -.5\ex@ \copy \z@ \kern \dimen@ \kern .25\ex@ \raise .4\ex@ \copy \z@ \kern \dimen@ \kern .25\ex@ \box \z@ }$C in Python 478  
        14.5 UART 480  
           UART aktivieren und säubern 480  
           Zwei Raspberry\unhbox \voidb@x \penalty \@M Pi via UART verbinden 481  
           Minicom 483  
           UART in Python 484  
           Wichtige pySerial-Funktionen 485  
        14.6 Der Audiobus I$^{\protect \unhbox \voidb@x \setbox \z@ \hbox {2}\dimen@ -\wd \z@ \kern -.5\ex@ \copy \z@ \kern \dimen@ \kern .25\ex@ \raise .4\ex@ \copy \z@ \kern \dimen@ \kern .25\ex@ \box \z@ }$S 486  
        14.7 1-Wire 487  
     15 Sensoren 489  
        15.1 PIR-Bewegungssensor 489  
           Programmierung 491  
        15.2 Ultraschallsensor 493  
           Hardware 493  
           Programmierung 494  
        15.3 Wasserstandssensor 496  
        15.4 Bodenfeuchtigkeitssensor 497  
           Automatische Bewässerung 499  
        15.5 Temperatursensoren 502  
           Der Temperatursensor DS1820 502  
           Temperatur- und Luftfeuchtigkeitssensor DHT22/AM2302 505  
        15.6 Fotowiderstand 509  
        15.7 Das Multi-Analogsensor-Board PCF8591 511  
        15.8 Raspberry\unhbox \voidb@x \penalty \@M Pi Camera Board und PiNoIR 514  
           Anschluss 515  
           raspistill und raspivid 517  
           Kamerasteuerung durch Python 518  
           Videos und Bilder am Raspberry\unhbox \voidb@x \penalty \@M Pi anzeigen 520  
           Videostreams und Online-Zugriff 521  
           VLC-Livestream 523  
           FTP-Upload 523  
           PiNoIR 524  
           Infrarot-Scheinwerfer für die PiNoIR 525  
        15.9 Reed-Kontakt 527  
        15.10 Hardware Real Time Clock 528  
        15.11 IR-Empfänger 533  
        15.12 Leitfaden für fremde Sensoren 534  
     16 Erweiterungsboards 537  
        16.1 Das Gertboard 538  
           Inbetriebnahme 539  
           Die drei Taster 540  
           Digitale Ein- und Ausgänge und Leuchtdioden 543  
           Der Open-Collector-Treiber 545  
           Der Motortreiber 545  
           Der Analog/Digital-Wandler 549  
           Der Digital/Analog-Wandler 551  
        16.2 Der ATmega auf dem Gertboard 553  
           Hello World! 553  
           avrdude 555  
           Die Arduino-IDE 556  
        16.3 Logic-Level-Converter 558  
        16.4 RasPiComm 559  
           Der Joystick und die 5-V-Ausgänge 561  
           Die Echtzeituhr 561  
           Die Schnittstellen 562  
        16.5 PiFace Digital 2 562  
           Der PiFace Digital Emulator 564  
           Die PiFace-Bibliothek 565  
           Interrupts und Events in der PiFace-Bibliothek 566  
           PiFace Rack und die Jumper 567  
        16.6 Quick2Wire Interface Board 568  
           Anschlüsse 569  
           Das Quick2Wire-Port-Expander-Board 571  
        16.7 Unterbrechungsfreie Stromversorgung mit PiUSV 572  
           Inbetriebnahme 572  
           Konfiguration und Steuerung 574  
        16.8 GertDuino 575  
           Die Einrichtung 576  
           Der Arduino Sketch 578  
           Das Python-Programm auf dem Raspberry Pi 578  
           Programme starten 579  
        16.9 Raspberrry-Pi-HATs 580  
           Prototyping HATs 580  
           HATs und das EEPROM 581  
        16.10 Adafruit PWM/Servo-HAT 585  
           PWM-Signale erzeugen 586  
           Servomotoren ansteuern 588  
        16.11 BrickPi 589  
        16.12 GrovePi 591  
     17 Displays 593  
        17.1 7-Segment-Anzeige 593  
        17.2 16$\protect \unhbox \voidb@x \setbox \z@ \hbox {\times }\dimen@ -\wd \z@ \kern -.5\ex@ \copy \z@ \kern \dimen@ \kern .25\ex@ \raise .4\ex@ \copy \z@ \kern \dimen@ \kern .25\ex@ \box \z@ $2-LC-Display 597  
           Pin-Belegung 598  
           Programmierung 598  
        17.3 RaspiLCD 602  
           Der Anschluss an den Raspberry Pi 602  
           Die Ansteuerung mit Python 604  
           Funktionsübersicht 607  
        17.4 PiTFT -- Der Touchscreen für den Raspberry\unhbox \voidb@x \penalty \@M Pi 609  
           Der Zusammenbau 611  
           Die Einrichtung unter Raspbian 612  
           Weiterführende Links 613  
        17.5 Kfz-Rückfahrmonitore 614  
           Darstellung optimieren 616  
        17.6 LS-7T – Der Plug&Play-Touchscreen 618  
           Der Anschluss 620  
           Bildausschnitt anpassen 620  
           Die Kalibrierung des Touchscreens 621  
        17.7 Weitere Display-Boards 622  
           C-Berry 622  
           RPi-Display Plus von Watterott 623  
           SainSmart Mini TFT Display 623  
           HDMIPi 623  
           Displays für den DSI-Anschluss 624  
  TEIL IV Programmierung 625  
     18 Python kennenlernen 627  
        18.1 Python ausprobieren 628  
           Python in einem Terminalfenster ausführen 628  
           IDLE 629  
        18.2 Python-Konzepte interaktiv kennenlernen 630  
           Zahlen 631  
           Zeichenketten 633  
           Listen 635  
           Tupel (Sequenzen) 637  
           Sets (Mengen) 638  
           Dictionaries (Assoziative Arrays) 639  
        18.3 Hello World! 640  
           Texteditoren 641  
           {\T1\guillemotright }Hello World{\T1\guillemotleft } mit LeafPad verfassen und ausprobieren 641  
           {\T1\guillemotright }Hello World{\T1\guillemotleft } in IDLE3 verfassen und ausprobieren 644  
           Noch ein Einführungsbeispiel 645  
     19 Python-Grundlagen 647  
        19.1 Elementare Syntaxregeln 647  
           Anweisungen 647  
           Blockelemente 648  
           print 649  
           print in Python 2 650  
           input 650  
           Module und {\T1\guillemotright }import{\T1\guillemotleft } 651  
           Kommentare 652  
           Eingebaute Hilfe 652  
        19.2 Variablen und Objekte 653  
           Variablen 654  
           Mutable oder immutable 655  
           Veränderliche Daten kopieren 656  
           Datentypen 657  
           Typumwandlung 658  
           Variablen und Daten vergleichen 659  
           Gültigkeit von Variablen 660  
           Garbage Collection 661  
           Shared References 662  
        19.3 Operatoren 663  
           Zuweisungen 665  
           Extended Sequence Unpacking 666  
        19.4 Verzweigungen (if) 666  
           if-Verzweigungen 666  
           Bedingungen 667  
           if-Kurzschreibweise 667  
        19.5 Schleifen (for und while) 668  
           Schleifen über Zahlenbereiche (range) 669  
           Schleifen über die Zeichen einer Zeichenkette 670  
           Schleifen über Dictionaries 671  
           Schleifen über alle Script-Parameter 672  
           Schleifen über die Zeilen einer Textdatei 673  
           Schleifen über alle Dateien eines Verzeichnisses 673  
        19.6 Zeichenketten 674  
           Unicode 675  
           raw-Zeichenketten 676  
           String-Konvertierung und -Formatierung 676  
           Reguläre Ausdrücke 678  
        19.7 Listen 680  
           map 680  
           reduce 682  
           filter 682  
           zip 683  
        19.8 Umgang mit Fehlern (Exceptions) 683  
           try/except 683  
           Fehler in Funktionen und Methoden 686  
           with/as 687  
           Selbst Exceptions auslösen 688  
           Programmunterbrechungen abfangen 688  
        19.9 Funktionen 689  
           Eigene Funktionen definieren 690  
           Lokale und globale Variablen 691  
           Funktionsparameter 693  
           Optionale Parameter 694  
           Variable Parameteranzahl 695  
           Lambda-Funktionen 697  
           Funktionales Programmieren 698  
        19.10 Objektorientiertes Programmieren 699  
           Eigene Klassen definieren 700  
           Methoden 701  
           Konstruktor 702  
           Klassenvariablen und Namensräume 703  
           Private Klassenvariablen 705  
           Getter- und Setter-Methoden 705  
           Operator Overloading 706  
           Beispiel: Rechteck-Klasse 707  
           Vererbung 708  
        19.11 Systemfunktionen 711  
           Zugriff auf die Programmparameter 711  
           Zugriff auf Standardeingabe und Standardausgabe 712  
           Modul-Metainformationen ermitteln 712  
           Programm beenden 712  
           Andere Programme bzw. Kommandos aufrufen 713  
           Warten (sleep) 714  
     20 Programmieren mit Python 715  
        20.1 Programmieren lernen 715  
           Beispiel 1: die Summe der Zahlen von 1 bis 1000 ausrechnen 716  
           Beispiel 2: die Fakultäten von 1! bis 40! ausrechnen 717  
           Beispiel 3: Palindromtest 719  
        20.2 GPIO-Zugriff 720  
           GPIO-Pins lesen und verändern 720  
           Taster und Schalter 723  
           Software-PWM 724  
           Version des Raspberry-Pi-Modells herausfinden 725  
        20.3 Reset/Shutdown-Taste 726  
           Hard-Reset-Button 726  
           Soft-Reset-Button 726  
        20.4 Kamera 728  
           Fotos aufnehmen 728  
           Videos aufnehmen 730  
           Kameraparameter steuern 731  
        20.5 Dateien bei Dropbox hochladen 732  
           Foto mit Datum- und Zeitinfos hochladen 734  
        20.6 E-Mails versenden 735  
           Eine E-Mail mit Bitmap versenden 736  
           Eine Aufnahme der Raspberry-Pi-Kamera versenden 737  
        20.7 Textdateien lesen und schreiben 737  
           CSV-Dateien 739  
           Messdaten verarbeiten 740  
        20.8 Grafikprogrammierung 742  
           pygame und Python 3 742  
           Hello World! 743  
           pygame-Zeichenmethoden 745  
           Bilder speichern 747  
           Grafikspielereien 747  
           Temperaturkurve zeichnen 751  
        20.9 Grafische Benutzeroberflächen mit tkinter 754  
           Steuerelemente anordnen 755  
           Ereignisverarbeitung 760  
           Aufräumarbeiten beim Programmende 761  
           LED ein- und ausschalten 762  
           Helligkeit einer Leuchtdiode mit PWM steuern 763  
           Tastenzustand anzeigen 765  
     21 bash-Programmierung 769  
        21.1 Einführung 769  
           Hello World! 769  
           Noch ein Beispiel 769  
           Elementare Syntaxregeln 770  
           Kommandos aufrufen 771  
           In andere Scripts verzweigen 772  
           bash oder Python? 772  
        21.2 Variablen 773  
           Variablen mit read einlesen 774  
           Umgebungsvariablen 775  
           Vordefinierte bash-Variablen 775  
           Felder 776  
           Parametersubstitution 776  
           Zeichenketten bzw. Aufzählungen bilden 778  
        21.3 Schleifen 1  
           if-Verzweigungen 779  
           test 781  
           case 782  
           for 783  
           while und until 784  
           break und continue 786  
           function 786  
           Umgang mit Fehlern 787  
           exit 788  
           Reaktion auf Signale (trap) 788  
        21.4 WiringPi 789  
           gpio-Kommando 790  
           LED ein- und ausschalten 791  
           LED-Helligkeit steuern (PWM) 792  
           LED-Temperatur-Ampel 792  
     22 C-Programmierung 795  
        22.1 Hello World! 795  
           Der GNU-C-Compiler 795  
           make 796  
        22.2 GPIOs steuern 799  
           GPIO-Steuerung mit der WiringPi-Bibliothek 799  
           GPIO-Steuerung mit der bcm2835-Bibliothek 801  
     23 Java-Programmierung 803  
        23.1 Erste Schritte 803  
           Hello World! 803  
           Entwicklungsumgebungen (IDEs) 804  
           Java versus Python 805  
        23.2 GPIO-Steuerung mit Java 806  
           Installation 806  
           Hello Pi4J! 806  
           Mehr DigitalOutput-Steuerungsmöglichkeiten 808  
           Pulse Width Modulation 808  
           Eingaben verarbeiten 809  
     24 PHP-Programmierung 811  
        24.1 Apache installieren und konfigurieren 812  
           Apache-Konfiguration 813  
        24.2 Webverzeichnisse einrichten und absichern 814  
           Eigene Webverzeichnisse definieren 815  
           Beispiel 816  
           Verzeichnisse absichern 817  
           Passwortschutz für Webverzeichnisse 818  
           .htaccess-Datei 820  
        24.3 HTTPS 820  
        24.4 PHP installieren und konfigurieren 822  
           PHP ausprobieren 822  
        24.5 MySQL installieren und administrieren 823  
           MySQL installieren 823  
           MySQL-Konfiguration 824  
           Das mysql-Kommando 825  
           Neue Datenbanken einrichten 826  
           Datenbanken sichern und wiederherstellen 826  
           Administration mit phpMyAdmin 827  
        24.6 Hello World! in PHP 828  
           Fehlersuche 829  
        24.7 GPIO-Programmierung mit PHP 830  
           GPIOs auslesen und verändern 831  
           LED ein- und ausschalten 831  
           Temperatur auslesen 832  
        24.8 Kamerafunktionen mit PHP nutzen 833  
           Apache den Kamerazugriff erlauben 833  
           Ein Echtzeitfoto erstellen und übertragen 834  
           Ein Foto mit frei wählbaren Aufnahmeparametern erstellen 834  
     25 Mathematica und die Wolfram Language 837  
        25.1 Arbeiten mit Mathematica 837  
           Die grafische Benutzeroberfläche von Mathematica 838  
           Rechnen in Mathematica 839  
           Formeleingabe 840  
           Grafik 841  
           Mathematica im Textmodus 842  
           Grafiken im Textmodus anzeigen 843  
           Interna 844  
        25.2 Programmieren mit der Wolfram Language 844  
           Hello World! 844  
           Syntax 845  
           Funktionale Programmierung und symbolische Ausdrücke 846  
           GPIO-Zugriff 848  
           RaspiCam 849  
           Wolfram Language -- Pro und Kontra 850  
           Weitere Informationen und Links 851  
        25.3 Grafische Darstellung von Temperaturdaten 851  
           Temperaturaufzeichnung durch ein bash-Script 852  
           Grafische Verarbeitung durch die Wolfram Language 852  
  TEIL V Projekte 855  
     26 Der Raspberry Pi im Vogelhaus 857  
        26.1 Einbau des Raspberry\unhbox \voidb@x \penalty \@M Pi samt Kameramodul in ein Vogelhaus 857  
        26.2 Kamerapraxis 860  
           Das Kameramodul betriebsbereit machen 860  
           Kamera-LED deaktivieren 860  
           Standbilder mit raspistill aufnehmen 861  
           ISO-Einstellung 862  
           Zeitverzögerung und Zeitrafferfilme 862  
           Videos aufzeichnen mit raspivid 863  
        26.3 Bewegungserkennung mit motion 864  
           Motion konfigurieren 864  
        26.4 Das Vogelhaus im praktischen Einsatz 867  
           Lichtverhältnisse und Bildqualität 868  
     27 Zeitmessung mit Lichtschranken 871  
        27.1 Versuchsaufbau (Hardware) 871  
           Schaltungsaufbau mit IR-Lichtschranken 871  
        27.2 Software 874  
           Die pigpio-Bibliothek 874  
           Programmcode 875  
     28 Das autonome Auto 877  
        28.1 Hardware 877  
           Das Chassis 877  
           Der Liniensensor 878  
           Die Mechanik 879  
           Anschlusspläne 882  
           Die mobile Stromversorgung des Raspberry Pi 883  
           Stromversorgung der Motoren 884  
           Ausrichtung und erste Tests 884  
        28.2 Die Software 886  
           Die Jungfernfahrt 888  
     29 RFID-Türöffner mit Zutrittskontrolle 891  
        29.1 RFID-Hardware 892  
           Die RFID-Technologie 892  
           Reader und Transponder 892  
           Verdrahtung 894  
        29.2 Software 895  
           Die Zugangsdatenbank 895  
           Python-Code zum Auslesen der RFID-Transponder 896  
           Python-Code zum MySQL-Zugriff 897  
           Python-Code zum Hinzufügen der Transpondernummern 898  
           Python-Hauptprogramm 899  
           phpMyAdmin -- der Hausmeister 900  
        29.3 Erweiterungsmöglichkeiten und Tipps 901  
           Den Schrank abschlie\T1\ss en 901  
           LCD-Modul statt bash-Ausgabe 901  
           Sensor statt Zeitsteuerung 901  
           Alarm bei falschem Transponder 902  
           Die Empfangsantenne verstecken 902  
     30 Stromzähler auslesen 903  
        30.1 Stromzähler-Grundlagen 903  
           Lesekopf und Signalwandler 903  
           Die Smart Message Language 906  
        30.2 Einführung in RRDtool 907  
           Die Round-Robin-Datenbank erstellen 907  
           Werte in die Datenbank eintragen 909  
           Graphen erzeugen 909  
        30.3 Zählerdaten speichern und zu Graphen aufbereiten 912  
     31 Hausautomation mit Netzwerksteckdosen 915  
        31.1 Einführung 915  
           Universal-Schaltbox 915  
        31.2 Programmierung 917  
           Die Leistung der Photovoltaikanlage ermitteln 917  
           Das Web-Interface 920  
           Die Heizungssteuerung 923  
           Die Steuerung der schaltbaren Steckdose 927  
     32 Hausautomation mit 433-MHz-Funktechnologie 929  
        32.1 Hardware-Grundlagen 929  
           Funksteckdosen 929  
           Das Sendemodul 930  
           Anschluss des Sendemoduls 930  
           Vorbereitung der Steckdosen 931  
        32.2 Software und Steuerungsbeispiele 932  
           rcswitch-pi 932  
           Die klassische Zeitsteuerung 933  
           Automatische Anwesenheitserkennung 934  
           Überwachung von Analogsensoren 936  
           Fernbedienung per Weboberfläche 937  
           Noch mehr Ideen 939  
     33 Ort und Zeit per GPS empfangen 941  
        33.1 Haben Sie Zeit? Eine Uhr für den Raspberry Pi 941  
           Den NTP-Server installieren und konfigurieren 942  
           Das GPS-Modul in Betrieb nehmen 944  
           Die serielle Konsole deaktivieren 945  
           Den GPS-Dämon installieren und konfigurieren 946  
           Den NTP-Server mit dem GPS-Zeitsignal füttern 947  
           Das GPS-Zeitsignal mit PPS synchronisieren 948  
        33.2 Ortsbestimmung mit dem Raspberry Pi 950  
           Ortsangaben per Python aus dem Datenstrom filtern 951  
           Ortsangaben in ein Foto einbetten 953  
     34 Der Raspberry Pi lernt twittern 955  
        34.1 Voraussetzungen 955  
           Installation der benötigten Werkzeuge 955  
           Twitter-App registrieren 955  
        34.2 Programmierung 957  
           Die Twitter-Software in Python 957  
           Der erste Tweet 958  
           CPU-Temperatur twittern 959  
           Bilder twittern 961  
     35 Monitoring 963  
        35.1 Munin 963  
           Munin-Node: Installation und Konfiguration 964  
           Jäger und Sammler: Munin 966  
        35.2 SmokePing 969  
           Installation von SmokePing 970  
           Konfiguration 971  
           Mehr als Pings 973  
     36 Raspberry Pi-ratensender 975  
        36.1 FM-Transmitter einrichten 975  
           Technischer Hintergrund 975  
           Software-Installation 975  
           MP3-Dateien umwandeln und senden 976  
           Der DJ spricht 976  
     37 WLAN- 1  
        37.1 Einführung 977  
           Glossar 977  
           Voraussetzungen 978  
           Einschränkungen 979  
        37.2 WLAN-Access-Point 980  
           Netzwerk- und Brückenkonfiguration (/etc/network/interfaces) 982  
           WLAN-Authenticator (hostapd) 983  
           hostapd für Realtek-8188-Chipsets 985  
        37.3 WLAN-Router 986  
           Router-Funktionen 987  
           Konfigurationsüberblick 988  
           Netzwerkkonfiguration (/etc/network/interfaces) 988  
           Network Address Translation (NAT) 989  
           Forwarding 990  
           DHCP- und Nameserver (Dnsmasq) 991  
           Inbetriebnahme und Test 993  
        37.4 WLAN-Repeater 994  
           Unveränderliche Zuordnung der WLAN-Schnittstellen 995  
           Konfigurationsüberblick 996  
           Netzwerkkonfiguration (/etc/network/interfaces) 996  
           WLAN-Authenticator (hostapd) und DHCP-Server (Dnsmasq) 998  
           Inbetriebnahme 998  
        37.5 IPv6-Router 998  
           Grundlagen 998  
           Konfigurationsüberblick 1000  
           IPv6 aktivieren 1000  
           IPv6-Tunnel einrichten (SixXs) 1001  
           Netzwerkkonfiguration (/etc/network/interfaces) 1002  
           IPv6-Forwarding erlauben 1003  
           radvd einrichten 1003  
           Inbetriebnahme und Test 1003  
        37.6 Tor-Router 1005  
           Das Problem 1005  
           Das Tor-Netzwerk 1006  
           Sicherheit und Recht 1007  
           Anbindung eines WLAN-Routers an das Tor-Netz 1008  
           Test 1009  
           Nebenwirkungen 1010  
     38 AirPrint-Drucker selbst gemacht 1011  
        38.1 Voraussetzungen 1011  
           CUPS-Installation und -Konfiguration 1012  
           Druckerkonfiguration 1012  
           Druckgeschwindigkeit erhöhen 1014  
        38.2 AirPrint-Konfiguration 1015  
           Netzwerkdruck erlauben 1015  
           AirPrint-Beschreibung des Druckers für Avahi einrichten 1017  
           Praktische Erfahrungen 1017  
     39 Automatische Präsentationssysteme 1019  
        39.1 Einführung 1019  
           Tastensteuerung und Reset 1020  
           Bildschirmschoner und Energiesparfunktion 1020  
           Datenquelle 1020  
           Fertige Lösungen 1021  
        39.2 Werkzeugkasten 1022  
           Bilder anzeigen mit pqiv 1022  
           Bilder optimal aufbereiten 1022  
           MP3-Dateien abspielen 1023  
           Videos abspielen 1023  
           Autostart 1024  
           Bilder von einem USB-Stick lesen 1025  
        39.3 Autonome Bilder-Projektion 1026  
           Ausgangspunkt 1027  
           Bildverzeichnis synchronisieren 1027  
           Bilder anzeigen 1028  
           Start der Diashow 1029  
           Verbesserungsideen und Varianten 1029  
        39.4 Video-Player mit Menü 1030  
           Ausgangspunkt 1030  
           python-pygame-menu-class 1031  
           uinput 1032  
           Das Menüsystem 1033  
           Start des Videosystems 1036  
     40 Luftraumüberwachung 1037  
        40.1 Technischer Hintergrund und Hardware 1037  
        40.2 Software 1038  
           Installation von RTL-SDR und Dump1090 1039  
           Die Position der Flugzeuge im Webbrowser verfolgen 1039  
     41 Die Servokamera 1043  
        41.1 Die Hardware 1044  
        41.2 Die Python-Software 1044  
        41.3 Die Streaming-Software 1046  
        41.4 Die Weboberfläche 1048  
        41.5 Inbetriebnahme 1049  
     42 PomodoPi 1051  
        42.1 Der Bodenfeuchtigkeitssensor 1051  
           Wertewandel 1053  
           Öffentlicher Datennahverkehr 1053  
           Grafische Darstellung der Feuchtigkeit 1055  
        42.2 Die Blumenampel 1058  
        42.3 Die automatische Bewässerung 1059  
           Relaissteuerung durch Python 1062  
           Relaissteuerung automatisieren 1062  
        42.4 Photosynthese sichtbar machen 1064  
     43 Wassermelder mit Handyalarm 1067  
        43.1 Hardware 1067  
        43.2 Pushbullet 1068  
  Index 1073  

Kategorien

Service

Info/Kontakt

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek