Sensor-Infos und Steuerung mit SmartPhone App

rainer_r

Moderator
Sensor-Infos und Steuerung mit dem SmartPhone und der "Pfod" App

Unmittelbare Informationen über die Sensoren und den Status des Rob erhält man mit einer Bluetooth Schnittstelle und der sog. "Pfod-App". "Pfod" steht für Protocol For Operations Discovery - eine universelle Applikation zur Darstellung von Menüs und Informationen auf einem SmartPhone. Es gibt auch eine kostenlose Lib für die Arduino's, diese wird aber nicht unbedingt benötigt. Diese App für Android SmartPhone's ist im Google AppStore verfügbar.

Nun einige Infos zur Installation und Verwendung der Blutooth-Schnittstelle.
In einem anderen, früheren Beitrag von mir habe ich den Anschluß eines Bluetooth HC-05 Module an den Arduino-Mega ausführlich beschrieben. Diese Hardware wird nun benötigt.

Laden sie nach dem Anschluss der HW die App auf ihr SmartPhone und verbinden sie sich mit dem HC-05 Modul im Rob.
Die Pin zum Verbinden ist i.d.R. die Ziffenfolge 1-2-3-4. Die Verbindung wird bei, laufender Rob-Software und Aktivierung von Bluetooth auf dem SmartPhone, sofort hergestellt. Anschließend wird das Start- bzw. Haupt-Menue auf dem Handy gezeigt.

Haupt-Menue.jpg

Start-Stop.jpg


Für die Anpassung der Menues oder Infos vom Rob zum Handy sind die wichtigsten Programmierfunktionen
hier kurz beschrieben. Zunächst fordert die App (autom.) ein (Haupt) Menü an, dieses wird wie folgt in der Arduino-Rob-SW angelegt:


Code:
SerialX.print("{.HauptMenue"); 
SerialX.print("|y1~MenuePkt1|y2~MenuePkt2|y3~MenuePkt3|y5~MenuePkt4|y6~MenuePkt5|y7~MenuePkt6");
SerialX.println("}");


Wobei bei den einzelnen Unterpunkten ein Kommando (z.B. y1) definiert wird. Dieses Kommando wird bei einer Auswahl des Unterpunktes auf dem Handy an das Pfod-Device (=Arduino) gesendet. Über ein spezielles Progarmm im Arduino oder über die Pfod-Lib (Arduino-Lib) werden die gesendeten Kommandos selektiert und es kann z.B ein weiteres Menü oder Information zum Handy gesendet werden. Eine, von der Darstellung auf dem Handy, spezielles Menü ist das Navigation-Menü es stellt die Eingabe als helle Flächen dar. Der Mega-SerialPort mit dem das HC-05 Modul kommuniziert wird über SerialX (X= 1,2,3,4) angesprochen.

Sensor-Menue.jpg


Alle Menüs sind gleichartig aufgebaut und beliebige Unterpunkte mit Kommandos definierbar.

Die einfachste Form eine Sensorinfo darzustellen:


Code:
SerialX.print("{.SensorInfo`2000");         
SerialX.print("|s01~Sensor1"); SerialX.print(Sensor1Wert); SerialX.print("Sensor1Dimension"); 
SerialX.println("}");


Wobei diese Sensorinfo durch die App autom. alle 2 Sekunden (`2000) erneut angefordert wird.

Folgende Befehle können an die App gesendet werden:

Code:
{} Empty
{@ Format/Language
{. Menu
{: Update menu/navigation items
{^ Navigation input
{= Streaming raw data display and plotting
{' String input
{# Numeric input
{? Single Selection input
{* Multiple Selection input
{! Close connection


Die genau Beschreibung zur App erhalten sie hier http://www.forward.com.au/pfod/index.html] http://www.forward.com.au/pfod/index.html[/url]

Standard-Sensor.jpg

Hier oben sieht man das von mir definierte "Standard"-Sensor (Menü) - eine Auswahl wichtiger Sensoren.
Meine Pfod-App Arduino-Software steht hier zum Download bereit:
Bluetooth-PfodApp.zip
 
Oben