© prettyboy80/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).

Artikelserie

Teil 1: Einstieg in das Entwicklerkit für Android Things

Teil 2: Sensorik mit Android Things steuern

Teil 3: Hardware mit Android Things steuern

Teil 4: Echtzeit in Hardware: Daten darstellen

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.

image

Abb. 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 Verweis auf das Repository mit MPAndroidCharts unterbringen:

allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}

Das Maven Repository muss dabei unbedingt in allprojects liegen: Wer die Dependency in buildscript anlegt, kann das Modul zur Laufzeit nicht verwenden. ...

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