TonUINO Webinterface

Das Webinterface (deutsch Webschnittstelle) ist eine Schnittstelle zum TonUINO, die über das Hypertext Transfer Protocol (HTTP) angesprochen werden kann. Sie bietet eine grafische Benutzeroberfläche (GUI), über die ein Benutzer mit Hilfe eines Webbrowsers mit dem TonUINO interagieren kann, oder einen Webservice, durch den der TonUINO Daten oder Funktionen zur Verfügung stellt.

Das Webinterface als GUI hat den Vorteil der Plattformunabhängigkeit, da für nahezu jedes netzwerkfähige Betriebssystem ein Webbrowser verfügbar ist und meistens auch bereits mit ausgeliefert wird, so dass für die Nutzung eines Webinterface keine weitere Software installiert werden muss.

Die Nutzung eines Webdienstes zum Datenaustausch zwischen zwei Systemen kann vorteilhaft sein, da der Datentransport per HTTP unabhängig von Programmiersprache und plattformübergreifend etabliert ist und meistens auch durch Firewalls hindurch gestattet wird.


Der neue Mikrocontroller Nano ESP32

Der Nano ESP32 hat einen deutlich leistungsstärkeren Prozessor als die bisher verwendeten Mikrokontroller der Arduino Nano Serie. Damit kann er nicht nur das komplette Leistungsspektrum verarbeiten, das die TonUINO SW inzwischen zu bieten hat, sondern bringt auch noch neue Fähigkeiten mit:

Er hat ein WLAN-Modul an Bord, womit sich völlig neue Möglichkeiten des Zugriffs und der Bedienung eröffnen.

Weiterer enormer Vorteil ist zudem, dass er im bekannten Arduino Nano Format gehalten und pin-kompatibel zu den bisherigen Mikrocontrollern ist. So kann er tatsächlich 1:1 in einem bestehenden Aufbau den Arduino Nano (sogar auf der bekannten Classic Platine) ersetzen.


Neue Möglichkeiten mit WLAN und Webinterface

Mit seinem WLAN-Modul kann der Arduino Nano ESP32 ein eigenes WLAN bereit stellen oder sich mit einem bestehenden WLAN verbinden. Dabei bietet der Server des Nano ESP32 ein Webinteface, das ohne Installation einer App mit jedem Browser aufgerufen und bedient werden kann. Der Zugriff auf das Webinterface kann gleichermaßen von mobilen Geräten (Handy, Tablet, laptop) und auch von Desktop-PCs erfolgen auf denen ein normaler Internet Browser verfügbar ist.
Über das Webinterface sind folgende Funktionen verfügbar: Dies sind zusätzliche Möglichkeiten. Die gewohnte Bedienung und Einstellung über das bekannte sprachgesteuerte Menü bleiben sebstverständlich erhalten.


Bedienung des TonUINO (Home) / Karten beschreiben

Bedienung:
Die Startseite des Webinterface ermöglicht über die Nachbildung der 5 Tasten die vollständige Bedienung des TonUINO.
Selbst die Doppelbelegung der Tasten bei kurzem und langem Tastendruck ist nachgebildet, indem die untere Reihe der Tastennachbildung den "langen Tastendruck" der jeweiligen Taste auslöst.

Infobox:
In der grauen Infobox wird der aktuelle Status des TonUINO angezeigt und dynamisch aktualisiert.

Ist eine Modifikation aktiviert, wird das hier in Klartext angezeigt. Bei der Schlummerfunktion wird sogar ein Countdown der noch verbleibenden Zeit eingeblendet.

Karten simulieren / beschreiben:
Im Bereich Karte können alle Parameter einer Karte (Widergabemodus, Ordner, Track) in den entsprechenden Feldern ausgewählt / eingetragen werden.

Modifikation Ein- / Ausschalten
Modifikationskarte beschreiben
:
Im Bereich Modifier kann die gewünschte Modifikation ausgewählt und notwendige Parameter eingetragen werden


Admin Einstellungen

