Forum: Mikrocontroller und Digitale Elektronik Bedeutung und "Missbrauch" von Bluetooth-Profilen


von ZDD1T (Gast)


Lesenswert?

Hallo miteinander!

Vor einiger Zeit hatte ich hier schon einmal bzgl. iPhone und Bluetooth 
gesucht und war zunächst zu dem Schluss gekommen, mich am besten für 
made-for-iPod zu registrieren. Da dies aus verschiedenen Gründen nicht 
möglich war, muss nun eine alternative Lösung her. Zunächst geht es in 
meinen Fragen dabei NICHT spezifisch ums iPhone, sondern um BT im 
Allgemeinen, da kann mir doch bestimmt jemand weiterhelfen ;)

Mein Problem ist : Ich möchte über BT Informationen zwischen meinem 
iPhone und einem zweiten, idealerweise "beliebigen", BT-Modul 
austauschen, und zwar in beiden Richtungen. Nun unterstützt das iPhone 
nicht besonders viele BT-Profile. Da ich den Unterschied zwischen 
"Profil" und "Protokoll" noch nicht abschließend verstanden habe, direkt 
hierzu mal meine erste Frage:

1.: Im Profil ist zunächst festgelegt, welche Art von Daten übertragen 
werden können und wie der Partner darauf zu reagieren hat (Bsp. Headset, 
Profil HSP: Audio-Daten können in beiden Richtungen übertragen werden, 
einige wenige Steuerbefehle ebenfalls: einkommendender Anruf wird ans 
Headset gesendet --> wenn man dort per Knopdruck den Anruf entgegen 
nimmt eine entsprechende Information zurück), richtig? Da hier ja 
sicherlich auch ein zeitlicher Ablauf vorgegeben ist, kann man schon von 
einer Art Protokoll sprechen? Also quasi für jede Art der Anwendung ein 
darauf abgestimmtes, sinnvolles Protokoll.

Jetzt vorweggenommen schon einmal die Quintessenz meines Anliegens, 
Frage 2:

2.: Wäre es möglich, ein ansprechbares Profil/Protokoll so zu 
"missbrauchen", dass ich zumindest eine kleine Menge an Daten trotzdem 
mit einem Partner (der eines der vom iPhone unterstützten Protokolle 
ebenfalls unterstützt) austauschen kann? Und wenn es beispielsweise nur 
ganz simpel so wäre, dass ich abwechselndes "Anruf-engegennehmen" und 
"Anruf-nicht-entgegennehmen" als "Codierung" verwende... Über einen 
Audiostream gingen ja sicherlich mehr Daten, nur: kann ich den

a) (z.B. vom iPhone aus) "beliebig" schreiben und auf der anderen Seite 
vernünftig lesen, sodass ich meine Daten unter Verwendung eines 
"falschen" Protokolls übertragen kriege?

Ab jetzt wirds iPhone spezifischer, Frage 3:

3.: Wie frei bin ich denn beim iPhone überhaupt in der Nutzung der 
BT-Profile (Mit OS 3.0 sind das ja insgesamt sechs verschiedene)? Wenn 
ich es richtig verstehe, kann ich mir zum Beispiel für eine 
PAN-Verbindung über peerPicker-Funktionen aus dem Game-Kit eine 
Verbindung zu einer zweiten App herstellen - mehr aber auch zunächst 
nicht - und hierüber dann beliebige (?) Daten tauschen. Auch wenn ich 
nicht weiß, was auf den unteren Übertragungsschichten passiert, kann ich 
also zumindest nachvollziehen, wie ich etwas auf der einen Seite 
schreiben muss, um es auf der anderen Seite entsprechend zu empfangen, 
richtig?

4.: Wo sind die Nutzung der anderen fünf BT-Profile (bzw. der für meine 
Zwecke noch sinnvollen Profile) dokumentiert?


Viele Fragen, aber ich würde mich wirklich über Antworten freuen!

ZDD1T

von Codebegugger2 (Gast)


Lesenswert?

ist es denn überhaupt möglich mit dem iPhone zu nicht iPhonegeräten 
Daten zu übertragen?

von Jörg S. (joerg-s)


Lesenswert?

Profil ist Profil. Wüsste nicht das da eine Hersteller-Sperre möglich 
wäre.

von ZDD1T (Gast)


