Raspberry Pi programmieren mit Java

Raspberry Pi programmieren mit Java

von: Wolfgang Höfer

mitp Verlags GmbH & Co. KG, 2016

ISBN: 9783958450578

Sprache: Deutsch

576 Seiten, Download: 10088 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


 

eBook anfordern

Mehr zum Inhalt

Raspberry Pi programmieren mit Java



  Cover 1  
  Titel 3  
  Impressum 4  
  Inhaltsverzeichnis 5  
  Einleitung 13  
  Kapitel 1: Der Raspberry Pi 19  
     1.1 Das Board 19  
        1.1.1 Der Prozessor 20  
        1.1.2 Die GPU (Graphics Processing Unit) 20  
        1.1.3 Audio 21  
        1.1.4 Netzwerk und USB 22  
        1.1.5 CSI (Camera Serial Interface) 22  
        1.1.6 DSI (Display Serial Interface) 22  
        1.1.7 Status-LEDs 24  
        1.1.8 Der Schacht für die SD-Karte 24  
        1.1.9 GPIO (General Purpose Input and Output) 25  
     1.2 Ein Gehäuse für den Raspberry Pi 27  
     1.3 Das richtige Netzteil 27  
     1.4 Tastatur, Maus und HDMI-Kabel 28  
     1.5 Die SD-Karte 28  
  Kapitel 2: Booten und konfigurieren 29  
     2.1 Das Betriebssystem auf die SD-Karte laden 29  
     2.2 Booten 30  
        2.2.1 Reboot und richtig ausschalten 36  
        2.2.2 Mögliche Fehler 38  
     2.3 Der Raspberry Pi und das Netzwerk 39  
     2.4 Der Desktop 42  
     2.5 Den Raspberry Pi headless betreiben 44  
     2.6 Der Raspberry Pi und das WLAN 52  
     2.7 Ein Backup 57  
  Kapitel 3: Linux auf dem Raspberry Pi 59  
     3.1 Verzeichnisse 60  
     3.2 Dateien 63  
     3.3 Suchen 65  
     3.4 Berechtigungen 67  
     3.5 Benutzer verwalten 69  
     3.6 Administrator werden 71  
     3.7 Dateien und Verzeichnisse packen 72  
     3.8 Softwarepakete verwalten 73  
     3.9 Netzwerk 74  
     3.10 Prozesse 74  
     3.11 Gemischtes 75  
  Kapitel 4: Projektvorbereitung 77  
     4.1 BlueJ installieren 78  
     4.2 Pi4J installieren 79  
     4.3 Pi4J in BlueJ einbinden 79  
     4.4 Das Buchprojekt installieren 82  
     4.5 Ein Projekt anlegen und Pi4J testen 82  
     4.6 Ein Überblick über das Buchprojekt 87  
     4.7 Das Gertboard 89  
        4.7.1 Das Testprogramm 93  
        4.7.2 Die Klasse TestLED 96  
  Kapitel 5: Datum und Zeit 99  
     5.1 Die Date-Klasse 99  
        5.1.1 Jede Zeitangabe gehört zu einer Zeitzone und einem Sprachraum 100  
     5.2 Die Klassen Calendar und GregorianCalendar 100  
     5.3 Datum und Zeit formatieren und parsen 102  
     5.4 An welchem Wochentag habe ich Geburtstag? 104  
     5.5 Wie viele Arbeitstage liegen zwischen Weihnachten und Silvester? 106  
     5.6 Relais schalten 108  
     5.7 Akkus zeitgesteuert laden 113  
     5.8 Zeitsteuerung einer Kamera 117  
     5.9 Die Navigation in BlueJ 121  
  Kapitel 6: Digitale Eingänge und Sensoren 123  
     6.1 Den Raspberry Pi über einen Taster steuern 123  
     6.2 Externe Prozesse über einen Taster steuern 129  
     6.3 Der Bewegungsmelder HC-SR501 134  
     6.4 Licht und Musik über den Bewegungsmelder steuern 135  
     6.5 Abstandsmessung mit dem Ultraschallsensor HC-SR04 143  
     6.6 Schmitt-Trigger für analoge Sensoren 147  
  Kapitel 7: Swing lernen 151  
     7.1 Ein Fenster erzeugen 151  
     7.2 Swing-Komponenten 155  
     7.3 Auf Ereignisse reagieren und Text verarbeiten 157  
     7.4 Auf Ereignisse in einer Auswahlliste reagieren 160  
     7.5 Auf Ereignisse in Checkboxen und Radiobuttons reagieren 162  
     7.6 Auf Ereignisse in einer Liste reagieren 166  
     7.7 Noch etwas über Ereignisse 169  
  Kapitel 8: Analoge Eingänge und Sensoren 171  
     8.1 Den MCP3002 an den Raspberry Pi anschließen 173  
     8.2 Temperaturmessung mit einem NTC-Widerstand 178  
        8.2.1 Kennlinie linearisieren 178  
        8.2.2 Der passende Verstärker 182  
        8.2.3 Die Schutzschaltung 185  
     8.3 LDR-Sensoren 188  
     8.4 Analoge Distanzsensoren 193  
  Kapitel 9: Messwerte speichern 199  
     9.1 Auf Dateien und Verzeichnisse zugreifen 199  
        9.1.1 Dateisystem 199  
        9.1.2 In eine Datei schreiben 200  
        9.1.3 Aus einer Datei lesen 202  
     9.2 Listen, Mengen und assoziative Speicher 203  
        9.2.1 Mit Listen arbeiten 204  
        9.2.2 Mit Mengen arbeiten 205  
        9.2.3 Arbeiten mit assoziativem Speicher 206  
     9.3 Zeichenketten formatieren 208  
     9.4 Einen Datenlogger schreiben 211  
     9.5 Temperatur und Beleuchtungsstärke loggen 227  
  Kapitel 10: Messwertgrafiken mit Swing 233  
     10.1 Das Prinzip der Komponentenentwicklung 233  
     10.2 Die Hilfsklasse ComputeDiagram 235  
     10.3 Die Swing-Komponente JDiagram 243  
     10.4 Diagramme in einer Swing-Anwendung anzeigen 256  
     10.5 Geloggte Messwerte anzeigen 259  
  Kapitel 11: Threads und reguläre Ausdrücke 263  
     11.1 Threads implementieren 263  
        11.1.1 Threads anlegen und starten 264  
        11.1.2 Threads beenden 266  
        11.1.3 Daten teilen 267  
        11.1.4 Auf das Ende warten 272  
     11.2 Reguläre Ausdrücke 273  
        11.2.1 Zeichenklassen 275  
        11.2.2 Vordefinierte Zeichenklassen 276  
        11.2.3 Häufigkeit 276  
  Kapitel 12: Füllstandsanzeige für eine Zisterne 279  
     12.1 Die Schaltung 280  
     12.2 Der HTTP-Server stellt sich vor 283  
     12.3 Den Webserver bauen 286  
        12.3.1 Die Klasse RaspiHttpServer 286  
        12.3.2 Die Klasse HttpHandlerZisterne 288  
        12.3.3 Die Klasse Scheduler 294  
        12.3.4 Die Klasse Sensor 297  
     12.4 Der Client 298  
        12.4.1 Die Klasse HttpClient 298  
        12.4.2 Die Swing-Anwendung 301  
  Kapitel 13: Eine Heizungssteuerung 309  
     13.1 Die Schaltung 309  
     13.2 Das Programmkonzept 312  
        13.2.1 Die Klasse RaspiHttpServer 313  
        13.2.2 Die Klasse HttpHandlerHeizung 314  
        13.2.3 Die Klasse Scheduler 321  
        13.2.4 Die Klasse Sensor 326  
     13.3 Der Client 328  
        13.3.1 Die Klasse HttpClient 328  
        13.3.2 Die Klasse JTempPanel 332  
        13.3.3 Die Klasse Gui 336  
  Kapitel 14: Eine Zeitschaltuhr 347  
     14.1 Die Schaltung 347  
     14.2 Das Programmkonzept 347  
        14.2.1 Die Klasse RaspiHttpServer 350  
        14.2.2 Die Klasse SchedulerPort 350  
        14.2.3 Die Klasse HttpHandlerZeitschaltuhr 351  
     14.3 Der Client 359  
        14.3.1 Die Klasse HttpClient 362  
        14.3.2 Die Klasse ZeitschaltuhrProperties 363  
        14.3.3 Die Klasse GuiUtil 364  
        14.3.4 Die Klasse Gui 368  
     14.4 Einen Autostart für den Server einrichten 378  
     14.5 Hinweise zum Betrieb des Servers 379  
     14.6 Eine Desktop-Verknüpfung erstellen 380  
  Kapitel 15: E-Mail-Alarm 381  
     15.1 Das Package raspi.mail 382  
        15.1.1 Die Klasse MailService 382  
        15.1.2 Die Klasse EMail 390  
     15.2 Das Projekt 391  
        15.2.1 Die Klasse AlarmProperties 394  
     15.3 Die Klasse AlarmService 396  
     15.4 Die Klasse Shutdown 399  
     15.5 Die Klasse Alarm 400  
     15.6 Autostart 405  
  Kapitel 16: Der I2C-Bus 407  
     16.1 Den I2C-Bus einrichten 411  
     16.2 Den I2C-Bus mit Pi4j steuern 414  
     16.3 Eine Hilfsklasse für I2C-Geräte 416  
     16.4 Der Temperatursensor MCP9808 421  
     16.5 Die Arbeitsweise des MCP9808 424  
     16.6 Die Klasse MCP9808 426  
     16.7 Den Sensor testen 434  
     16.8 Den Sensor im Komparator-Modus testen 440  
  Kapitel 17: Die serielle Schnittstelle RS232 445  
     17.1 Die Schnittstelle konfigurieren 448  
     17.2 Mit Pi4J die serielle Schnittstelle steuern 449  
     17.3 Der Ultraschall-Entfernungssensor SRF02 451  
     17.4 Die Klasse SRF02 454  
     17.5 Entfernungsmessung 461  
     17.6 Kurze Distanzen 463  
     17.7 Die Sensoradresse ändern 464  
  Kapitel 18: Textausgabe mit LCD-Displays 467  
     18.1 Der Befehlssatz des HD 44780 470  
        18.1.1 Clear Display 470  
        18.1.2 Cursor Home 470  
        18.1.3 Entry Mode Set 470  
        18.1.4 Display On/Off Control 471  
        18.1.5 Cursor / Display Shift 471  
        18.1.6 Function Set 472  
        18.1.7 RAM Address Set und Data write 472  
        18.1.8 CG RAM Address Set 474  
        18.1.9 Und noch zwei Lesebefehle 474  
     18.2 Die Initialisierung des Displays 474  
     18.3 Das Programmkonzept 476  
     18.4 Die Klasse DisplayHD44780 477  
     18.5 Die Klasse PinDirect 483  
     18.6 Das Display testen 487  
        18.6.1 Die Klasse Test8Bit 488  
        18.6.2 Die Klasse Test4Bit 489  
        18.6.3 Die Klasse TestDisplay 490  
     18.7 Das Display über den MCP23017 ansteuern 491  
        18.7.1 Die Klasse PinMCP23017 493  
        18.7.2 Die Klasse Test8BitMCP23017 496  
        18.7.3 Die Klasse Test4BitMCP23017 497  
  Anhang A: Java 499  
     A.1 Der erste Programmcode 499  
     A.2 Java-Konzepte 502  
        A.2.1 Objekte 502  
        A.2.2 Klassen und Instanzen 503  
        A.2.3 Vererbung 504  
        A.2.4 Interface 506  
        A.2.5 Package 507  
     A.3 Java-Grundlagen 508  
        A.3.1 Variable 508  
        A.3.2 Arrays 511  
        A.3.3 Operatoren 513  
        A.3.4 Programmfluss 517  
     A.4 Java ist objektorientiert 520  
        A.4.1 Klasse 520  
        A.4.2 Variablen 521  
        A.4.3 Methoden 522  
        A.4.4 Konstruktoren 524  
        A.4.5 this 525  
        A.4.6 Zugriffsrechte 525  
        A.4.7 static und final 526  
        A.4.8 Anonyme innere Klassen 527  
        A.4.9 ENUM-Datentypen 530  
        A.4.10 Interfaces 531  
        A.4.11 Vererbung 536  
        A.4.12 Methoden überschreiben 541  
        A.4.13 Super 544  
        A.4.14 Überschreiben unterbinden 545  
        A.4.15 Abstrakte Klassen und Methoden 545  
     A.5 Wrapper-Klassen für numerische Datentypen 546  
     A.6 Zeichenkette (String) 549  
     A.7 Character 552  
     A.8 Boolean 553  
     A.9 Exceptions 554  
     A.10 Garbage-Collector 560  
     A.11 Packages 561  
  Stichwortverzeichnis 565  

Kategorien

Service

Info/Kontakt