Mit dem Umstieg vom Windows auf ein Android Smartphone wollte ich meine IR_BT Steuerung endlich fürs Handy nutzbar machen. Aber ich wollte nicht erst groß Java lernen, um eine App programmieren zu können. Also habe ich nach einfachen App Designern gesucht und schließlich den MIT App Inventor 2 gefunden.
Der App Inventor funktioniert komplett online. So muss man kein Programm herunter laden oder installieren. Aber man benötigt ein Google Account, um sich anmelden zu können.

Die Bedienung ist wirklich kinderleicht und sehr intuitiv. Zum Erstellen der App Oberfläche startet das Programm zunächst im 'Designer'. Links ist eine Liste mit allen verfügbaren Elementen. Diese werden einfach per drag and drop zur App hinzu gefügt. Rechts erscheinen die jeweiligen Einstellungen zu dem gewählten Element. Einfach ausprobieren, man kann nichts falsch machen.



Nachdem die Oberfläche der App fertig designt wurde, wechselt man in den 'Blocks Editor'. Hier wird die Logik der App erstellt. Auch dies geschieht wieder alles per drag and drop. Tasten können z.B. mit einer when-do Abfrage programmiert werden. Auch if Schleifen oder Berechnungen sind möglich.



Die Kommunikation mit meinem Mikrocontroller erfolgt via Bluetooth. Die Verbindung lässt sich mit bestehenden Elementen im App Inventor sehr leicht einrichten. Man benötigt ein Bluetooth Client, ein ListPicker und evtl. ein Text Label für die Statusanzeige. Die Programmierung im Blocks Editor sieht dann so aus:



Nach ein paar Test Apps und Spielereien habe ich mit meiner IR_BT App angefangen. Weil ich alle meine Fernbedienungen ersetzten möchte, habe ich versucht diese virtuell nach zu bilden. Neben einfachen Buttons kann man auch Bilder für die Tasten im App Inventor einfügen. So lassen sich die Fernbedienungen sehr detailgetreu kopieren.



Im Blocks Editor habe ich neben der Bluetooth Verbindung zuerst das Menü programmiert. Jede Fernbedienung ist in einem Layout zusammen gefasst. Beim Klick auf eine Menütaste (oben) wird nur das gewünschte Layout angezeigt und alle anderen ausgeblendet.
Danach habe ich für jede einzelne Taste den entsprechenden Bluetooth Befehl hinterlegt. Dabei sind mir zwei Dinge im App Inventor sehr negativ aufgefallen. Es gibt kein copy and paste. Die Programmierung für jede Taste ist prinzipiell gleich. Nur der gesendete Wert ändert sich. Aber man kann nichts kopieren und muss für jede Taste alles neu erstellen. Das kostet viel Zeit. Außerdem wird der Blocks Editor mit jedem Element ein klein wenig langsamer. Das liegt nicht nur am App Inventor, sondern auch an meinem PC und der Internetverbindung. Trotzdem blöd. Als ich meine TV Fernbedienung fertig hatte, musste ich für jeden Klick mehrere Sekunden warten. Schließlich war ich irgendwann genervt. Dann hat sich mein Browser aufgehängt. Nach einem Neustart konnte der Blocks Editor meine Daten nicht mehr laden. Alles weg. Scheiße!


Fazit

Der MIT App Inventor 2 ist ein nettes, sehr leicht bedienbares Tool. Man kann damit Apps ohne jegliche Programmierkenntnisse erstellen. Zum testen und erstellen kleiner Apps durchaus empfehlenswert.
Aber man ist auf die vorgegebenen Funktionen eingeschränkt. Der Blocks Editor wird mit zunehmender Komplexität der App unübersichtlich und anfällig für Fehler. Für große Apps ist er definitiv nicht geeignet.

Ich muss jetzt wohl doch Java lernen.





Belichter

Ätzanlage

Netzteil

-----

ISP Programmer

Test-Boards

-----

7-Segment

DCF77

IR_BT
  - Software
  - Hardware
  - Hardware 2
  - App Inventor
  - Android App

Servo & LMA-Box

LMA2 Quantec

LCD Interface

IR Alarm

Klingel Code