Bluetooth-Tipps: Unterschied zwischen den Versionen
Codica (Diskussion | Beiträge) |
Codica (Diskussion | Beiträge) |
||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
=== Erste Schritte === | === Erste Schritte === | ||
+ | * [https://kofler.info/bluetooth-konfiguration-im-terminal-mit-bluetoothctl/ kofler.info zu Pairen mit bluetoothctl] | ||
* '''Die''' [http://www.holtmann.org/linux/bluetooth/ Übersicht für Howtos für Bluetooth unter Linux] | * '''Die''' [http://www.holtmann.org/linux/bluetooth/ Übersicht für Howtos für Bluetooth unter Linux] | ||
* Eine ältere [http://www.holtmann.org/papers/bluetooth/uptimes2003.html Anleitung zu Bluetooth unter Linux] | * Eine ältere [http://www.holtmann.org/papers/bluetooth/uptimes2003.html Anleitung zu Bluetooth unter Linux] | ||
Zeile 13: | Zeile 14: | ||
* Eingebaute Bluetooth-Adapter anzeigen | * Eingebaute Bluetooth-Adapter anzeigen | ||
hcitool dev | hcitool dev | ||
+ | * Oder mit ''bluetoothctl'' (benötigt Rechte der Gruppe <code>lp</code><ref>Siehe https://wiki.archlinux.org/index.php/bluetooth</ref> und/oder eine Anpassung der Rechte in <code>/etc/dbus-1/system.d/bluetooth.conf </code>) | ||
+ | sudo adduser USER lp | ||
+ | bluetoothctl | ||
+ | list | ||
+ | |||
* Falls kein Adapter angezeigt wird, ist er möglicherweise geblockt: | * Falls kein Adapter angezeigt wird, ist er möglicherweise geblockt: | ||
** Anzeige der Funk-Geräte | ** Anzeige der Funk-Geräte | ||
Zeile 54: | Zeile 60: | ||
durchführen. | durchführen. | ||
+ | |||
+ | === Automatisches Pairen und Vertrauen === | ||
+ | |||
+ | ''Der folgende Tipp kann ein Sicherheitsrisiko darstellen:'' | ||
+ | |||
+ | Um andere Geräte automatisch mit dem Linux-Server koppeln zu lassen und ihnen auch noch zu ''vertrauen(!)'', kann folgendes Skript benutzt werden. | ||
+ | |||
+ | |||
+ | #!/bin/bash | ||
+ | echo -e "pairable on\ndiscoverable on\nagent on\n" | bluetoothctl | ||
+ | while true; do | ||
+ | echo paired-devices | bluetoothctl \ | ||
+ | | sed -n -e 's/^Device \(..:..:..:..:..:..\).*$/trust \1/p' \ | ||
+ | | xargs -l -dz echo | bluetoothctl | ||
+ | sleep 20s | ||
+ | done | ||
=== Linux-Server als Audio-Ausgabe === | === Linux-Server als Audio-Ausgabe === | ||
+ | |||
+ | Die üblichen Werkzeuge, um den Linux-Server als Audio-Ausgabe für ein Smartphone mit Hilfe der Kommandozeile einzurichten, sind bluetoothctl und [[PulseAudio]]. | ||
Siehe | Siehe | ||
+ | * https://askubuntu.com/questions/763939/bluetoothctl-what-is-a-bluetooth-agent | ||
+ | * https://pi-buch.info/bluetooth-konfiguration-mit-bluetoothctl/ | ||
+ | * https://github.com/ev3dev/ev3dev.github.io/pull/24/files/50787e9fae767f4a8e5e1748c5bb70b40eb9f259?short_path=2545682 | ||
* https://blog.stevenocchipinti.com/2012/10/bluetooth-audio-streaming-from-phone-to.html/ | * https://blog.stevenocchipinti.com/2012/10/bluetooth-audio-streaming-from-phone-to.html/ | ||
Zeile 176: | Zeile 203: | ||
+ | |||
+ | == Bluetooth vom Browser == | ||
+ | |||
+ | In wenigen Browsern gibt es ein experimentelles Feature: die Web-Bluetooth-API. | ||
+ | |||
+ | Im Firefox-Browser soll es diese API aus Sicherheitsgründen nicht geben (dem Nutzer können die Gefahren einer Low-Level-Bluetooth-Verbindung nicht leicht und verständlich genug mitgeteilt werden, was aber für das gefahrlose Browsen im Internet möglich sein muss). | ||
+ | |||
+ | In Chrome und Edge gibt es diese [https://developer.chrome.com/docs/capabilities/bluetooth API] (u.U. freizuschalten in den Flags (about://flags#experimental-web-platform-features)). | ||
+ | |||
+ | Zu Debugging-Zwecken integrieren diese auch ein einfaches Tool: | ||
+ | |||
+ | * about://bluetooth-internals | ||
== Bluetooth und Java == | == Bluetooth und Java == |
Aktuelle Version vom 15. Mai 2024, 06:52 Uhr
Bluetooth-Tipps
Bluetooth unter Linux
Erste Schritte
- kofler.info zu Pairen mit bluetoothctl
- Die Übersicht für Howtos für Bluetooth unter Linux
- Eine ältere Anleitung zu Bluetooth unter Linux
- OpenSuse und Nokia via Bluetooth (gnokii), von OpenSync unterstützte Geräte
- Eingebaute Bluetooth-Adapter anzeigen
hcitool dev
- Oder mit bluetoothctl (benötigt Rechte der Gruppe
lp
[1] und/oder eine Anpassung der Rechte in/etc/dbus-1/system.d/bluetooth.conf
)
sudo adduser USER lp bluetoothctl list
- Falls kein Adapter angezeigt wird, ist er möglicherweise geblockt:
- Anzeige der Funk-Geräte
rfkill list
- Entblocken des Bluetooth-Adapters[2]
rfkill unblock bluetooth
- Bluetooth-Geräte anzeigen:
hcitool scan
- Ping:
l2ping 11:22:33:44:55:66
- Dienste anzeigen:
sdptool browse
- Bei Symbian-Nokias
- zuerst gnapplet.sis installieren.
- Kopieren von ~/.gnokiirc aus /etc/gnokiirc
- Einfügen folgender Befehle in {{{~./.gnokiirc}}} (Beispiel für Nokia 6600):
port = 11:22:33:44:55:66 rfcomm_channel = 2 model = series60 connection = bluetooth
- Nokia-Gerät identifizieren (nach Erstellen von ~/.gnokiirc aus /etc/gnokiirc)
{{{gnokii --identify}}}, siehe auch den Thread zu N70 unter Linux
- Zur Fehlerbehebung kann man auch eine serielle Schnittstelle via Bluetooth öffnen:[3]
rfcomm bind 0 11:22:33:44:55:66 1 rfcomm show 0
- Normalerweise wird die Konfiguration von Bluetooth in der Datei {{{/etc/bluetooth/hcid.conf}}} vorgenommen. Nach einer Änderung wird das System am einfachsten über
/etc/init.d/bluetooth restart
neu gestartet. Ob es geklappt hat kann man mit der Ausgabe von
hciconfig -a sdptool browse local
feststellen.
- Manuelle Änderungen an der Konfiguration lassen sich mit Hilfe von
hciconfig
durchführen.
Automatisches Pairen und Vertrauen
Der folgende Tipp kann ein Sicherheitsrisiko darstellen:
Um andere Geräte automatisch mit dem Linux-Server koppeln zu lassen und ihnen auch noch zu vertrauen(!), kann folgendes Skript benutzt werden.
#!/bin/bash echo -e "pairable on\ndiscoverable on\nagent on\n" | bluetoothctl while true; do echo paired-devices | bluetoothctl \ | sed -n -e 's/^Device \(..:..:..:..:..:..\).*$/trust \1/p' \ | xargs -l -dz echo | bluetoothctl sleep 20s done
Linux-Server als Audio-Ausgabe
Die üblichen Werkzeuge, um den Linux-Server als Audio-Ausgabe für ein Smartphone mit Hilfe der Kommandozeile einzurichten, sind bluetoothctl und PulseAudio.
Siehe
- https://askubuntu.com/questions/763939/bluetoothctl-what-is-a-bluetooth-agent
- https://pi-buch.info/bluetooth-konfiguration-mit-bluetoothctl/
- https://github.com/ev3dev/ev3dev.github.io/pull/24/files/50787e9fae767f4a8e5e1748c5bb70b40eb9f259?short_path=2545682
- https://blog.stevenocchipinti.com/2012/10/bluetooth-audio-streaming-from-phone-to.html/
Synchronisation mit Handys
- Für ein Sony Ericsson K800i bietet sich OpenSync an. Als Benutzeroberfläche kann man z.B. KitchenSync nennen. Als Plugin IRMC-Sync nutzen. Bluetooth auswählen und die Bluetooth-Adresse angeben. Dieses kann man mit {{{ sdptool browse }}} finden (der Kanal findet sich unter der Bezeichnung "OBEX IrMC Sync Server", meist hat er die Nummer 8).
- Siehe auch umfassende, tiefgehende Erläuterung zu BlueZ (für Techniker!), Mobiltelefone und Linux,
- Siehe auch Sony Ericsson K800i Synchronisation mit OpenSuse 10.3, Sony Ericson K800i, Sony Ericsson k800i and Bluetooth Synchronization mit Evolution (Ubuntu)
- Siehe auch Sony Ericsson K750i USB sync mit Ubuntu
- Siehe auch Sony Ericsson W810i und Linux Bluetooth
- Siehe auch Synchronisation unter Linux, Synchronisation Web-PC-Handy.
PAN-Einrichtung
Ein Personal Area Network (PAN) scheint der sinnvollste Weg, dem Handy über den PC den Zugang zum Internet zu verschaffen. Dazu wird der PC als Network Access Point (NAP) eingerichtet; das Handy stellt dann in der PAN-Terminologie ein PANU (PAN User) dar. Der Linux-PC erreicht das über den pand-Daemon.
Debian Etch und Sony Ericsson K800i
- Zu Debian Etch und einem SE K800i wird hier ausgeführt, wie man vom Handy via Linux-PC (PAN) auf das WWW zugreifen kann. Ergänzung:
- Zur Kopplung kann man in der /etc/bluetooth/hcid.conf noch {{{security auto}}} und den {{{passkey}}} auf die gewünschte PIN setzen.
- Statt {{{ lm accept, master; }}} muss die Zeile in {{{/etc/bluetooth}}} {{{
lm accept,master; }}} (ohne Leerzeichen nach dem Komma) heißen.
- Das {{{dev-up}}}-Script wird natürlich nicht mit {{{chmpd}}} sondern mit {{{
chmod +x /etc/bluetooth/pan/dev-up }}} ausführbar.
Debian Etch und Sony Ericsson W800i
- Diese Anleitung für Sony Ericsson W850i liefert die PAN-/IP-Basis zur Synchronisation mit Funambol.
OpenSuse 11.0 und Sony Ericsson K800i - INCOMPLETE
Die einzelnen Schritte unter OpenSuse 11.0 (jeweils als root) Unter OpenSuse 11.1 gibt's da wohl Fehler siehe auch im Opensuse-Forum und im englischen OpenSuse-Wiki: 1. Auf dem OpenSuse-PC in {{{/etc/bluetooth/hcid.conf}}} folgende Zeilen ändern, um 1234 automatisch als PIN für Bluetooth-Verbindungen vorzugeben: {{{
security auto passkey "1234" }}}
Der {{{hcid}}}-Dämon wird mit {{{
/etc/init.d/bluetooth restart }}}
neu gestartet.
2. Auf dem Sony Ericsson K800i "Pairing" einleiten: Einstellungen -> Verbindungen -> Bluetooth -> Meine Geräte -> Neues Gerät und dann die PIN 1234 (wie oben bei passkey) eingeben (Achtung richtige Tastatureinstellungen).
3. Auf dem PC den pand-Daemon als NAP-Server (listen, Master) starten: {{{
pand -r NAP --listen -M -n }}}
Das klappt bei mir nicht (/var/log/messages sagt: {{{bind failed; address already in use}}}). Geholfen hat in /etc/sysconfig/bluetooth {{{
PAND_START="yes" PAND_DAEMON_ARGS="--listen --role NAP --master --devup /etc/bluetooth/pan/dev-up" }}} zu setzen.
4. Auf dem Handy versuchen die Verbindung aufzubauen: Einstellungen -> Verbindungen -> Bluetooth -> Meine Geräte -> BlueZ (oder anderer Name des PCs) -> Verbinden. Der Verbindungsaufbau scheitert; aber unter Einstellungen -> Verbindungen -> Datenübertragung -> Datenkonten findet sich nun die Adresse des PCs als neues Datenkonto.
5. Auf dem Handy Einstellungen -> Verbindungen -> Interneteinstellungen -> Internetprofile -> Neues Profil, einen Namen geben und bei verbinden mit das neue Datenkonto (siehe oben) angeben. Das Gleiche nochmals bei "Java-Einstellungen" (wie bei "Internetprofile").
6. Auf dem PC die Datei /etc/bluetooth/pan/dev-up erstellen mit folgendem Inhalt:
#! /bin/sh echo $1 ist nun bereit! beep
Sie muss mit
chmod a+x /etc/bluetooth/pan/dev-up
ausführbar gemacht werden
Sonstige PAN-Versuche
- Eine Kurzanleitung von AVM gibt einen kurzen Einblick in den Aufbau eines PAN.
- Englische Anleitung für PAN unter Linux mit Aufsetzen eines DHCP-Servers
- Howto für PAN
- Sony Ericcson via PAN zu Debian Etch
DUN-Versuche zum Zugriff des Handys auf das Internet über Linux-PC
- Nicht mit PAN, sondern mit gnubox und DUN kann man es auch versuchen.
- Auch auf der gnubox-page gibt es Hinweise zu DUN.
- DUN soll auch einem Nokia 6600 Zugriff auf das Internet des Linux-PCs verschaffen.
- Sony Ericsson P910i und Linux - Teil 1 ~-(Internet vom Handy aus mit Hilfe von Gnubox über eine Bluetooth-Verbindung zu einem Linux-PC (hier mit DUN) nutzen)-~ und Teil 2.
- Anleitung für DUN sowohl für Linux als auch für Windows
- Auch das Sony Ericsson P800 bekommt man mit DUN via Linux-PC ins Internet.
Verbindung mit Sony Ericsson K800i
- Sony Ericsson K800i Synchronisation mit OpenSuse 10.3 via KitchenSync. Das wird als Frontend für !OpenSync genutzt, daher kein PAN notwendig.
- Sony Ericsson k800i and Bluetooth Synchronization mit Evolution (Ubuntu)
- Nur der Vollständigkeit halber: Diese Anleitugn für das Sony Ericsson K800i nutzt DUN nur zum Zugriff des PCs auf das Internet via Handy.
- Mit Debian Etch und einem SE K800i wird hier ausgeführt, wie man vom Handy via Linux-PC (PAN) auf das WWW zugreifen kann.
Verbindung mit Nokia 6600
- Zugriff vom Nokia 6600 mit gnubox und DUN
- Diese Anleitung sowohl für Linux als auch für Windows nutzt ebenfalls gnubox und DUN.
- DUN soll auch einem Nokia 6600 Zugriff auf das Internet des Linux-PCs verschaffen.
Verbindungen mit Smart Home
Siehe
- https://medium.com/@urish/reverse-engineering-a-bluetooth-lightbulb-56580fcb7546
- https://learn.adafruit.com/reverse-engineering-a-bluetooth-low-energy-light-bulb/overview
Zugang ins Internet vom Handy via Bluetooth-Verbindung zum PC
Für einen Linux-PC als Zugang zum Internet siehe auch [:#PAN:PAN oben]. Der Zugang ins Internet vom Handy via Bluetooth-Verbindung zum PC kann eine Voraussetzung dafür sein, [:Synchronisation Web-PC-Handy:Kalender und Adressbuch zwischen Web, PC und Handy synchronisieren zu können].
- Anleitung für Sony-Ericsson K800i ~-auf PC wird Java ME SDK genutzt; braucht man das? -~
- Anleitung für K800i mit Windows-Bordmitteln, gibt's auch noch einmal; aller guten Dinge sind drei.
- Anleitung für K800i mit Debian
- Anleitung für P990 ~- PC läuft dabei unter WinXP -~
- Linux-Script für M600i
- Um ein Bluetooth-Datenkonto für das K800i zu erstellen, muss zuerst ein PAN vom PC zum Handy erstellt werden (mit Pairing). Im zweiten Schritt dann vom Handy über Einstellungen->Bluetooth->Meine Geräte->PC-Name(+Bluetooth-Symbol)->Verbinden eine Verbindung herstellen versuchen (schlägt fehl). Dann findet sich unter Datenkonten ein Konto Bluetooth-Symbol plus Rechnername. Siehe Anleitung für K800i als Modem.
- Diese [Anleitung für Windows-PC in Verbindung mit BlueSoleil V 2.3] stellt ein [:#PAN:PAN].
Nutzung des Handys als Modem für den Internetzugang vom PC aus
Bluetooth vom Browser
In wenigen Browsern gibt es ein experimentelles Feature: die Web-Bluetooth-API.
Im Firefox-Browser soll es diese API aus Sicherheitsgründen nicht geben (dem Nutzer können die Gefahren einer Low-Level-Bluetooth-Verbindung nicht leicht und verständlich genug mitgeteilt werden, was aber für das gefahrlose Browsen im Internet möglich sein muss).
In Chrome und Edge gibt es diese API (u.U. freizuschalten in den Flags (about://flags#experimental-web-platform-features)).
Zu Debugging-Zwecken integrieren diese auch ein einfaches Tool:
- about://bluetooth-internals
Bluetooth und Java
- JSR 82 Specification - http://jcp.org/aboutJava/communityprocess/mrel/jsr082/index.html
- Anleitungen für J2ME Bluetooth finden sich auf benhui.net.
- Einführung in JSR 82 Entwicklung - http://developers.sun.com/techtopics/mobility/apis/articles/bluetoothintro/index.html
- JSR 82 explained (including emulators) - http://developers.sun.com/techtopics/mobility/midp/articles/bluetooth2/
- Bluetooth explained - http://developers.sun.com/techtopics/mobility/midp/articles/bluetooth1/
- Personal Area Networks
a. Part 1 - http://developers.sun.com/techtopics/mobility/apis/articles/bluetoothintro/index.html b. Part 2 - http://developers.sun.com/techtopics/mobility/apis/articles/bluetoothcore/index.html
Bluetooth und J2SE
- BlueCove ist eine freie JSR-82 J2SE Implementation. Inzwischen wird neben Windows auch Linux unterstützt.
Bluetooth-Hardware
Bluetooth-Adapter für serielle Schnittstelle
- Hantz+Partner Bluetooth RS232 Serial Port Adapter (Preise)
- Lintech Bluetooth RS232 Adapter
- Stollmann BlueRS
- FireFly™ BlueTooth to Serial / RS232 Adapter
Bluetooth-Einbaumodule
Siehe auch Debian#Bluetooth
- ↑ Siehe https://wiki.archlinux.org/index.php/bluetooth
- ↑ Vgl. auch https://wiki.ubuntuusers.de/rfkill/
- ↑ Siehe genauer bei http://oerks.de/tech/blueZ.