© AlesiaKan/Shutterstock.com
PHP goes Hardware

Arduino an PHP


PHP direkt auf einem Mikrocontroller auszuführen, ist auch heute nur den schwer handhabbaren kombinatorischen Systemen wie dem ATM32MP1 aus dem Hause STMicroelectronics vorbehalten – er kann auf seiner Linux-Partition eine PHP-Installation hosten. Das bedeutet allerdings nicht, dass man nicht kreative Umwege gehen kann.

Als Entwickler vor einigen Jahren erste Versuche im Bereich der Ausführung von Python und JavaScript auf Mikrocontrollern durchführten, lachten die Auguren. Zu gering die damals verfügbare Rechenleistung, und zu schlecht die Performance – der alte Kalauer, dass ein Garbage Collector der Echtzeitfähigkeit nicht zuträglich ist, gilt nun mal universell. Die direkte Ausführung von PHP am Mikrocontroller ist derzeit noch nicht möglich. Möchten Sie über PHP-Webseiten allerdings mit Hardware interagieren, so ist das durchaus möglich. In diesem Artikel stelle ich die einfachere Variante vor und gehe auf Grenzen, Möglichkeiten und Ausbaustufen ein.

Ein Blick ins Pleistozän

Die Einführung des Arduino Yun war in vielerlei Hinsicht ein technischer Quantensprung – besonders relevant dafür war das in Abbildung 1 gezeigte Konzept des kombinatorischen Prozessrechners.

hanna_arduino_php_1.tif_fmt1.jpgAbb. 1: Der Arduino Yun kombinierte zwei verschiedene Prozessorkerne

Während WLAN-Kommunikation, HTTP-Protokollverarbeitung und Co. auf einem unter Linux laufenden Hochleistungsmikrocontroller abgearbeitet wurden, stand dem Anwender zusätzlich der von klassischen Arduino Uno bekannt Atmel-Achtbitter zur Verfügung, auf dem sich echtzeitkritische oder sonstwie haarige Hardwareinteraktionsaufgaben implementieren ließen. Über eine als Bridge bezeichnete Bibliothek konnten die beiden Prozessoren dann Informationen untereinander austauschen, was das Konzept des kombinatorischen Prozessrechners hinreichend beschreibt. Bei direkter, also über ein USB-Kabel zwischen PHP-Server und Prozessrechner erfolgender Kommunikation finden wir im Prinzip dasselbe Designparadigma. Es kommt nur statt der Bridge-Bibliothek das mittlerweile in einer Vielzahl von Forks vorliegende PHP-Serial-Modul zum Einsatz. Das erlaubt der PHP-Applikation den Zugriff auf die serielle Schnittstelle der Workstation, über die der PHP-Code mehr oder weniger beliebige Kommandos in Richtung des angeschlossenen Prozessrechners jagt. Auf ihm findet sich dann eine entweder selbst entwickelte oder fertig bezogene Firmware, die den seriellen Port auswertet und die eingehenden Änderungskommandos in Richtung eventuell angeschlossener Hardware...

Neugierig geworden?

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