Raspberry Pi mit Java programmieren
Raspberry Pi mit Java programmieren
Der Raspberry Pi ist ein Einplatinencomputer, der von der britischen Raspberry Pi Foundation entwickelt wurde. Der Rechner enthält ein Ein-Chip-System von Broadcom mit einem ARM-Mikroprozessor, die Grundfläche der Platine entspricht etwa den Abmessungen einer Kreditkarte. Der Raspberry Pi kam Anfang 2012 auf den Markt; sein großer Markterfolg wird teils als Revival des bis dahin weitgehend bedeutungslos gewordenen Heimcomputers zum Programmieren und Experimentieren angesehen. Der im Vergleich zu üblichen Personal Computern sehr einfach aufgebaute Rechner wurde von der Stiftung mit dem Ziel entwickelt, jungen Menschen den Erwerb von Programmier- und Hardwarekenntnissen zu erleichtern. Entsprechend niedrig wurde der Verkaufspreis angesetzt, der je nach Modell nur etwa 5 bis 35 USD beträgt.
Legoroboter mit dem Raspberry Pi steuern
Hier finden Sie eine ausführliche Dokumentation aus einem Schülerprojekt (zwei Schüler der E1) zur Programmierung eines Legoroboters. Von der Installation des Betriebssystems, über notwendige Tools bis zur Sensorprogrammierung auf dem Rasperry Pi finden Sie hier eine komplette Dokumentation für dieses Projekt.
GPIO-Ports
Die GPIO-Ports des Raspberry Pi lassen sich recht einfach mit Pi4J programmieren. Auf der Homepage von Pi4J [http://pi4j.com/] finden Sie ausführliche Anleitungen zur Installation von Pi4J und viele gute Beispiel-Programme.
Da die Entwicklung von Java Programmen auf dem Pi sehr umständlich ist, ist es besser auf dem PC zu programmieren (z.B. mit Eclipse) und anschließend die Dateien (mit z.B. WinSCP) auf den Pi zu übertragen.
Hier finden Sie Beispielprogramme zu:
GPIO-Ausgänge schalten (Lauflicht)
GPIO-Eingänge abfragen
I2C -Rasp-Info
I2C-Bus: PCF8574-Porterweiterungsbaustein
I2C-Bus: PCF8591 -A/D-Wandler
GPIO-Ausgänge schalten (Lauflicht)
GPIO-Eingänge abfragen
Der I2C-Bus
Der I2C-Bus ist ein Zweidraht-Bus, der von Philips entwickelt wurde. Außer der Versorgungsspannung und einer Masseleitung besitzt der Bus die beiden Leitungen SDA und SCL. Über die SDA-Leitungen (= serial data) werden die eigentlichen Daten seriell (nacheinander) übertragen. Die SCL-Leitung (serial clock) gibt den Takt vor. Bausteine für den I2C-Bus sind für wenig Geld zu bekommen und eignen sich auch deshalb gut zum Experimentieren. Hier werden Programme für die Porterweiterungsbausteine (PCF8574 und MCP23017) sowie den A/D-Wandler PCF8591 vorgestellt.
Adressierung der Bausteine

Die hier beschriebenen PCF-Bausteine haben 3 Adress-Pins (A0,A1,A2), die man beliebig auf HIGH oder LOW setzen kann. Hierdurch können bis zu 8 Bausteine einer Sorte an einen I2C-Bus anschließen und adressieren. Mit dem Porterweiterungsbaustein PCF8574 käme man dann auf auf 64 Ports (8 Bausteine mit jeweils 8 Ports). Zusätzlich gibt es diesen Baustein aber noch mit unterschiedlichen Grundadressen (PCF8574, PCF8574A, ..), wodurch noch mehr Ports an einem I2C-Bus möglich werden.
I2C auf dem Raspberry
Zunächst müssen Sie den I2C-Bus auf dem Raspberry Pi aktivieren.
Eine gute Anleitung finden Sie [hier]
Sie müssen die Blackliste bearbeiten:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
Raute vor Zeilen einfügen:
#blacklist spi-bcm2708
#blacklist i2c-bcm2708
Mit dem Befehl i2cdetect -y 1 bzw. i2cdetect -y 0 können Sie herausfinden, welche I2C-Bausteine aktuell am Raspberry Pi angeschlossen sind.
pi@RasPi ~/Desktop i2cdetect -y 1
I2C-Bus: PCF8574 Quelltext(Lauflicht)
I2C-Bus: PCF8591 Quelltext