Lesenswert?

>ist es denn überhaupt möglich mit dem iPhone zu nicht iPhonegeräten
>Daten zu übertragen?

Das ist eben die Frage.. An sich vorgesehen ist es ja leider nicht..

>Profil ist Profil. Wüsste nicht das da eine Hersteller-Sperre möglich
>wäre.

.. und das wäre halt evtl. der "Workaround".. ich baue mir ein Gerät, 
dass sich z.B. als Headset am iPhone anmeldet und dann - natürlich 
eingeschränkt durchs Profil - mit dem iPhone kommuniziert (was dann 
voraussetzt, was ich aber ebenfalls noch nicht genau durchblicke, dass 
ich im SDK frei bin, dieses Profil zu nutzen).

von Codebegugger2 (Gast)


Lesenswert?

[quote]Das ist eben die Frage.. An sich vorgesehen ist es ja leider 
nicht..
[/quote]

Alternative wäre sicher das iPhone zu jailbreaken und den Bluetoothstack 
aus dem iBluetooth-Projekt zu nutzen.

von Codebegugger2 (Gast)


Lesenswert?

Nach meinen Recherchen läuft übrigens die Übertragung zwischen 2 iPhones 
mit Bonjour

http://www.macwelt.de/artikel/_News/364682/iphone_os_3_bluetooth_neu_entdeckt/1

von ZDD1T (Gast)


Lesenswert?

Vielen Dank schonmal, ich werde mein Hauptanliegen aber nochmal auf eine 
kompaktere Form herunterbrechen :)

FRAGE KURZFORM:

Man liest überall von den insgesamt 6 durch das OS 3.0 unterstützten 
BT-Profilen, aber nichts darüber ob und wieweit sie sich jeweils durch 
das SDK nutzen lassen..

FRAGE LANGFORM:

>Alternative wäre sicher das iPhone zu jailbreaken und den Bluetoothstack
>aus dem iBluetooth-Projekt zu nutzen.

Jailbreak kommt leider nicht in Frage.

>Nach meinen Recherchen läuft übrigens die Übertragung zwischen 2 iPhones
>mit Bonjour

Ja, die Übertragung zwischen zwei iPhones würde ich ja auch durch 
Funktionen des GameKit-Frameworks in den Griff bekommen, da hier für das 
PAN-Profil Funktionen bereitgestellt werden. Ich muss mich im 
Wesentlichen ebensowenig um den Verbindungsaufbau und Datentransfer als 
solchen kümmern, kann dafür aber auch keinen Einfluss darauf nehmen, 
evtl. andere Partner als iPhones zu erlauben.

Aber wie sieht es nun mit den anderen Profilen aus, z.B. A2DP: Ist es 
so, dass

a) lediglich das iPhone OS3.0 A2DP, ... KENNT UND NUTZT, der Entwickler 
im SDK aber nichts davon selber ansprechen kann (Sich also z.B. KEINE 
eigenen Streams erstellen kann, etc)? Oder

b) analog zu oben: dass ich mit Funktionen des SDK z.B. einen eigenen 
Stream erstellen kann, den mir meine Funktion dann gemäß des 
A2DP-Protokolls verschickt?

(Alle Fragen unter der Voraussetzung, dass es sich OHNE 
made-for-iPod-Account umsetzen lässt)

Danke, ZDD1T

von ... .. (docean) Benutzerseite


Lesenswert?

hat das iphone ein profil für eine serielle Schnittstelle? das wäre am 
einfachsten oder nicht?

Wenn ja laufen Java Anwendungen? Vlt. gibts da einen Bluetooth ansatz?

von ZDD1T (Gast)


Lesenswert?

>hat das iphone ein profil für eine serielle Schnittstelle? das wäre am
>einfachsten oder nicht?

Leider nicht (Hintergrund ist natürlich, dass Apple mit zusätzlicher 
Hardware zusätzliches Geld verdient. Und ein einfaches serielles 
Protokoll macht es da dem einzelnen Anwender doch zu einfach, sich sein 
Zubehör einfach und billiger selber zu bauen..)

>Wenn ja laufen Java Anwendungen? Vlt. gibts da einen Bluetooth ansatz?

Leider auch kein Java.. Die Apps werden in Apples Entwicklungsumgebung 
XCode in Objective-C programmiert.

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.