Hallo,Hallo....Arduino am Smartphone ?

Bluetooth Frame von Seeedstudios inkl. Antenne (ca.2x3cm)
App von MyRobotLab
ITEAD-Assistent

Angeregt durch verschiedenen Berichte im Internet über die Möglichkeit Arduino mit einem Bluetooth-Zusatzplatinchen an Smartphones zu koppeln habe ich mal recherchiert.

Was ist Bluetooth ?

Bluetooth ist ein Funkverfahren im Nahbereich nach dem Standard IEEE 802.15.1. Es wurde als Ersatz für Anschlusskabel bei Geräten im Handy- und PC-Umfeld entwickelt. Bluetooth ist in 3 Klassen eingeteilt:

Klasse 1: 100mW ca. 100m Reichweite

Klasse 2: 2,5mW ca. 50m Reichweite

Klasse 3: 1mW ca. 10m Reichweite

Geräte nach den Standards der Bluetooth SIG senden als Short Range Devices (SRD) in einem lizenzfreien ISM-Band (Industrial, Scientific and Medical Band) zwischen 2,402 GHz und 2,480 GHz. Sie dürfen weltweit zulassungsfrei betrieben werden. Es wird ein Frequenzsprungverfahren (Frequency Hopping) eingesetzt, bei dem das Frequenzband in 79 verschiedene Frequenzstufen im 1-MHz-Abstand eingeteilt wird, die bis zu 1600-mal in der Sekunde gewechselt werden. Als Modulation wird Gaussian frequency-shift keying (GFSK*) - Modulation und ab Bluetooth 2.0+EDR dürfen auch π/4-DQPSK** und 8DPSK*** - Modulation verwendet werden. Maximale Datenraten von 1Mb/s bis zu 3Mb/s können je nach Modulationsverfahren erreicht werden.

Blutooth arbeitet mit einer PIN-Nummer und wird mit deren Hilfe mit der Gegenstelle verkoppelt. Die Übertragung erfolgt verschlüsselt, gilt aber nicht als wirklich sicher.

* GFSK: Frequenzumtastung mit Filterung der Bits über ein Gauss-Filter vor Modulation

** π/4-DQPSKQuadraturphasenumtastung, 4 Phasenzustände, Vermeidung von Nullstellen in der Amplitude

*** 8DPSK Differential Phasenumtastung mit 8 Phasenzuständen

Wie kann man sowas kompliziertes einfach an Arduino koppeln ?

Es gibt von der Bluetooth SIG ca. 20 verschiedenen Profile (Schnittstellenspezifikationen) für alle möglichen Übertragungsinhalte. Darunter gibt es (glücklicherweise) auch ein einfaches Profil :

SPP Serial Port Profile: Serielle Datenübertragung

Bei Nutzung dieses Profils ahmt die ganze komplexe Technik nach gegenseitger Erkennung und Kopplung per PIN einfach eine serielle Schnittstelle nach! Serielle Schnittstellen lassen sich ohne Probleme an den Arduino anschliessen (z.B. die USB-Schnittstelle zum PC arbeitet mit einer seriellen Schnittstelle).

Und was macht das Handy damit ?

Das große Problem ist, ein sinnvolles Programm (App) auf das Handy zu bekommen, und die Bluetooth-Anbindung auf Bedienelemente und Anzeigen zu bekommen. Dazu bieten sich nach Internetrecherche prinzipiell 3 Möglichkeiten an :

1. Amarino  http://www.amarino-toolkit.net/

Amarino ist ein Entwicklungssystem auf Rechnern mit dem neuen Betriebssystem Android (Linux-basiert, Google). Amarino hat Librarys speziell zur Kopplung an Arduino. Neue Smartphones sind häufig Rechner mit dem Android-Betriebssystem.

Zitat:

„Amarino basically consists of three main parts (two mandatory and one optional):

# Android application called "Amarino"

# Arduino library called "MeetAndroid"

# Amarino Plug-In Bundle (optional)

If you want to work with Amarino you need at least:

# An Android phone (Android 2.x works best, however Android 1.6 is also supported but not all models will work, e.g. HTC Hero and Samsung Behold II with Android 1.x won't work)