Das Beschreiben / Konfigurieren von Karten kann schon auf der Startseite (Home) erfolgen. Darüber hinaus bietet die Seite "Einstellungen einen geordneten Überblick aller weiteren Einstellungen, die sonst auch über das Admin Menü gemacht werden,

Über die Eingabefelder der Seite können jetzt alle Parameter, selbst für die Shortcuts, komfortabel eingegeben und mit einem Klick auf "Save" an den TonUINO übergeben werden.


Verbindung mit WLAN

Kann sich der TonUINO nicht mit einem WLAN verbinden (das ist bei der Erst-Inbetriebnahme immer der Fall), erzeugt der TonUINO einen eigenen Access Point (AC), also ein eigenes WLAN, mit dem Namen "TonUINO".
Dieses WLAN ist offen und unverschlüsselt und es kann ein Gerät ohne weitere Angaben mit diesem Netzwerk verbunden werden.

Sobald die Verbindung zum Netzwerk "TonUINO" hergestellt ist, öffnet sich die Startseite des Webinterface.
In Fällen, in denen das Gerät noch zusätzlich (gleichzeitig) mit einem anderen Netzwerk verbunden ist, öffnet sich die Seite nicht automatisch, sondern muss im Browser über die Adresse "http://192.168.4.1" explizit aufgerufen werden.

Von der Startseite aus kommt man dann (mit dem 3-Striche Menü) über die Seite "System" zu der Seite für die Einstellungen der WLAN Konfiguration.

Zur Verbindung mit einem anderen WLAN, muss dessen SSID (= der Name des WLAN) und das Passwort für den Zugang eingegeben werden.
Zusätzlich kann noch ein individueller Name (Hostname) für den TonUINO eingetragen werden.
Der individuelle Name ist zwar nicht unbedingt erforderlich, erleichtert aber besonders dann die eindeutige Zuordnung, wenn mehr als ein TonUINO mit dem Netzwerk verbunden ist und gezielt angesprochen werden soll.

Wenn die Verbindung zu dem vorgesehenen WLAN erfolgreich hergestellt wurde, wird das Webinterface mit der Staqrtseite über das neu verbundene Netzwerk geöffnet. Ist ein individueler Hostname vergeben worden, wird dieser in der Kopfzeile des Webinterface angezeigt.

Der TonUINO kann nun über das Webinterface bedient und verwaltet werden.
Der Hostname wird in der Kopfzeile des Webinterface angezeigt.


LOG Daten

Bisher war die "Konsole" das unverzichtbare Werkzeug zur Diagnose, wenn der TonUINO nicht (ganz) so funktioniert hat, wie er sollte.
Das war zwar recht hilfreich, aber auch etwas umständlich, da immer eine Kabelverbindung zwischen TonUINO und Endgerät hergestellt werden musste, um den Datenstrom für das LOG zu erfassen. In der Regel konnte eine derartige Verbindung nie ohne Öffnung des TonUINO hergestellt werden.

Mit der Darstellung des Datenstroms auf der LOG - Seite ist eine Diagnose nun viel einfacher und komfortabler, da keine Hardwareverbindung zum TonUINO mehr erforderlich ist.
Bis zu 2000 Zeilen werden im LOG zwischengespeichert, so dass auch umfangreichere Untersuchungen / Diagnosen gemacht werden können.
Damit entfällt auch das bisher notwendige Öffnen des TonUINO für Diagnosezwecke.


OTA - Firmware Upgrade

OTA (Over The Air) ermöglicht, ein Firmware Upgrade ohne Kabelverbindung per WLAN auf den TonUINO zu laden.
Die Firmware muss dazu bereits compiliert sein und als Binärdatei vorliegen. Entsprechende Firmware-Dateien können mit der Arduino IDE erzeugt werden.

Die OTA-Funktion ist über die Registerkarte "System" erreichbar.
Bei der ersten Verbindung wird eine Anmeldung mit folgenden Zugangsdaten verlangt

