Linux-Quellcode für Blickwerk Farbsensoren veröffentlicht

Aktuelle Sensorik im oberen Leistungsbereich sind komplexe Computer, die nicht nur durch ihre Hardwarekomponenten, sondern mindestens im selben Umfang auch durch die Software bestimmt werden, die auf ihnen läuft. Die Blickwerk Farbsensoren machen hier keine Ausnahme.

Neben den autonom arbeitenden Echtzeit-Komponenten, die für das Messen und Verarbeiten der anliegenden Farbreize verantwortlich sind, werkelt in jedem Blickwerk Farbsensor auch ein kleiner embedded Computer. Zu seinen wichtigsten Aufgaben zählt die Bereitstellung eines Web-Interfaces, über das der Farbsensor konfiguriert und die Arbeitsabläufe analysiert werden können. Dafür läuft direkt auf dem Farbsensor ein Webserver, der diese Weboberfläche an die Endgeräte der Nutzer/-innen ausliefert. Außerdem stellt diese Kompontente die REST-basierte API zur Verfügung. Diese Programmierschnittstelle ermöglicht vollen programmatischen Zugriff auf die Farbsensor-Funktionen, inklusive der Konfiguration und dem Auslesen aktuell ermittelter Farbwerte. Die Rechenleistung des embedded-Moduls wird von einer ARM-basierten i.MX 28 CPU von NXP (ehemals Freescale Semiconductor) bereitgestellt. Auf ihr läuft ein Linux-basiertes Betriebsystem, das mit Hilfe von u-boot bootet.

Der Linux-Kernel wurde an einigen Stellen angepasst, um alle Funktionen der Blickwerk-Farbsensoren bereitstellen zu können. Diese Patches können nun von unserem git-repository auf github.com heruntergeladen werden. Für Endanwender/-innen der Farbsensoren ist das nicht von Interesse, da die Sensoren natürlich mit laufender Firmware ausgeliefert werden.

Interessierte an Linux-Kernel-Anpassungen für die Blickwerk-Farbsensoren jedoch finden im reposity alles, um automatisiert eigene bootfähige Images zu erstellen. Voraussetzung für die Nutzung der bereitgestellten Skripte ist ein installiertes Debian-System. Zusätzlich zu den vorinstallierten Werkzeugen müssen noch einige Pakete nachgeladen werden:

apt install git gcc-arm-linux-gnueabi libssl-dev dpkg-dev

Sind diese Pakete installiert, dann kann das repository heruntergeladen werden:

git clone https://github.com/silicann/blickwerk-boot.git

Nach einem Wechsel in das neue Verzeichnis blickwerk-boot können der Quellcode von Linux und u-boot mit folgenden Befehlen heruntergeladen und kompiliert werden:

make prep-source
make build

Laufen diese Schritte erfolgreich durch, dann ist das Erstellen eines bootfähigen Images nicht mehr weit entfernt. Zunächst wird ein Debian-Paket mit den neuen Linux-Kernel erstellt:

make dist-deb

Das Resultat ist grundsätzlich auf einem eingerichteten Blickwerk-Farbsensor installierbar. Soll aber ein komplettes Betriebsystem-Image erzeugt werden, dann ist die Ausführung des folgenden Befehls nötig:

scripts/image.sh create /pfad/zum/eben/erzeugten/linux-image-wurzelwerk-imx28-$variant.deb

Das war es schon. Im Verzeichnis mit dem Debian-Paket des Linux-Kernels liegt nun das erzeugte Image mit der Endung .img.