Android App: ArduinoConsole

Im folgenden möchte ich die Android App ArduinoConsole beschreiben (im nachfolgenden nur als App bezeichnet).

Ziel der Android App „ArduinoConsole“

Das Ziel der App soll es sein dass, dem Benutzer der App die Möglichkeit gegeben wird einen Microcontroller 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 PlayStore 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 entgegen genommen.

Version 1.1 (20.11.2017)

  • Allgemein
    • Bugfixes
  • Controller
    • absenden von Daten über Navigations und Funktionsknöpfe
    • konfigurieren der Daten pro Knopf

Version 1.0 (02.06.2017)

  • Verbindung
    • Aufbau einer  Seriellen Verbindung
    • Ausbau einer Bluetooth Verbindung
  • Diagramm
    • anzeigen
    • exportieren
    • konfigurieren

 

Übersicht

Die App ist mit dem folgenden Icon auf dem Homescreen zu finden:

Icon der Android App - ArduinoConsole
Icon der Android App – ArduinoConsole

Die App wird generell im Hochformat dargestellt. Funktionen welche ein Querformat benötigen (wie zbsp. der „Controller„) werden automatisch in Querformat gedreht.

Die Oberfläche der Hauptseite ist in 3 Abschnitte gegliedert.

Titelleiste

Titelleiste der Android App "ArduinoConsole"
Titelleiste der Android App „ArduinoConsole“

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 zbsp. der OnScreen Tastatur des Android Gerätes in ein Eingabefeld, sowie die Schaltfläche Absenden.

Terminal Daten absenden
Terminal Daten absenden

Des Weiteren ist in der Kopfzeile des Terminals die Schaltfläche zum leeren des Terminals enthalten.

Schaltfläche zum leeren des Terminals.
Schaltfläche zum leeren des Terminals.

Absenden einer Nachricht an den Microcontroller

Um eine Textnachricht an einen Microcontroller zu senden, klickt man zuerst in das Eingabefeld die App öffnet nun die OnScreenTastatur auf welcher die Nachricht eingegeben werden kann.

Eingabe einer Nachricht über die OnScreenTastatur
Eingabe einer Nachricht über die OnScreenTastatur

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:

Dialog "Leere Nachrichten verboten"
Dialog „Leere Nachrichten verboten“

Besteht keine Verbindung zu einem Microcontroller so wird beim absenden der Nachricht folgender Dialog geöffnet:

Dialog "Verbindung nicht gefunden"
Dialog „Verbindung nicht gefunden“

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 werden ist mit einem magenta Farbenen 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 Microcontroller.

Abschnitt Verbindungsauswahl (zusammengeklappt)
Abschnitt Verbindungsauswahl (zusammengeklappt)

Wurde die App gerade erst gestartet so ist der Bereich eingeklappt, der Bereich kann durch einen klick auf das Werkzeugsymbol aufgheklappt und auch platzsparend zusammengeklappt werden.

Ist der Bereich aufgeklappt so findet man die folgenden Komponenten zum erzeugen einer Verbindung.

Abschnitt Verbindungsauswahl (aufgeklappt)
Abschnitt Verbindungsauswahl (aufgeklappt)

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.

Auswahlliste der Verbindungstypen (stand 09.11.2017)
Auswahlliste der Verbindungstypen (stand 09.11.2017)

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 aktualiseren der Liste der gefundenen Verbindungen.

Schaltfläche zum aktualiseren der gefundenen Geräte.
Schaltfläche zum aktualiseren der gefundenen Geräte.

Verbindung

Auf dem Hauptbildschirm wird die Verbindung zum Microcontroller 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 Microcontroller ab.

OTG Kabel für die Serielle Verbindung zu einem Microcontroller
OTG Kabel für die Serielle Verbindung zu einem Microcontroller

Der Microcontroller wird während der Seriellen Verbindung mit Strom versorgt, dieses ist bei der Akkulaufzeit des Mobilen Android Gerätes zubeachten.

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 Bluetooth Verbindung setzt ein Bluetoothfähiges Android Gerät vorraus. Wenn Ihr Gerät über einen Bluetooth Adapter verfügt so können Sie über diese Auswahl eine Verbindung zum Microcontroller ü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.)

Dialog aktivieren des Bluetooth Adapters
Dialog aktivieren des Bluetooth Adapters

Ist der Bluetooth Adapter aktiviert so werden die gefundenen Bluetooth Geräte in der Auswahlliste angezeigt.

Gefundene Geräte vom Bluetooth Adapter.
Gefundene Geräte vom Bluetooth Adapter.

Dies ist die Liste der Bluetoothgeräte von einen Beispielgerät, die Liste wird bei Ihnen anders ausfallen.

Die gefundenen Bluetooth Geräte werden wie folgt angezeigt:

Aufbau Liste gefundener Bluetooth Geräte
Aufbau Liste gefundener Bluetooth Geräte

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 Bluetooth Verbindung 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.

Dialog deaktivieren des Bluetooth Adapters.
Dialog deaktivieren des Bluetooth Adapters.

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.

Seite Diagramm - Übersicht
Seite Diagramm – Übersicht

exportieren

Die Daten aus dem Diagramm sowie das Diagramm selbst können exportiert werden.

Durch einen klick auf die Schaltfläche „export“

Schaltfläche "export"
Schaltfläche „export“

wird der Dialog für den Export angezeigt.

Dialog export der Daten
Dialog export der Daten

Adobe Acrobat PDF Dokument

Das Adobe Acrobat PDF Dokument enthält das Diagramm und die Werte aus dem Diagramm tabelarisch 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“

Dialog Diagramm Konfiguration
Dialog Diagramm 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.

Titel der Seite Konfiguration
Titel der Seite Einstellungen

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.

Seite Einstellungen - Tab "General"
Seite Einstellungen – Tab „General“

Checkbox „Device ist active while connected to arduino“

Ist diese Checkbox aktiviert (Haken ist gesetzt) so bleibt das Display an solange eine aktive Verbindung mit einem Microcontroller 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 Adapers gesteuert werden.

Seite Einstellungen - Tab "Connection"
Seite Einstellungen – Tab „Connection“

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 Auswahlisten gewählt, es ist darauf zu achten das Sender und Empfänger die gleichen Parameter verwenden.
Die Paketdatenkontrolle Parity wird über die Auswahlliste gewählt.

Seite Einstellungen - Tab "Connection" srcset=
Abschnitt Serielle Verbindung“ width=“300″ height=“222″> Seite Einstellungen – Tab „Connection“ > Abschnitt Serielle Verbindung

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.

Bluetooth Verbindung - Dialog zum suchen nachen neuen Geräten.
Bluetooth Verbindung – Dialog zum suchen nachen neuen Geräten.
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.

Dialog deaktivieren des Bluetooth Adapters.
Dialog deaktivieren des Bluetooth Adapters.
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!

Seite Eisntellungen - Tab "Connection" srcset=
Abschnitt Bluetooth Verbindung“ width=“300″ height=“289″> Seite Eisntellungen – Tab „Connection“ > Abschnitt Bluetooth Verbindung

Tab – Terminal

Im Tab „Terminal“ wird das verhalten des Terminals verwaltet.

Seite Einstellungen - Tab "Terminal"
Seite Einstellungen – Tab „Terminal“

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.