Nach erfolgreicher Anmeldung wird die aktuell installierte Firmwareversion angezeigt,
gefolgt von der Aufforderung eine Firmwaredatei auszuwählen.

Zur Auswahl öffnet sich dann das bekannte Auswahlmenü des Betriebssystems.

Nach Auswahl und Bestätigung beginnt der Upload erst, nachdem er mit dem "Upgrade" Button ausgelöst wird und kann über eine Fortschrittsanzeige verfolgt werden.
Nach dem Upload macht der Arduino automatisch einen Reset und startet neu.
Nach dem Neustart wird nun die Version der aktualisierten Firmware angezeigt.


Firmware-Datei mit Arduino IDE erzeugen

Die Arduino IDE ist zugleich Sketch-Editor, Compiler und Uploader. In der Regel werden diese Funktionen genau in dieser Reihenfolge automatisiert verwendet. Damit besonders das Compilieren problemlos erfolgt, müssen einige Einstellungen gemacht und auch Bibliotheken für die Baugruppen und Funktionseinheiten in bestimmten, vorgegebenen (auf den Programmcode abgestimmten) Versionen geladen sein.
Dies kann zu einem späteren Zeitpunkt, zu dem die Firmware erneut hochgeladen werden muss, Probleme verursachen, da dann zum Compilieren möglicherweise schon veraltete Bibliotheken benötigt werden können. Dem ist sehr gut vorzubeugen, indem die bereits compilierte Firmware für spätere Verwendung archiviert wird, da sie alle notwendigen Bibliotheken enthält bzw. diese, wie benötigt, schon beim Compilieren eingefügt / verarbeitet wurden.

Die Arduino IDE bietet eine Export-Funktion an, mit der die fertig compilierte Firmware komplett als Binärdatei (*.bin) gespeichert wird. So erzeugte Firmware muss nicht erneut compiliert werden (erlaubt aber auch keine Änderungen mehr) und kann durch einen geeigneten Uploader oder per OTA auf den Mikrocontroller hochgeladen werden.

Die so erzeugte Datei befindet sich, etwas versteckt,im Ordner:
C:\Users\XXXXX\AppData\Local\Temp\arduino\sketches\XXXXXXXXXXXXXXXXXXXXXXXXXXXX\TonUINO-TNG.ino.bin

Hier steht das "X" für den Benutzernamen und eine kryptische Ordnerbezeichnung, die von der Arduino IDE vergeben wird.

Tipp:
Da sich im Verzeichnis "Sketches" mehrere Ordner mit kryptischen Bezeichnungen befinden können, wird das Finden des richtigen Ordners sehr erleichtert, wenn diea ngezeigte Liste nach Erstellungsdatum sortiert wird.


LOG mit Konsole / Terminal-Programm

Da beim Nano ESP32 der Mikrocontroller auch die Steuerung der seriellen Schnittstelle übernimmt (bei den anderen Nanos ist das ein separater Schnittstellen-Chip), verliert er bei einem Reset die Verbindung zum PC. Damit ist es schwierig, ein LOG vom Bootvorgang zu erhalten, da die Verbindung erst durch Mausklick wieder hergestellt werden muss.

Wenn beim Booten die Down (Prev) Taste gedrückt gehalten wird, verzögert sich die Erste Log Ausgabe um 5 Sekunden, so dass man die Verbindung herstellen und das Log noch starten kann und den Anfang sieht.


TonUINO Info / Konfiguration

Im Systembereich kann man sich umfangreiche Informationen zum TonUINO anzeigen lassen. Besonders hilfreich sind auf der Seite "TonUINO Info" die Informatinen im Abschnitt "About" zur Konfiguratin des TonUINO, wie sie für die Firmware in der "constants.hpp" ausgewählt wurde.
So kann man sehr gut feststellen, ob die geladene Firmware zur aktuellen Hardware passt und auch der Funktionsumfang den Anforderungen / Erwartungen entspricht.

In den folgenden Abschnitten sind noch weitere Informationen, besonders auch zum gewählten WLAN, verfügbar.