© Spirit Boom Cat/Shutterstock.com
Teil 4: Echtzeit in Hardware: Daten darstellen

Arbeit vermeiden


Am Ende des letzten Teils haben wir ernüchtert feststellen müssen, dass das Echtzeitverhalten von Android Things alles andere als befriedigend ist. Das ist ärgerlich: Neben Problemen in MSR-Systemen bedeutet es auch, dass Datenaustausch per Bit Banging in Arbeit ausartet. Das lässt sich verhindern. Die Lösung liegt in einem organischen Display für Serial Peripheral Interface (SPI).

Wer keine garantierte Latenz bieten kann, muss bei der Datenübertragung entweder extrem langsam arbeiten oder auf Handshaking und Checksummen setzen. Zur Umgehung des Problems bietet sich die Verlagerung in Hardware an – Abbildung 1 stellt die beiden Konzepte gegenüber.

hanna_things_1.tif_fmt1.jpgAbb. 1: Hardwarebusse degradieren das Betriebssystem zum Zuschauer

Wir wollen in den folgenden Schritten mit einem der drei Busse beginnen. Dabei soll der durch Android Things geschaffene Mehrwert allerdings nicht aus den Augen verloren werden – freuen Sie sich auf ein Beispielprojekt, dessen Realisierung normalerweise richtig in Arbeit ausartet. Zudem stellen wir in diesem Artikel die Änderungen in der neuesten Version des Betriebssystems kurz vor: Google konnte der Versuchung nicht widerstehen, das API zu modifizieren.

Skelettales

Android Things ist im Grunde genommen Android, ergänzt um Möglichkeiten zum Hardwarezugriff. Erstellen Sie abermals ein neues Projekt. Im Rahmen der erstmaligen Kompilation ist meist eine Internetverbindung erforderlich, weil Android Studio die Android-Things-Bibliothek laden muss. Google deklariert im Projektskelett die Einbindung der aktuellen Version – behalten Sie dies im Hinterkopf, weil neue Releases von Android Things mit den Standardbibliotheken der Vorgänger im Allgemeinen nicht kompatibel sind. Kommt es zu seltsamen Problemen, beschaffen Sie im ersten Schritt ein neues Image aus der Things Console:

. . . compileOnly 'com.google.android.things:androidthings:+' }

Im nächsten Akt öffnen wir die für das Gesamtprojekt verantwortliche Version der Datei build.gradle, in der wir einen Verwe...

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