OpenWrt - Bluetooth
Niebieski ząb dla OpenWrt
Ostatnia zmiana: 2014-06-22 08:42

1. Instalacja
2. Uruchomienie
3. Test
4. Zakończenie
5. Przykład
 5.1. Wysyłanie plików
 5.2. Internet przez BT
 5.3. Adresy urządzeń
 5.4. Konfiguracja systemu


Instalacja
Wielkiej filozofii tu nie ma - trzeba mieć dongle bluetooth na USB, podłączyć go do rutera i zainstalować niezbędne oprogramowanie - moduły do obsługi usb, bluetooth oraz pakiet bluez.

    # opkg update
    # opkg install kmod-usb-core kmod-usb2

Być może konieczne będzie zainstalowanie kmod-usb-uhci lub kmod-usb-ohci w zależności od posiadanego rutera.

    # opkg install kmod-rfkill kmod-bluetooth bluez-utils

Doinstaluje się również dużo zależności, więc należy posiadać dużo wolnego miejsca lub zrobionego extroota. Na wszelki wypadek należy ponownie zrestartować router.
Uruchomienie

    # /etc/init.d/dbus enable
    # /etc/init.d/bluez-utils enable
    # /etc/init.d/dbus restart
    # /etc/init.d/bluez-utils start

Test

    # hciconfig hci0 up
    # hcitool scan
    Scanning ...
        00:1C:26:xx:xx:xx	laptop
        00:1D:6E:xx:xx:xx	E51
    # sdptool browse 00:1D:6E:xx:xx:xx
    Browsing 00:1D:6E:xx:xx:xx ...
    Service Name: AVRCP Target
    Service Description: Audio Video Remote Control
    Service Provider: Symbian Software Ltd.
    Service RecHandle: 0x10000
    Service Class ID List:
        "AV Remote Target" (0x110c)
    Protocol Descriptor List:
        "L2CAP" (0x0100)
                PSM: 23
        "AVCTP" (0x0017)
                uint16: 0x100
    Profile Descriptor List:
        "AV Remote" (0x110e)
                Version: 0x0100
    ...

Zakończenie
Teraz należy włączyć i skonfigurować odpowiednią usługę w zależności od wymagań - do zrobienia w /etc/config/bluetooth.
Przykład

Wysyłanie plików
obexftp
Internet przez BT
Wykorzystanie telefonu komórkowego jako modemu dla rutera. Zakładamy, że moduły do BT są już zainstalowane i wszystko działa. Należy jeszcze doinstalować pakiet do połączeń 3g:

    # opkg update
    # opkg install chat comgt

Adresy urządzeń
Najpierw trzeba odczytać kilka niezbędnych danych o systemie

Adres MAC telefonu

    # hcitool scan
    Scanning ...
        00:1D:6E:xx:xx:xx	E51


Kanał komunikacyjny telefonu

    # sdptool search DUN --bdaddr 00:1D:6E:xx:xx:xx | grep Channel
    Channel: 4

W tym przypadku: 4. Może być 1 lub 7.
Konfiguracja systemu
00:1D:6E:xx:xx:xx to mac adres uzyskany wcześniej poleceniem hcitool scan a kanał - to numer odczytany przez sdptool....

Włączenie rfcomm

    # uci set bluetooth.@rfcomm[0].config=/etc/bluetooth/rfcomm.conf
    # uci set bluetooth.@rfcomm[0].enabled=1
    # uci commit bluetooth


Ustawienie pinu do połączenia z telefonem

    # cd /tmp/lib/bluetooth/*
    # echo "00:1D:6E:xx:xx:xx 1234" > pincodes

gdzie 1234 to pin o który zapyta telefon przy próbie połączenia.

Następnie należy utworzyć plik /etc/bluetooth/rfcomm.conf o następującej zawartości

    rfcomm0 {
        bind yes;
        device 00:1D:6E:xx:xx:xx;
        channel 4;
    }

Restartujemy wszystko:

    # /etc/init.d/bluez-utils restart


Plik konfiguracyjny połączenia sieciowego

    # uci del network.wan
    # uci set network.wan=interface
    # uci set network.wan.device=/dev/rfcomm0
    # uci set network.wan.apn=internet
    # uci set network.wan.service=umts
    # uci set network.wan.proto=3g
    # uci commit network


Uruchomienie

    # ifup wan

po chwili na ekranie telefonu powinien pojawić się monit o pin, należy wprowadzić ten podany wcześniej (1234), a później potwierdzić połączenie. Za chwilę pojawi się interfejs ppp0 w OpenWrt i już można korzystać z połączenia z internetem.