IP über Bluetooth mit Raspbian-Systeme
Ich habe 2 Raspberry Pis, läuft Raspbian, up-to-date. Jeder Pi hat genau einen Bluetooth-USB-dongle. Ich kann Sie kommunizieren über RFCOMM mit diese.
Nun, ich würde gerne schaffen eine richtige IP-Schicht, die über die Bluetooth physikalischen link. Soweit ich das verstanden habe, muss ich das mit PAN (Personal Area Network), das eine Netzwerk-Schnittstelle, so gut ich konnte mit ifconfig. Ich versuche mich anzupassen dieses tutorial, aber ich bin stecken in einer ungültige exchange Fehler.
Auf RPi0, ich Lauf
$ sudo pand --nodetach --listen --master --role=NAP
pand[2313]: Bluetooth PAN daemon version 4.99
Auf RPi1, ich Lauf
$ pand --nodetach --connect 00:1A:7D:DA:71:16
pand[2323]: Bluetooth PAN daemon version 4.99
pand[2323]: Connecting to 00:1A:7D:DA:71:16
pand[2323]: Connect to 00:1A:7D:DA:71:16 failed. Invalid exchange(52)
Ich kann nicht finden alle relevanten Informationen zu diesem Fehlercode. Irgendeine Idee, wie ich das lösen könnte ? Oder täusche ich mich und sollte ich etwas anderes verwenden anstelle der PAN ?
Vielen Dank im Voraus !
BEARBEITEN:
Wenn Sie die Bluetooth-Gerät, das ich hören will, bekomme ich eine andere Fehlermeldung. Es macht nicht wirklich Sinn, da ich nicht ausführen jedem anderen Bluetooth-server.
$ sudo pand -i 00:1A:7D:DA:71:16 --nodetach --listen --role=NAP
pand[2582]: Bluetooth PAN daemon version 4.99
pand[2582]: Bind failed. Address already in use(98)
Hi! Keine Ahnung, leider. Ich habe nicht gearbeitet mit Bluetooth-für ein paar Jahre jetzt. Vielleicht sollten Sie erwägen, die Eröffnung einer neuen Marke Stack Overflow Frage? Viel Glück.
InformationsquelleAutor tvuillemin | 2015-02-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also die Dinge scheinen sich verändert zu haben eine ganze Menge vor kurzem, und der Pi kommt mit Bluez 5.23 2016.
Nachdem nur zwei Tage verbrachten, diese Schritte gelöst haben, es für meinen pi aber helfen könnte, für alle Debian Jessie installieren. Ich hoffe, dass so. Getestet auf einem neuen pi, läuft jessie mit frisch installieren, nur jetzt. So wird ein bluetooth-pan überbrückt, um Ihre eth0-Netzwerk (und somit nutzen Sie Ihre vorhandene dhcp/dns-server usw.). Dies ist mein Erster Beitrag, also bitte verzeiht die Dummheit rund um die verschiedenen Konventionen hier. Ich hoffe, das jemand hilft-und spart Ihnen ein wenig Zeit.
Dies ist prbably nicht die optimale Lösung (ich bin kein guru), und ich würde gerne hören, über einige Verbesserungen.
Installieren einige Dinge (python Zeug hilft mit scritps):
sudo apt-get install bridge-utils bluez python-dbus python-gobject
Laden Sie zwei sehr Coole python-Skripts, die Sie in /usr/local/bin und chmod beiden vielleicht 755, je nachdem, wer braucht den Zugang zum ausführen...
blueagent5
und bt-pan. Vielen Dank und Hommage an die jeweiligen Autoren. Oh Mann, diese Art der Sache spart so viel Zeit und Elend.
Nun benötigen wir eine Brücke. Fügen Sie die folgenden am Ende von /etc/network/interfaces
Ich neu gestartet in dieser Zeit, um sicherzustellen, alles war als wäre es normal.
Wieder anmelden und wir stellen
Wenn Sie nicht möchten, dass pin-Abfrage, nicht tun, diesen nächsten Schritt. Um sicherzustellen, dass wir bekommen eine PIN-Eingabeaufforderung, geben Sie folgenden...
Starten PFANNE mit dem speziellen Zauber in der bt-pan-Skript. Es nicht zurück, so fügen Sie ein kaufmännisches und-Zeichen am Ende.
Starten des bluetooth-security-agent mit wunderbarer Leichtigkeit und zuversicht. Optional eine pin festgelegt werden (Standard ist 0000).
Okay, eine Letzte Sache. Forward-Netzwerk. Dies wird nur funktionieren, wenn es keine Lust Authentifizierung am router/dhcp, wenn es ist, müssen Sie möglicherweise zu suchen, um dieses Problem zu lösen.
Sobald Sie dies getan haben, müssen Sie möglicherweise speichern Sie diese iptables-Einstellungen und wiederherzustellen, die Sie jedes mal, wenn das system bootet.
Zehenspitzen über Ihr tablet oder was auch immer Sie versuchen, eine Verbindung zum internet herstellen. Öffnen Sie Bluetooth in den Einstellungen. Paar mit 4321, wie Sie Ihre pin ein, und eine Verbindung zum lokalen Netzwerk.
Aber Sie müssen nicht auf Zehenspitzen gehen, nachdem alle, es scheint alles sehr robust zu mir. Genießen Sie!
InformationsquelleAutor CowsWithGuns
Nach viel Kampf, das ist, wie ich es geschafft habe. Lasst uns hoffen, es kann jemand anderes helfen. Lange Geschichte kurz, editieren Sie /etc/bluetooth/main.conf um diese Zeile:
Neustart des bluetooth-Dienstes.
FYI, hier ist mein Befehl für den "server" :
Und für die "client":
Dann können Sie nur verwenden Sie den Befehl ifconfig, ping, ssh,... die üblichen Sachen. Möchten Sie vielleicht einen Blick hier, es war nützlich für mich.
pand
ist nicht auf meinem Verteilungs-und es scheint, es hat gewesen entfernt von apt-get im Allgemeinen.Marke ist anscheinend veraltet in BlueZ 5.X, aber immer noch bei 4.x. Es ist erhältlich in den bluez-compat-Paket.
InformationsquelleAutor tvuillemin
@cowswithguns
Deine Lösung funktioniert fast einwandfrei, außer für
sollte es
Funktioniert Super mit rpi3 und bluez5.X
Einzigen VORBEHALT, es verwendet immer noch irgendwie das WLAN. Ich bin versucht, per ssh auf rpi3 via bluetooth, während rpi3 ist im Zusammenhang mit einem Gerät, das seine eigenen AP für eine eins-zu-eins-Verbindung und diese schneidet die bluetooth-Kommunikation. Funktioniert nur, wenn die rpi3 verbunden ist, um einen wifi-AP.
InformationsquelleAutor Marcello
Einer bluez-tools-Paket ist verfügbar auf raspbian mit der gleichen Funktionalität, wie die oben erwähnten python-Skripte. original Antwort
Hier ist, wie können Sie das setup einer bluetooth-pan auf Raspbian.
Diese Antwort nutzt systemd/networkd aber man könnte etwas ähnliches machen mit einer Schnittstellen-Datei und dnsmasq, wenn Sie wollten.
Run:
sudo apt-get install bluez-tools
Erstellen Sie die folgenden Dateien:
/etc/systemd/network/pan0.netdev
/etc/systemd/network/pan0.Netzwerk
/etc/systemd/system/bt-agent.service
/etc/systemd/system/bt-Netzwerk.service
Führen
Schließlich auf ein paar, laufen:
sudo bt-adapter --set Discoverable 1
Dann auf dem anderen Gerät koppeln und verbinden Sie das Netzwerk. Hoffentlich sollte alles nur der Arbeit nach.
InformationsquelleAutor hfmanson