Bluetooth für ARM, embedded linux
Ich bin kämpfen jetzt für ein paar Tage, um das setup bluetooth-Dienste auf einem ARM-embedded-Geräte mit Linux. Ich bin mit einem bluetooth-dongle über USB angeschlossen.
Beginnen wir mit dem Anfang. Ich hatte zum kompilieren selber alle benötigten Pakete, und das bedeutet, dass expat, dbus, zlib, libffi, glib, bluez-3.36-libs und bluez-3.36-utils (yeah 3.36, ich weiß, Sie sind alt, aber damit ist meine cross-compiler), libopenobex-1.3, obexd-0.3, obexftp. Dann legte ich die Binärdateien und-Bibliotheken auf dem Gerät. Auch bluetooth ist aktiviert im kernel.
Ich bin in der Lage, aktivieren Sie die bluetooth-Verwendung hciconfig hci0 up
Befehl, ich kann führen Sie einen scan mit hcitool scan
ich kann auch ping mit l2ping zuvor gefundenen Geräten.
Was ich will, ist in der Lage sein, um die übertragung von Dateien zwischen, ARM-Gerät und einem anderen bluetooth-Gerät mit ftp-Protokoll und hier meine Probleme beginnen.
-
Sind das die einzigen tools, die ich brauche?
-
Nachdem ich alles auf dem Gerät, ich schalten Sie bluetooth mit
hciconfig hci0 up
, dann starte ich dbus-daemon mit Hilfe vondbus-launch
und nach diesen versuche ich zu starten obexd. Wenn ichdbus-launch
es druckt die Werte für DBUS_SESSION_BUS_ADDRESS und einige pid und weiter, wenn ich versuche zu starten obexd es fragt mich, um die DBUS_SESSION_BUS_ADDRESS. Ist das normal, da ich gelesen habe, müssen Sie dies nur für test-Zwecke? Was ist die Standard - (real -) dbus-session-bus-Adresse? Wie muss ich richtig konfigurieren, dbus? -
Ich Neige dazu zu denken, dass das problem in den pairing-Vorgang, bei dem zwei bluetooth-Geräte versuchen, sich zu authentifizieren. Wie kann ich dies von der Kommandozeile aus als dies alles ist, was ich habe (keine GUI)?
-
Könnten Sie bitte zeigen Sie mir die ausführliche Schritt zu Folgen, um zu erreichen mein Ziel. Ich habe versucht zu lernen, mehr über Sie aus dem Internet und ich habe versucht zu finden, diese Schritte online, aber ich konnte nicht finden, was ich brauche.
-
Könntest du bitte erklären Sie mir den Unterschied zwischen obexd, obexd-client, obexd-server obex-data-server, obexftp? Sie sind gedacht, um zusammen verwendet werden, oder Sie bieten die gleichen Funktionalitäten? Ich konnte nicht klären, diese von Ihren Mann Seiten.
Ich weiß, das ist ein wirklich langer post mit vielen Fragen, aber ich habe keine Erfahrung mit bluetooth, und ich bin unter Zeitdruck zu lösen. Jede Hilfe wäre herzlich willkommen.
Meine Vermutung ist, dass zumindest einige dieser Komponenten werden mit dem system eher als session-bus. Idealerweise sollten Sie beim Booten gestartet, indem entweder die init-Scripte oder SystemD. Der session-bus kann auch verwendet werden, von jedem Benutzer-Schnittstellen.
dbus-launch
wird oft verwendet, um den boot-strap-X, in der Reihenfolge, in der Sie und Ihre Kind-Prozesse Erben die notwendigen Umgebungsvariablen. Wenn dies aus einer shell versuchen dbus-launch /bin/sh
.
InformationsquelleAutor fml | 2013-01-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Viele Fragen, die Sie erhoben, sondern versucht, Sie zu beantworten :
Thatz so ziemlich alles, was Sie benötigen.
Warum sind Sie beginnen, session-bus ? Wird nicht ab-system bus helfen und hcid system-bus( soweit ich weiß ). Sie benötigen, um ausführen die cross-kompiliert obexd ( oder einem anderen Dienstprogramm) mit den korrekten Parametern.
können Sie einfach-agent ( ist im tools dir in 3.36 release, wenn ich mich nicht Irre ). In einem nicht-gui-Modus ( simple-agent --default [ Anhänger von Ihrem Pin-Code ] ).
Grundsätzlich müssen Sie ein Gerät ( Scannen ), authentifizieren ( paar ) und fahren Sie dann mit file-transfer werden, der mit obex-level-Anforderung /Antwort ( in einfachen Worten).
Soweit ich weiß, zunächst obexftp /obex-push-waren die einzigen standalone-utilities, arbeitete auf der Oberseite von openobex für die Datenübertragung. Obex-data-Server wurde als Teil des GSOC-Wettbewerb, der bei den wichtigen Distributionen. obexd ist die schlankere version des obex-data-server speziell für embedded-Nutzung und ist eng integriert mit hcid ( und bluetoothd später). Bitte verwenden Sie nur eines der Programme und nicht alle zur gleichen Zeit.
InformationsquelleAutor Rahul