ArduSmartPilot mit MIT App Inventor

Bespiel grafischer Quellcode im App Inventor.

Anfangs wurde der ArduSmartPilot über Bluetooth (BT) gesteuert. Je nach Smartphone und BT-Modul sind hierbei aber die Reichweiten der Fernsteuerung nicht komfortabel.
Daher wurde mit dem ESP8266 (Platine ESP-201) die WLAN-Kommunikation eingeführt, womit sich Reichweiten oberhalb 200 m ergeben. Die Android-App hierbei wurde wie bei der BT-Variante immer noch über die IDE "Processing" erstellt.
Inzwischen ist das Erstellen der Android-APP mit dem „MIT App Inventor“ sehr komfortabel geworden: Für diese webbasierte IDE müssen keine Programme mehr auf dem Rechner installiert werden. Zudem ist der App Inventor aufgrund seiner grafischen Programmiersprache besonders für Schüler geeignet.
Daher wurde hiermit der ArduSmartPilot entsprechend erweitert.

Auf dem ESP wird ein „WiFi-Server“ programmiert. Dies ist eigentlich ein rudimentärer Webserver.
Jedoch sendet er an seinen Client (das Androidgerät) keinerlei inhaltliche Daten zurück, so wie es normale Webserver im Internet machen. Bei dem hier beschriebenen WiFi-Server werden praktisch keine HTML-Inhalte übertragen, weshalb die Kommunikation ähnlich schnell ist wie mit der WLAN-Kommunikation mit der Processing-App.


Man kann auf dem ESP auch einen „normalen Webserver“ programmieren, wie im Projekt „Legoino“ der Hochschule Reutlingen dokumentiert ist. Hierbei ist aber die Latenzzeit zu groß, um ein Flugzeug zu steuern, da z.B. das komplette Layout der App über WLAN übertragen wird. Außerdem ist der Zugriff auf die internen Sensoren des Androidgeräts recht problematisch.

Eine Anleitung mit Quellcodebeispielen finden Sie unter dem Menüpunkt "Downloads". Diese Anleitung behandelt nur die Software für die WLAN-Kommunikation (sowohl App als auch ESP).
Das Einbinden der Sensoren des Androidgeräts in das App Inventor Programm ist exemplarisch im Legoinoprojekt dargestellt.