Forum: Mikrocontroller und Digitale Elektronik Android Handy als Mensch-Maschine Interface


von Schuschu (Gast)


Lesenswert?

Moin,

um größere oder kleiner Gerätschaften zu steuern, bedarf es gewöhnlich 
Schalter und Displays. Beides könnte theoretisch mit einem Android Handy 
dargestellt werden und daher diese Elemente ersetzen. Daher die Frage:

Gibt es eine Möglichkeit, ein Android Handy (oder Pad) z.B. per USB mit 
einem Microcontroller zu verheiraten, so dass die Zustände von Buttons 
oder alphanumerischen Fensterinhalten (also Bits und Bytes) an einen 
Microcontroller übertragen werden können? Natürlich sollte auch der 
umgekehrte Weg möglich sein und Zustände bzw Werte an die "LED"s und 
Anzeigen auf das Handy übertragen werden.

Wurde so etwas schon einmal realisiert und dokumentiert? Gibt es da 
Bastel- oder gar fertige Lösungen?

Gruß
Schuschu

von David .. (volatile)


Lesenswert?

Schuschu schrieb:

> Gibt es eine Möglichkeit, ein Android Handy (oder Pad) z.B. per USB mit
> einem Microcontroller zu verheiraten, so dass die Zustände von Buttons
> oder alphanumerischen Fensterinhalten (also Bits und Bytes) an einen
> Microcontroller übertragen werden können?

Am Einfachsten waer wohl RS232 ueber USB oder Bluetooth.

von John H. (karabka)


Lesenswert?

Das funktioniert auch mit dem Arduino MEGA ADK, der hat eine USB-Host 
Schnittstelle. Für das Handy habe ich eine kleine App heruntergeladen, 
die heißt Handbag: http://rancidbacon.com/p/android-arduino-handbag/
Der Vorteil ist, dass man nur den Code für den Arduino schreiben muss 
(also simples C / C++) und sich die Programmierung des Handys sparen 
kann. Ich steuere damit ein paar DACs und lese die Spannungswerte wieder 
ein. Für meine Anwendung reicht das vollkommen.
Nachteil ist natürlich, dass du immer eine USB-Verbindung benötigst.

LG,
John

von Raven (Gast)


Lesenswert?

Mit USB sind die Einheiten mit einem Kabel Verbunden. Stört meistens. 
Außerdem hast du eine galvanische Verbindung von deiner Anwendung zum 
Handy
(mit allen daraus resultierenden Problemen)
Die Beste Variante ist ein serielles Bluetoothmodul. Läuft problemlos 
über RS232 Protokoll.
Ich verwende schon seit längerem nur mehr mein Handy (Android - Galaxy) 
als Display, Taster, Schalter, akustische Meldungen ... für meine 
Mikroprozessoren.

von asd (Gast)


Lesenswert?

Raven schrieb:

> Die Beste Variante ist ein serielles Bluetoothmodul. Läuft problemlos
> über RS232 Protokoll.
> Ich verwende schon seit längerem nur mehr mein Handy (Android - Galaxy)
> als Display, Taster, Schalter, akustische Meldungen ... für meine
> Mikroprozessoren.

Wie programmierst du? Gibts eine gute Einführung/Tutorial für die 
Android programmierung?

von Daniel S. (hackherz)


Lesenswert?


von Arc N. (arc)


Lesenswert?

Raven schrieb:
> Mit USB sind die Einheiten mit einem Kabel Verbunden. Stört meistens.
> Außerdem hast du eine galvanische Verbindung von deiner Anwendung zum
> Handy

ADUM4160 und 3160

Von Microchip gibt es sowohl für Android als auch iOS entsprechende 
Hardware und Software.
http://www.microchip.com/pagehandler/en-us/technology/smartphoneaccessory/tools/android.html
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en553676

von Raven (Gast)


Lesenswert?

die Programmierung auf Prozessorseite ist indifferend. Es
müssen nur DatenBytes über die RS232 ausgewertet werden.

Die Software fürs Handy ist in Java geschrieben. Das dazugehörige
SDK ist unter http://developer.android.com/sdk/index.html
herunter zu laden. Bluetooth wird toll unterstützt. Wenn du
Interesse hast kann ich Dir auch den JavaCode für die
RS232-Komunikation geben.

Als RS232-Bluetoothmodul verwende ich dieses
http://www.ribu.at/OnLi_Kat.htm

