© istockphoto.com/AlexeyPushkin, © istockphoto.com/jara3000, © S&S Media
Mobile Technology
Mit Java die GPIO des Raspberry Pi 2 ausreizen

Kaffeebohne trifft Himbeere

Seit einigen Jahren erfreut sich der Raspberry Pi steigender Beliebtheit. Er wird als Mediacenter oder auch als Miniserver im Heimnetzwerk eingesetzt. Ein weiterer interessanter Aspekt des Raspberry Pi ist allerdings seine GPIO. Mit ihr ist es möglich, die unterschiedlichste Hardware an den Raspberry Pi anzubinden.

Martin Mohr


Quellcode zum Download

Mit dem Raspberry Pi Typ 2 ist Anfang des Jahres ein wirklich sehr leistungsfähiger Vertreter der Pi-Familie auf den Markt gekommen. Mit seinem ARM-Cortex-A7-Chip ist er seinen Vorgängern um Längen überlegen. Auf dem Raspberry Pi Typ 2 kann man ohne Probleme Java als Programmiersprache verwenden. Dieser Artikel wird Schritt für Schritt erklären, was zu tun ist, um mit Java die GPIO des Raspberry Pi zu verwenden. Im zweiten Abschnitt zeigen wir am Beispiel einer Dachfenstersteuerung, was alles mit der GPIO und Java möglich ist.

GPIO im Detail

Der Rasperry Pi ist von Haus aus mit einer flexiblen und leistungsfähigen IO-Schnittstelle ausgestattet, die GPIO (General Purpose Input/Output). Wie wir in Tabelle 1 sehen, sind die einzelnen Anschlüsse der GPIO nicht nur einfache IOs – es gibt auch einige Anschlüsse, die für Spezialaufgaben wie I2C- und SPI-Bus vorgesehen sind. I2C und SPI sind serielle Bussysteme, an die zusätzliche IO-Bausteine angeschlossen werden können. Diese Bausteine müssen keine einfachen IOs sein; es können sehr komplexe A/D-, D/A-Wandler, digitale Sensoren, Timer oder auch Speicher sein. Für unsere Dachfenstersteuerung werden wir I2C, SPI, PWM und natürlich auch die einfache IO verwenden. Wer nicht mit diesen Schnittstellen vertraut ist, sollte sich einen Moment gedulden – wir werden gleich einen Blick darauf werfen.

FunktionPin des GPIO-HeadersFunktion3,3 Volt125 VoltSDA.1345 VoltSCL.1560 VoltGPIO. 778TxD0 Volt910RxDGPIO. 01112GPIO. 1GPIO. 213140 VoltGPIO. 31516GPIO. 43.3v1718GPIO. 5MOSI19200 VoltMISO2122GPIO. 6SCLK2324CE00 Volt2526CE1SDA.02728SCL.0GPIO.2129300v GPIO.223132GPIO.26GPIO.2333340v GPIO.243536GPIO.27GPIO.253738GPIO.280v3940GPIO.29

Tabelle 1: Die einzelnen Anschlüsse der GPIO

Pi from scratch

Um den Raspberry Pi verwenden zu können, benötigen wir zu allererst ein Betriebssystem – Raspbian ist hier die erste Wahl. Wie der Name schon vermuten lässt, handelt es sich dabei um eine Debian-Portierung. Man kann sich einfach die aktuelle Version unter [1] herunterladen. In der Zip-Datei steckt ein Image, das man mit einem geeigneten Tool auf eine mindestens 4 GB große SD-Karte schreiben muss:

sudo dd if=2015-05-05-raspbian-wheezy.img of=/dev/sdf6400000+0 Datensätze ein6400000+0 Datensätze aus3276800000 Bytes (3,3 GB) kopiert, 1209,78 s, 2,7 MB/s

Danach kann man die Karte in seinen Raspberry Pi stecken und booten. Nach dem Booten landet man direkt in der raspi-config (Abb. 1). Hier kann man alle nötig...