# An Arduino board (Lilypad, Duemilanove, ArduinoBT ...)

# A Bluetooth shield for your Arduino. (BlueSMiRF Gold and Bluetooth Mate do well. Also much cheaper modules like SURE Bluetooth GP-GC021 and Seeed Studio Bluetooth module have been reported to work flawlessly, but are a bit tricky to use)

# Some electronic components to make your Arduino happy (whatever you need to realize your ideas)“

2. Erstellung einer App auf dem Handy mit einer Scriptsprache 

 http://hackaday.com/2012/03/13/control-an-arduino-from-android-over-bluetooth/

Zitat

„Whether you’d like to do some real-time logging of data, or just want to control a project with your Android phone, [Thomas]‘s Arduino-Android Bluetooth connection instructable is sure to be useful

[Thomas]‘ build uses the very inexpensive JY-MCU Bluetooth module that’s available on eBay or dealextreme. This Bluetooth module ties directly into the Tx and Rx lines of the Arduino so a wireless serial connection between an Android device can be established. On the Android side of the build, Python for Android and the Scripting Layer for Android allow for reading wireless sensor data over Bluetooth.

While connecting an Android device to an Arduino is also possible with an IOIO or an Android Open Accessory dev kit, we haven’t seen much (barring this) about controlling or reading simple electronics with Android over Bluetooth. Sometimes you just don’t need an awesome dev board to bodge up a simple project, so we hope [Thomas]‘s very nice instructable will help get a few more builds off the ground.“

3. Verwendung einer fertigen App (geringeAnpass.mögl.)

Tutorial MyRobotLab

http://myrobotlab.org/content/connecting-android-phone-arduino-using-bluetooth

MyRobotLab erwendet eine fertige App + Arduino-Programm zur direkten Steuerung / Einlesen der IO-Pins. Mir ist unklar inwieweit die App angepasst werden kann.

Zitat Beginn des Tutorials:

„Additional Software:

Arduino IDE, ArduinoSerialBare.PDE, MyRobotLab.apk

Hardware: 

  • Smartphone running Android 2.3.3 or later

  • LED

  • 1K resistor

  • Arduino bluetooth board, or Arduino clone with bluetooth module

Description:

This tutorial will demonstrate how to connect an Android device to an Arduino using bluetooth.“

Der ITEAD-Assistent 

http://iteadstudio.com/application-note/make-arduino-talk-with-android-by-bluetooth/

Erstellung und Anpassung einer App über den ITEAD BT Debugging Assistant . Der Assistent ist nur für ITEAD-Module gedacht. Jedoch verwenden auch Moldule anderer hersteller (z.B. Seeedstudios) die gleichen ICs auf ihren baugleichen Platinen (Arduino-Prinzip: Hardware ist freigegeben zum Nachbau)

Zitat:

Make Arduino Talk With Android By Bluetooth

Application Note, by ITead.

Imagine using your cell phone to communicate with Arduino, so you can see the electricity consumption of each electric equipment, turn on/off them like TV , fan just using the software on your phone. we are now to turn it into reality step by step.

Here we release an “ITEAD BT Debugging Assistant”, you can use in on your Android cell phone to communicate with Arduino boards by our Arduino BT shield or BTBee module.“

Und weiter ?

Da ich momentan keine Zeit habe, mich in dieses Thema zu vertiefen, habe ich Jonas und Uwe Dierker gefragt, ob sie da Arbeit investieren wollen. Da die Anschaffung eines modernen Smartphones ins Haus steht, wollen sie es versuchen. Eine drahtlose Steuerung des Roboters über ein Smartphone wäre doch eine coole Sache! Ich stelle mein eigenes Bluetooth-Modul zum Verleihen zur Verfügung ( Seeedstudios Bluestoots Frame, Klasse 2, baugleich zum ITEAD-Modul). Falls es weitere Interessenten gibt, sollten sie sich mit den beiden kurzschliessen. Übrigens kostet das Modul ca. 19€.

Viel Erfolg !

Axel, DK4AQ

Diese Website nutzt ausschließlich technisch erforderliche Cookies. Wir benutzen keine Cookies, die eine Einwilligung erfordern würden. Weitere Informationen finden Sie in unserer Datenschutzerklärung. X