von Neo (Gast)


Lesenswert?

Hallo Raven
mich würde der JavaCode für die Bluetooth Abhandlung interessieren, fals 
du diesen bitte Hochladen könntest?

von Raven (Gast)


Lesenswert?

verwendest du Eclipse und Android-SDK ?

von WinWin-Situation (Gast)


Lesenswert?

Raven schrieb:
> Wenn du
> Interesse hast kann ich Dir auch den JavaCode für die
> RS232-Komunikation geben.

Hallo,
ich verwende ein BTM222 und einen ATMEGA256.
Auf der PC-Seite programmiere ich mit Labwindows/CVI.
PC und ATMEGA unterhalten sich über Bluetooth.
Nun möchte ich statt dem PC ein Android-Smartphone verwenden.
Zur Einarbeitung wäre mir dein Java-Code äusserst hilfreich.

von Christian B. (casandro)


Lesenswert?

Wenn Du was haben willst, das auch noch in einem Jahr funktioniert, nimm 
einen Webserver und mache die Schnittstelle über Browser. Da ist es dann 
egal welches Endgerät Du hast, und es ist weniger Arbeit als da jetzt 
irgendwie einen Mikrocontroller an ein Mobiltelefon dran zu kriegen.

Fertige Webserver die statische Seiten und dynamische Inhalte ausliefern 
können gibts für so ziemlich jeden Mikrocontroller.

von Walter S. (avatar)


Lesenswert?

Christian Berger schrieb:
> mache die Schnittstelle über Browser

d.h. hardware über WLAN oder geht das auch über Bluetooth?

von was? (Gast)


Lesenswert?

Amarino - "Android meets Arduino"
http://www.amarino-toolkit.net/index.php

von Neo (Gast)


Lesenswert?

@Raven
Ja ich verwende Eclipse und Android SDK.
Habe auch schon ein paar kleine Dinge damit programmiert und würde gern 
mal eine saubere, als meine.., Umsetzung studieren.

von Raven (Gast)


Angehängte Dateien:

Lesenswert?

Im File Bluetoothservice sind alle Subroutines vorhanden die du 
benötigst
um eine serielle Verbindung herzustellen. Im anderen File ist eine
Beispielaktivity enthalten die das Service verwendet. Das sollte reichen
um die Bluetoothfunktionen zu verstehen.

Die Bluetoothfunktion kann im Simulator nicht simuliert werden! Die 
entsprechenden BluetoothZeilen müssen auskommentiert werden um den Rest
simulieren zu können.
Als Tutorial für Android und Bluetooth kann ich
http://developer.android.com/guide/topics/connectivity/bluetooth.html
empfehlen. Von dort bin ich ausgegangen.
Ein wichtiger Hinweis bei eigenen seriellen Bluetoothanwendungen ist die 
Verwendung der UUID "00001101-0000-1000-8000-00805F9B34FB". Ohne die
funktioniert nichts!

von Neo (Gast)


Lesenswert?

Cool, vielen Dank für die beiden Dateien.
Ich werde sie mir anschauen.

von asd (Gast)


Lesenswert?

Von mir auch vielen Dank für die java Dateien. Werd ich mir bei 
Gelegenheit ansehen.

von Neo (Gast)


Lesenswert?

Hallo
Habe mir mal die sachen angeschaut, leider fehlen paar Dinge, z.B. mit 
dem Classtextview finde ich rein gar nichts.
Leider funktionieren die Demos zu den Bluetooth Chat nicht richtig, ich 
bekomme immer ein runterskaliertes Bild auf meinem Tablet.
Es scheint das er dann immer ein 3.2"Bild auf 10.2" Hochskaliert.

von Raven (Gast)


Lesenswert?

natürlich funktioniert es so nicht. Das beigelegte Aktivityfile ist nur 
ein Teil einer kompletten App die den Datenaustausch via Bluetooth 
zwischen Handy (Galaxy) und Mikrocontroller ermöglicht. Du solltest nur 
die Teile
verwenden die für  die Bluetoothkomunikation zuständig sind.
Mit den beiden Files müßte es mit ein wenig Programmiererfahrung ohne 
weiteres möglich sein, eine App für die Komunikation zwischen einem 
entsprechenden  Bluetoothmodul am Mikrocontroller und einem 
Android-Handy zu erstellen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.