android-arduino

Android <---> Arduino

Von 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.