Android <---> Arduino
Von Ewald Wieser am 07.01.2013
Im Zuge meines Semesterprojektes für mobile Applikationen beschäftigte ich mich mit der seriellen Kommunikation von Android-Smartphones mit Arduino-Mikroprozessorboards. Hierfür gibt es mehrere Möglichkeiten, die ich hier kurz gegenüberstellen will.
USB-Verbindung
- Arduino als Host
Hierfür ist entweder ein spezielles Arduinoboard notwendig, das bereits über eine USB-Host-Schnittstelle verfügt (Google ADK, …), oder ein USB-Host-Shield, das auf das bestehende Arduinoboard aufgesteckt wird und ca. € 45,- kostet.
Die Verbindung funktioniert über ein normales USB-Kabel und ist mit jedem Android Smartphone möglich. - Android als Host
Bei dieser Variante ist ein spezielle USB-Kabel notwendig (USB-OTG), welches das Android Smartphone in den Hostmodus versetzt und ca. € 5,- kostet. Es kann mit jedem Arduinoboard verwendet werden, funktioniert aber nur mit Androidphones, die den Hostmodus unterstützen (Samsung Galaxy Nexus, Google Nexus 4, …).
Bluetooth-Verbindung
So gut wie alle modernen Smartphones haben eine Bluetooth-Schnittstelle schon standardmäßig eingebaut. Auf der Seite des Arduino gibt es entweder schon fertige Boards mit Bluetooth-Schnittstelle , die ca. € 100,- kosten oder ein Bluetooth-Shield, das auf das bestehende Arduinoboard aufgesteckt wird und ca. € 23,- kostet. Der Vorteil dieser Verbindung ist, das kein Kabel zwischen Smartphone und Androidboard benötigt wird.
Für mein Projekt habe ich mich für den Android-Hostmodus entschieden, da so die wenigsten Kosten und entstanden und keinerlei Umbauten in der Soft- oder Hardware notwendig waren. Für die Verwendung der Schnittstelle in Java gibt es außerdem eine kleine Library, die einfach eingebunden wird und die sich um die Kopplung kümmert (http://code.google.com/p/usb-serial-for-android/).
The comments are closed.