Beispiele¶
Die Python-Quelltexte der Beispiele befinden sich im Verzeichnis examples
.
Für die Ausführung der Beispiele muss ORBIT als Python-Package installiert sein (Siehe Setup),
Und es muss ein Brick-Deamon laufen.
Mit der Standardkonfiguration versucht ORBIT
den Brick-Deamon unter localhost:4223
zu erreichen.
Einige Beispiele setzen ein LCD-20x4-Bricklet und einige auch ein Motion-Detector-Bricklet voraus. Die Hardware-Voraussetzungen sind für jedes Beispiel extra angegeben.
Grundlagen¶
Die Grundlagenbeispiele umfassen die wichtigsten Szenarios für den Bau einer ORBIT-Anwendung.
Beispiel 001 Basic¶
Hardware: keine
Beschreibung: Grundaufbau einer ORBIT-Anwendung mit einem Dienst.
Das Beispiel demonstriert die Einrichtung, das Starten und Stoppen des Anwendungskerns.
Darüber hinaus zeigt es, wie mit den beiden integrierten Komponenten
orbit_framework.components.common.EventCallbackComponent
und orbit_framework.components.timer.IntervalTimerComponent
in regelmäßigen Abständen eine Funktion aufgerufen werden kann.
Die beiden Komponenten werden in einem Dienst zusammengefasst,
damit sie zur gesamten Laufzeit der Anwendung aktiv sind.
Die Timer-Komponente sendet in regelmäßigen Abständen eine Nachricht
über das ORBIT-Nachrichtensystem.
Die Callback-Komponente wird so eingerichtet, dass sie die Timer-Nachrichten
empfängt und beim Eintreffen einer Nachricht die Funktion aufruft.
Beispiel 002 Apps¶
Hardware: LCD 20x4 Display
Beschreibung: Eine ORBIT-Anwendung mit einem Dienst und zwei integrierten Apps.
Das Beispiel demonstriert, wie ein Dienst Tasten-Ereignisse von
den LCD-Tasten über das Nachrichtensystem versendet und zwei
Apps abhängig von diesen Nachrichten aktiviert werden.
Dabei kommt in dem Dienst die integrierte Komponente
orbit_framework.components.lcd.LCD20x4ButtonsComponent
zum Einsatz.
Für die zwei Apps wird die integrierte App
orbit_framework.jobs.apps.MessageApp
verwendet.
Darüber hinaus wird gezeigt, wie eine App als Standard-App
für die ORBIT-Anwendung eingerichtet wird.
Beispiel 003 Component¶
Hardware: LCD 20x4 Display
Beschreibung: Eine ORBIT-Anwendung mit einer eigenenen Komponente.
Das Beispiel demonstriert, wie eine eigene Komponente für
die Interaktion mit einem TinkerForge-Bricklet implementiert
und verwendet wird.
Dabei werden Klassen implementiert, die von
orbit_framework.Component
und von
orbit_framework.App
abgeleitet sind.
Die Komponente fängt die Tasten-Ereignisse eines LCD-Displays
ab, zählt dabei einen Zähler hoch und gibt den aktuellen
Zählerstand auf dem Display aus.
Zusätzlich wird gezeigt, wie eine eigene App-Klasse implementiert wird.
Fortgeschritten¶
Die Beispiele für Fortgeschrittene demonstrieren den Einsatz einiger zusätzlicher Fähigkeiten des ORBIT-Frameworks.
Beispiel 101 Device-Init¶
Hardware: LCD 20x4 Display
Beschreibung: Eine ORBIT-Anwendung mit Geräteinitialisierer und -abschluss
Das Beispiel zeigt die Einrichtung von Geräteinitialisierungs-
und -abschlussfunktionen. Dazu baut es auf Beispiel 002 Apps auf
und verwendet die beiden Methoden
orbit_framework.devices.DeviceManager.add_device_initializer()
und orbit_framework.devices.DeviceManager.add_device_finalizer()
.
Die Initialisierungsfunktion löscht den Textinhalt des LCD-Displays beim
Starten der Anwendung und schaltet die Hintergrundbeleuchtung ein.
Die Abschlussfunktion schaltet die Hintergrundbeleuchtung wieder aus
und löscht ebenfalls den Textinhalt.