Mobile Technology
Mit Java die GPIO des Raspberry Pi 2 ausreizen

Kaffeebohne trifft Himbeere

Seit einigen Jahren erfreut sich der Raspberry Pi steigender Beliebtheit. Er wird als Mediacenter oder auch als Miniserver im Heimnetzwerk eingesetzt. Ein weiterer interessanter Aspekt des Raspberry Pi ist allerdings seine GPIO. Mit ihr ist es möglich, die unterschiedlichste Hardware an den Raspberry Pi anzubinden.

Martin Mohr


Quellcode zum Download

Mit dem Raspberry Pi Typ 2 ist Anfang des Jahres ein wirklich sehr leistungsfähiger Vertreter der Pi-Familie auf den Markt gekommen. Mit seinem ARM-Cortex-A7-Chip ist er seinen Vorgängern um Längen überlegen. Auf dem Raspberry Pi Typ 2 kann man ohne Probleme Java als Programmiersprache verwenden. Dieser Artikel wird Schritt für Schritt erklären, was zu tun ist, um mit Java die GPIO des Raspberry Pi zu verwenden. Im zweiten Abschnitt zeigen wir am Beispiel einer Dachfenstersteuerung, was alles mit der GPIO und Java möglich ist.

GPIO im Detail

Der Rasperry Pi ist von Haus aus mit einer flexiblen und leistungsfähigen IO-Schnittstelle ausgestattet, die GPIO (General Purpose Input/Output). Wie wir in Tabelle 1 sehen, sind die einzelnen Anschlüsse der GPIO nicht nur einfache IOs – es gibt auch einige Anschlüsse, die für Spezialaufgaben wie I2C- und SPI-Bus vorgesehen sind. I2C und SPI sind serielle Bussysteme, an die zusätzliche IO-Bausteine angeschlossen werden können. Diese Bausteine müssen keine einfachen IOs sein; es können sehr komplexe A/D-, D/A-Wandler, digitale Sensoren, Timer oder auch Speicher sein. Für unsere Dachfenstersteuerung werden wir I2C, SPI, PWM und natürlich auch die einfache IO verwenden. Wer nicht mit diesen Schnittstellen vertraut ist, sollte sich einen Moment gedulden – wir werden gleich einen Blick darauf werfen.

FunktionPin des GPIO-HeadersFunktion3,3 Volt125 VoltSDA.1345 VoltSCL.1560 VoltGPIO. 778TxD0 Volt910RxDGPIO. 01112GPIO. 1GPIO. 213140 VoltGPIO. 31516GPIO. 43.3v1718GPIO. 5MOSI19200 VoltMISO2122GPIO. 6SCLK2324CE00 Volt2526CE1SDA.02728SCL.0GPIO.2129300v GPIO.223132GPIO.26GPIO.2333340v GPIO.243536GPIO.27GPIO.253738GPIO.280v3940GPIO.29

Tabelle 1: Die einzelnen Anschlüsse der GPIO

Pi from scratch

Um den Raspberry Pi verwenden zu können, benötigen wir zu allererst ein Betriebssystem – Raspbian ist hier die erste Wahl. Wie der Name schon vermuten lässt, handelt es sich dabei um eine Debian-Portierung. Man kann sich einfach die aktuelle Version unter [1] herunterladen. In der Zip-Datei steckt ein Image, das man mit einem geeigneten Tool auf eine mindestens 4 GB große SD-Karte schreiben muss:

sudo dd if=2015-05-05-raspbian-wheezy.img of=/dev/sdf6400000+0 Datensätze ein6400000+0 Datensätze aus3276800000 Bytes (3,3 GB) kopiert, 1209,78 s, 2,7 MB/s

Danach kann man die Karte in seinen Raspberry Pi stecken und booten. Nach dem Booten landet man direkt in der raspi-config (Abb. 1). Hier kann man alle nötig...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang