© Angel_AMX/Shutterstock.com
PHP Magazin
Hardwarezugriff am Raspberry Pi

Schalten und walten mit dem Bastel-PC

Der Tessel brachte Entwickler erstmals auf den Gedanken, dass man nicht echtzeitkritische Embedded-Systeme auch mit Programmiersprachen abseits von C entwickeln kann. Die hauseigene JavaScript Runtime und die Hardware haben in der Praxis allerdings keine wirkliche Massenmarktpenetration erreicht: Der Standardprozessrechner bleibt der Raspberry Pi. Der Artikel nutzt einen Raspberry Pi 3 B, um Möglichkeiten zum Zugriff auf reale Hardware zu evaluieren und einen Überblick über die Möglichkeiten zu schaffen.

Tam Hanna


Wer mit einer Webapplikation arbeitet, hat mitunter das Bedürfnis, diverse Güter der realen Welt zu steuern. Neben dem klassischen Beispiel des Ein- und Ausschaltens von Lampen über Relais oder Schaltelemente gäbe es beispielsweise auch Systeme, die Sensorinformationen – Stichwort: Temperatur – bereitstellen und auf eine grafische Art und Weise zur Verfügung stellen. Beim Entwerfen derartiger Solutions kann es vernünftig sein, auf Webtechnologien zu setzen. Ein in JavaScript gehaltenes Produkt ist vom Handling her wesentlich bequemer als ein klassischer C++-Monolith – insbesondere dann, wenn man als Entwickler bisher wenig Erfahrung mit C++ und Co. gesammelt hat.

Welches Betriebssystem?

In den folgenden Schritten wollen wir beim Betriebssystem auf eine klassische Version von Raspbian setzen. Laden Sie das Produkt wie gewohnt herunter und installieren Sie es auf Ihren Prozessrechner. Es ist empfehlenswert, einen Ethernetanschluss bereitzustellen, um benötigte Komponenten schnell herunterzuladen. Als Zielhardware soll in den folgenden Schritten ein Raspberry Pi 3B dienen – ältere und neuere Rechner sollten sich im Großen und Ganzen ohne Probleme verwenden lassen, bei nativen Codeinseln ist mitunter eine kleine Anpassung der Registeradressen und Co. erforderlich. Wie dem auch sei, Sie müssen sich im ersten Schritt für eine Arbeitsumgebung entscheiden. Unser erster Versuch soll Node.js betreffen.

Ärgerlich ist, dass die Raspberry Pi Foundation in Raspbian nur eine sehr veraltete Version von Node. js bereitstellt: Zum Zeitpunkt der Drucklegung war es Version 4.8.irgendwas. Zur Umgehung des Problems bietet es sich an, den Prozessrechner als stinknormale Workstation zu betrachten und wie gewohnt mit folgenden Kommandos aufzurüsten:

pi@raspberrypi:~ $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -## Installing the NodeSource Node.js v8.x LTS Carbon repo.... . .pi@raspberrypi:~ $ sudo apt-get install -y nodejs

Node.js liegt seit längerer Zeit nicht mehr nur als x86- bzw. x64-, sondern auch als ARM-Binärpaket vor. So ist sichergestellt, dass wir eine vergleichsweise aktuelle Version verwenden.

Wie steuern?

Wer Google nach Möglichkeiten des Zugriffs auf die GPIO-Pins des Raspberry Pi unter Node.js befragt, findet eine riesige Menge von Optionen. Erfreulicherweise hat sich onoff mittlerweile als Quasistandard herauskristallisiert, weshalb wir es in den folgenden Schritten verwenden wollen (Kasten: „Was passiert im Hintergrund?“). Nach dem gewöhnlichen Anle...

PHP Magazin
Hardwarezugriff am Raspberry Pi

Schalten und walten mit dem Bastel-PC

Der Tessel brachte Entwickler erstmals auf den Gedanken, dass man nicht echtzeitkritische Embedded-Systeme auch mit Programmiersprachen abseits von C entwickeln kann. Die hauseigene JavaScript Runtime und die Hardware haben in der Praxis allerdings keine wirkliche Massenmarktpenetration erreicht: Der Standardprozessrechner bleibt der Raspberry Pi. Der Artikel nutzt einen Raspberry Pi 3 B, um Möglichkeiten zum Zugriff auf reale Hardware zu evaluieren und einen Überblick über die Möglichkeiten zu schaffen.

Tam Hanna


Wer mit einer Webapplikation arbeitet, hat mitunter das Bedürfnis, diverse Güter der realen Welt zu steuern. Neben dem klassischen Beispiel des Ein- und Ausschaltens von Lampen über Relais oder Schaltelemente gäbe es beispielsweise auch Systeme, die Sensorinformationen – Stichwort: Temperatur – bereitstellen und auf eine grafische Art und Weise zur Verfügung stellen. Beim Entwerfen derartiger Solutions kann es vernünftig sein, auf Webtechnologien zu setzen. Ein in JavaScript gehaltenes Produkt ist vom Handling her wesentlich bequemer als ein klassischer C++-Monolith – insbesondere dann, wenn man als Entwickler bisher wenig Erfahrung mit C++ und Co. gesammelt hat.

Welches Betriebssystem?

In den folgenden Schritten wollen wir beim Betriebssystem auf eine klassische Version von Raspbian setzen. Laden Sie das Produkt wie gewohnt herunter und installieren Sie es auf Ihren Prozessrechner. Es ist empfehlenswert, einen Ethernetanschluss bereitzustellen, um benötigte Komponenten schnell herunterzuladen. Als Zielhardware soll in den folgenden Schritten ein Raspberry Pi 3B dienen – ältere und neuere Rechner sollten sich im Großen und Ganzen ohne Probleme verwenden lassen, bei nativen Codeinseln ist mitunter eine kleine Anpassung der Registeradressen und Co. erforderlich. Wie dem auch sei, Sie müssen sich im ersten Schritt für eine Arbeitsumgebung entscheiden. Unser erster Versuch soll Node.js betreffen.

Ärgerlich ist, dass die Raspberry Pi Foundation in Raspbian nur eine sehr veraltete Version von Node. js bereitstellt: Zum Zeitpunkt der Drucklegung war es Version 4.8.irgendwas. Zur Umgehung des Problems bietet es sich an, den Prozessrechner als stinknormale Workstation zu betrachten und wie gewohnt mit folgenden Kommandos aufzurüsten:

pi@raspberrypi:~ $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -## Installing the NodeSource Node.js v8.x LTS Carbon repo.... . .pi@raspberrypi:~ $ sudo apt-get install -y nodejs

Node.js liegt seit längerer Zeit nicht mehr nur als x86- bzw. x64-, sondern auch als ARM-Binärpaket vor. So ist sichergestellt, dass wir eine vergleichsweise aktuelle Version verwenden.

Wie steuern?

Wer Google nach Möglichkeiten des Zugriffs auf die GPIO-Pins des Raspberry Pi unter Node.js befragt, findet eine riesige Menge von Optionen. Erfreulicherweise hat sich onoff mittlerweile als Quasistandard herauskristallisiert, weshalb wir es in den folgenden Schritten verwenden wollen (Kasten: „Was passiert im Hintergrund?“). Nach dem gewöhnlichen Anle...

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