Im Folgenden möchte ich die Android-App ArduinoConsole beschreiben (im nachfolgenden nur als App bezeichnet).
Inhaltsverzeichnis
- Ziel der Android App “ArduinoConsole”
- Anforderungen
- Bezug
- Releases
- Übersicht
- Verbindung
- Diagramm
- Einstellungen
- Hilfe
Ziel der Android App “ArduinoConsole”
Das Ziel der App soll es sein, dass, dem Benutzer der App die Möglichkeit gegeben wird einen Mikrocontroller mit einem Android-Gerät zu verbinden. Dazu stehen dem Benutzer verschiedene Verbindungsmöglichkeiten zur Verfügung (siehe Abschnitt “Verbindung“).
Anforderungen
Die App läuft auf einem Android-Gerät mit min. Version 4.3 (stand 08.11.2017).
Die Sprache in der Oberfläche ist Englisch.
Bezug
Die App kann im Google Play Store unter folgendem Link bezogen werden https://play.google.com/store/apps/details?id=draegerit.de.arduinoconsole
Releases
In diesem Abschnitt werden die Änderungen aufgelistet, welche mit einer neuen Version erschienen sind.
Wünsche, Anregungen und Kritik zur aktuellen Version werden gerne unter der E-Mail-Adresse info@draeger-it.blog entgegengenommen.
Version 1.1 (20.11.2017)
- Allgemein
- Bugfixes
- Controller
- absenden von Daten über Navigation und Funktionsknöpfe
- konfigurieren der Daten pro Knopf
Version 1.0 (02.06.2017)
- Verbindung
- Aufbau einer seriellen Verbindung
- Ausbau einer Bluetoothverbindung
- Diagramm
- anzeigen
- exportieren
- konfigurieren
Übersicht
Die App ist mit dem folgenden Icon auf dem Homescreen zu finden:
Die App wird generell im Hochformat dargestellt. Funktionen welche ein Querformat benötigen (wie Bsp. der “Controller“) werden automatisch in Querformat gedreht.
Die Oberfläche der Hauptseite ist in 3 Abschnitte gegliedert.
Titelleiste
Die Titelleiste enthält:
- das Icon der App,
- den Text “ArduinoConsole”, sowie
- die Schaltfläche “Diagramm” und
- die Schaltfläche “Hilfe”
Wenn Sie als Benutzer auf die Schaltfläche “Diagramm” klicken, so öffnet die App die Seite “Diagramm” (siehe dazu im Abschnitt “Diagramm“).
Wenn Sie als Benutzer auf die Schaltfläche “Hilfe” klicken, so öffnet die App die Seite “Hilfe” (siehe dazu im Abschnitt “Hilfe“).
Terminal
Der Bereich des Terminals gliedert sich wiederum in den Bereich der Eingabe von alphanumerischen Werten über Bsp. der OnScreen Tastatur des Android Gerätes in ein Eingabefeld, sowie die Schaltfläche Absenden.
Des Weiteren ist in der Kopfzeile des Terminals die Schaltfläche zum Leeren des Terminals enthalten.
Absenden einer Nachricht an den Microcontroller
Um eine Textnachricht an einen Mikrocontroller zu senden, klickt man zuerst in das Eingabefeld, die App öffnet nun die OnScreenTastatur, auf welcher die Nachricht eingegeben werden kann.
Im Standardfall kann keine leere Nachricht gesendet werden, dieses Verhalten kann jedoch über den Tab “Terminal” in der Seite Einstellung konfiguriert werden.
Ist das Senden einer leeren Nachricht “verboten”, so wird dieses mit folgendem Dialog angezeigt:
Besteht keine Verbindung zu einem Mikrocontroller so wird beim Absenden der Nachricht folgender Dialog geöffnet:
Eine aktive Verbindung kann von beiden Seiten auf unterschiedliche Art getrennt werden. Die App registriert diese Veränderung erst beim Absenden einer Nachricht.
Terminalfenster
Das Terminalfenster in welchem die empfangenen Daten angezeigt worden ist mit einem Magenta Farben Rahmen umgeben und nimmt ca. 3/4 des Hauptbildschirms ein.
Unter dem Terminalfenster befindet sich die Checkbox für das Aktivieren / Deaktivieren des Autoscolls des Terminalfensters (Ist der Haken gesetzt, so ist die Funktion “Autoscroll” aktiviert.)
Konfiguration der Verbindung
Im unteren Abschnitt des Hauptbildschirms befindet sich die Konfiguration der Verbindung zum Mikrocontroller.
Wurde die App gerade erst gestartet so ist der Bereich eingeklappt, der Bereich kann durch einen klick auf das Werkzeugsymbol aufgeklappt und auch platzsparend zusammengeklappt werden.
Ist der Bereich aufgeklappt, so findet man die folgenden Komponenten zum Erzeugen einer Verbindung.
Connectiontype
In der Auswahlliste des “Connectiontype” wird im Standardfall “USB Serial Connection” vorausgewählt angezeigt, durch einen klick auf diesen Text öffnet sich die Auswahlliste und weitere Verbindungstypen werden angezeigt.
Im Abschnitt “Verbindung” werden die einzelnen Verbindungstypen erläutert.
Die Auswahlliste der gefundenen Geräte befindet sich unter der Auswahlliste des Verbindungstyps und wird automatisch befüllt, wenn aktive / inaktive Verbindungen gefunden wurden.
Neben dieser Auswahlliste befindet sich die Schaltfläche zum Aktualisieren der Liste der gefundenen Verbindungen.
Verbindung
Auf dem Hauptbildschirm wird die Verbindung zum Mikrocontroller ausgewählt, dazu können Sie als Benutzer unter folgenden Verbindungen auswählen.
Serielle Verbindung
Die Serielle Verbindung wird in der Auswahlliste als “USB Serial Connection” angezeigt. Die Verbindungsparameter werden wiederum in der Seite “Einstellungen” geändert / angepasst. Als Standard sind die Werte für den Arduino UNO (und kompatible Geräte) ausgewählt.
Für die serielle Verbindung wird ein OTG Kabel benötigt. Dieses Kabel gibt es in verschiedenen Längen und Steckerkonfigurationen. Der Preis liegt je nach Typ zwischen 2,10 € und 7 €.
Welches Kabel Sie benötigen hängt vom Android-Gerät und vom Mikrocontroller ab.
Der Mikrocontroller wird während der seriellen Verbindung mit Strom versorgt, dieses ist bei der Akkulaufzeit des mobilen Android Gerätes zu beachten.
Beispielcode
const int timeout = 250; void setup() { Serial.begin(9600); //Geschwindigkeit auf 9600baud einstellen. Serial.setTimeout(timeout); //Timeout auf 250ms, default ist 1 sek. Serial.println("Hello From Arduino!"); //Willkommensnachricht absenden. } void loop() { //Lesen der Character von der Seriellen Schnittelle und in einem //String bereitstellen. String msg = Serial.readString(); if(msg.length() >0 ){ //Leere Strings unterbinden if (msg == "1"){Serial.println("send 1");} //Wenn die Zahl "1" gesendet wurde. else if (msg == "2"){Serial.println("send 2");} //Wenn die Zahl "2" gesendet wurde. else {Serial.println("send 1 or 2!");} //Wenn NICHT die Zahl "1" oder "2" gesendet wurde. } }
Bluetooth Verbindung
Die Bluetoothverbindung setzt ein Bluetoothfähiges Android-Gerät voraus. Wenn Ihr Gerät über einen Bluetooth Adapter verfügt, so können Sie über diese Auswahl eine Verbindung zum Mikrocontroller über Bluetooth aufbauen. Die Verbindung wurde mit den Modulen HC-05 & HC-06 getestet.
Wenn Sie auf den Text “Bluetooth Connection” klicken und Bluetooth auf dem Gerät NICHT aktiviert ist, so erscheint der Dialog zum Aktivieren des Bluetooth Adapters.
(Dieser Dialog stammt vom Gerät und ist ggf. in einer anderen Sprache als die App.)
Ist der Bluetooth Adapter aktiviert, so werden die gefundenen Bluetoothgeräte in der Auswahlliste angezeigt.
Dies ist die Liste der Bluetoothgeräte von einen Beispielgerät, die Liste wird bei Ihnen anders ausfallen.
Die gefundenen Bluetoothgeräte werden wie folgt angezeigt:
Das Bluetooth Gerät liefert eine Bezeichnung mit Anhand dieser Bezeichnung kann man erkennen um welches Gerät es sich handelt. Bzw. was der Hersteller eingestellt hat.
Beispielcode
Folgender Quellcode wurde auf dem Arduino UNO mit dem Bluetoothmodul HC-06 getestet.
#include <SoftwareSerial.h> SoftwareSerial BT(11, 10); String line; void setup(){ BT.begin(9600); BT.println("Hello from Arduino"); } void loop() { if (BT.available()){ line=(BT.readString()); if (line=="1"){BT.println("send 1");} else if (line=="2"){ BT.println("send 2");} else { BT.println("Send '1' or '2'"); } } }
Hinweis
Wird von einer Bluetoothverbindung zur seriellen Verbindung gewechselt so wird ein Dialog angezeigt das der Bluetooth Adapter ggf. deaktiviert werden kann, weil dieser von der App nicht mehr benötigt wird.
Dieser Dialog kann mit der Schaltfläche “XX” geschlossen werden, wenn der Bluetooth Adapter NICHT deaktiviert werden soll, soll jedoch der Bluetooth Adapter deaktiviert werden, so bestätigen Sie diesen Dialog mit der Schaltfläche “YY”. Soll der Dialog nicht mehr angezeigt werden und der Bluetooth Adapter nicht mehr deaktiviert werden, so können Sie dieses über die Checkbox “VVV” aktivieren. (Diese Auswahl kann über die Seite “Einstellungen” rückgängig / konfiguriert werden.)
Diagramm
Die Seite Diagramm zeigt ein Liniendiagramm an welches aktualisiert wird, wenn Daten über eine aktive Verbindung empfangen werden.
Das Diagramm trägt auf der X Achse die Bezeichnung “Timestamp” und auf der Y Achse die Bezeichnung “Value”. Die Schaltflächen für den Export der Daten sowie die Konfiguration des Diagramms befindet sich in der Titelzeile der Seite. Des Weiteren befindet sich eine Schaltfläche zum Leeren des Diagramms in der Titelzeile, die Daten aus dem Terminal (siehe Abschnitt “Terminal“) werden dabei nicht verändert.
exportieren
Die Daten aus dem Diagramm sowie das Diagramm selbst können exportiert werden.
Durch einen klick auf die Schaltfläche “Export”
wird der Dialog für den Export angezeigt.
Adobe Acrobat PDF Dokument
Das Adobe Acrobat PDF Dokument enthält das Diagramm und die Werte aus dem Diagramm tabellarisch dargestellt.
Portable Network Graphic
Die Grafik enthält NUR das Diagramm.
Comma Separated Value
Die CSV Datei enthält NUR die Werte für das Diagramm.
Konfiguration
Das Diagramm kann über die Schaltfläche “Konfiguration”
Verändert werden. Beim klick auf die Schaltfläche “Konfiguration” wird der Dialog “Chart prefrerences” geöffnet.
Dort können Sie folgende Daten anpassen:
- Titel (Title)
- Untertitel (Subtitle),
- Y Achse (Value axis label),
- X Achse (Date axis label)
Die Daten werden mit der Schaltfläche “Save” gesichert (der Dialog wird automatisch geschlossen) und
der Dialog kann OHNE speichern mit der Schaltfläche “Abort” geschlossen werden.
Einstellungen
Über das Menü der Hauptseite gelangt man an die Einstellungen der App.
Je nach Android Version ist dieses Menü oben rechts durch 3 übereinanderliegende Punkte zu erreichen oder über die Menütaste.
Hier kann über die Tabs
- General (Allgemeine Einstellungen zur App),
- Connection,
- Terminal
navigiert werden.
In der Titelzeile befindet sich die Schaltfläche zum Speichern des aktuellen Tabs.
Es wird jeweils immer nur der aktuelle Tab gespeichert!
Tab – General
Im Tab “General” werden die allgemeinen Einstellungen zur App verwaltet.
Checkbox “Device ist active while connected to arduino”
Ist diese Checkbox aktiviert (Haken ist gesetzt) so bleibt das Display an so lange eine aktive Verbindung mit einem Mikrocontroller besteht.
Tab – Connection
Der Tab “Connection” enthält die Einstellungen für die Verbindungsparameter. Des Weiteren kann über diesen Tab auch die Anzeige der Dialoge zum Suchen von neuen Bluetooth Geräten und zum automatischen Aktivieren und Deaktivieren des Bluetooth Adapters gesteuert werden.
USB Serial Device
Die serielle Verbindung über das OTG Kabel wird im Abschnitt “USB Serial Device” verwaltet.
Die Übertragungsgeschwindigkeit der Symbole pro Sekunde wird in der Auswahlliste Baudrate gewählt.
Databits und Stopbits werden über die jeweiligen Auswahllisten gewählt, es ist darauf zu achten, dass Sender und Empfänger die gleichen Parameter verwenden.
Die Paketdatenkontrolle Parity wird über die Auswahlliste gewählt.
Bluetooth Device
Checkbox “Show search new devices dialog”
Die Anzeige des Dialoges zum Suchen neuer Bluetooth Geräte wird über diese Checkbox gesteuert. Ist die Checkbox aktiviert (Haken ist gesetzt) so wird beim Aktivieren des Bluetooth Adapters in der App folgender Dialog angezeigt.
Checkbox “Show dialog for closing Bluetooth Connection if not in use by application”
Ist die Checkbox aktiviert (Haken ist gesetzt) so wird ein Dialog angezeigt, wenn Sie als Benutzer den Verbindungstyp von “Bluetooth Connection” zu einem anderen Typ wechseln.
Checkbox “Send greetingmessage”
Bei den Modulen HC-06 & HC-06 ist es sinnvoll eine initiale Nachricht zu senden damit die Verbindung akzeptiert wird. Über die Checkbox “Send greetingmessage” und dem Eingabefeld “Greetingmessage” kann diese Nachricht verwaltet werden. Ist die Checkbox nicht aktiviert, so wird keine Nachricht gesendet, das Eingabefeld für die Nachricht ist deaktiviert!
Tab – Terminal
Im Tab “Terminal” wird das Verhalten des Terminals verwaltet.
Checkbox “display Timestamp”
Ist die Checkbox aktiviert (Haken ist gesetzt) so wird ein Zeitstempel vor die Nachricht gesetzt. Es wird der Zeitstempel vom Empfang / Senden der Nachricht verwendet.
Die Auswahlliste zum Wählen des Formats des Zeitstempels ist nur aktiv, wenn die Checkbox “display Timestamp” aktiv ist. Im Textfeld “Example” wird ein Beispiel angezeigt.
Hilfe
Die Hilfe Seite zeigt Hyperlinks zu dieser Seite an. Die Links sind nach Themen sortiert.
Für die Anzeige der Hilfeseiten wird eine aktive Internetverbindung benötigt.