Translate

6. Bluetooth client (Symbian, Android)


Potete comandare il vostro server anche con un "vecchio" cellulare/smartphone con sistema operativo Symbian e con supporto per Java J2ME (come Nokia, Motorola, Sony Ericcson, BlackBerry etc etc) provvisto di collegamento bluetooth. Attualmente esistono anche programmi client bluetooth per sistemi operativi Android per "nuovi" cellulari/smartphone HTC, LG, Samsung etc etc per comandare attraverso il collegamento bluetooth il vostro server ma qui ci interessa vedere come funziona il bluetooth per i cellulari/smartphone con sistema operativo Symbian (tipo ad es. Nokia). Alcuni programmi client bluetooth per Android, tipo ad es. Remuco (client anche wireless), sono in fase di sviluppo e non ancora molto stabili diversamente da ciò che accade sui vecchi sistemi operativi Symbian (v. paragrafo "Remuco" in questo post per il funzionamento con Android).

(nella foto Remuco su smartphone Android con collegamento bluetooth)

Se usate un cellulare/smartphone con collegamento bluetooth per comandare il music server, è importante sottolineare, non avrete neanche bisogno di un PC, di una rete e di un router salvo che per la configurazione del sistema operativo da fare solo una volta necessariamente attraverso il PC client con collegamento LAN o wireless! Un pò come accade con il lettore CD che non usa le rete internet e/o intranet domestica per essere comandato ma un semplice collegamento a infrarossi.
Quest'ulteriore accorgimento, ovvero comandare il music server tramite un collegamento bluetooth invece che tramite LAN o wi-fi (assai più dispendioso in termini energetici), garantirà all'audiofilo paranoico che l'alimentazione del music server sarà dedicata in primis all'unico componente hardware decisivo ai fini della riproduzione audio: la scheda audio o l'uscita USB.

Dopo aver collegato la vostra chiavetta bluetooth al server, apriamo il terminale e, dopo essere entrati nel server, digitiamo:

apt-get install bluez

per installare i pacchetti che ci interessano. Non tutti i dispositivi bluetooth sono supportati da Linux, soprattutto quelli integrati nei portatili. 
In ogni modo è preferibile cercare una chiavetta USB bluetooth riconosciuta dai driver bluetooth di Linux (io attualmente uso una pennetta dongle bluetooth USB della NILOX e funziona perfettamente in ogni modo per una lista completa v. http://www.qbik.ch/usb/devices/search_res.php?pattern=bluetooth).

Una volta installati i pacchetti, controlliamo lo stato del servizio bluetooth digitando:

/etc/init.d/bluetooth status

se ancora non è attivo, facciamolo partire con questo comando:

/etc/init.d/bluetooth start

Adesso dobbiamo accoppiare ("pairing") il cellulare/smartphone col PC.
Accendiamo il cellulare e attiviamo il bluetooth in modo visibile a tutti. Col comando "hcitool scan", assicuriamoci che il PC vede il cellulare. Inoltre assicuriamoci che il servizio bluetooth non è down col comando:

hciconfig hci0 -a

e premi INVIO.

Se il servizio bluetooth è down o non trasmette o riceve perché non compare UP, PSCAN o ISCAN una volta lanciato il comando suesposto, attiviamolo così:

hciconfig hci0 up

e premi INVIO.

Attiviamo anche la ricezione e la trasmissione col dispositivo grazie al comando:

hciconfig hci0 piscan

e premi INVIO.

Ancora dal terminale, poi, lanciamo questo comando con la password:

bluetooth-agent 4835

Sul cellulare digitiamo il codice/password che ci viene richiesto per completare l'accoppiamento, nel nostro caso "4835". Se non appare nessuna richiesta di accoppiamento sul cellulare, avviate voi la procedura di accoppiamento dal cellulare e inserite la password precedentemente richiesta (4835).
Assicuratevi che il servizio bluetooth parta in modo corretto modificando il file "/etc/rc.local" con il comando:

nano /etc/rc.local

e premi INVIO

e inserite questa riga prima di "exit 0"

hciconfig hci0 piscan &

Se il vostro router ha la funzionalità "IPV6" attivata o indipendentemente da ciò, sarà necessario intervenire modificando il file "/etc/hosts" e "/etc/hosts.allow". Se non effettuate questa modifica vi ritroverete con l'errore "-25" di bemused, per esempio, in quanto "mpc" non riesce a comunicare con "MPD". Modificate il file così, col comando

nano /etc/hosts

e inserite la seguente riga

::1 localhost.localdomain localhost

salvate, chiudete e riavviate MPD.

Tutto ciò vale per ogni programma bluetooth che proveremo ad installare.

Solo nel caso in cui doveste incontrare problemi e quindi l'installazione del servizio bluetooth non è andata a buon fine, continuate a leggere quanto segue; in caso contrario passate a leggere l'installazione e la configurazione dei singoli client bluetooth.

Dopo aver installato i pacchetti che ci servono per far funzionare il collegamento bluetooth tra il nostro dispositivo cellulare/smartphone e il music server dovrete modificare alcuni file di configurazione tipo questo sotto col comando:

nano /etc/default/bluetooth

e premi INVIO.

Vi si aprirà una finestra, verificate che ENABLED=1

salvate con CTRL + x, poi digitate "y" e premete INVIO.
Adesso prendete nota dell'indirizzo bluetooth del vostro cellulare/smartphone acceso e visibile a tutti grazie al comando:

hcitool scan

e premi INVIO.

Poi col comando:

nano /etc/bluetooth/rfcomm.conf

e premi INVIO

modificate il file di configurazione del servizio bluetooth come nell'esempio sottostante

#
# RFCOMM configuration file.
#
rfcomm0 {
#       # Automatically bind the device at startup
        bind yes;
#
#       # Bluetooth address of the device
        device 00:1A:89:08:D9:14;     ---------- inserite qui l'indirizzo bluetooth smartphone
#
#       # RFCOMM channel for the connection
#       channel 1;
#
#       # Description of the connection
#       comment "Example Bluetooth device";
}

Copiate il contenuto del mio file di configurazione qui sopra e sostituitelo al vostro, avendo la sola attenzione di inserire il corretto indirizzo bluetooth del vostro cellulare che potete conoscere col comando "hcitool scan" come suesposto.

Salvate, chiudete e fate ripartire il servizio bluetooth col comando

/etc/init.d/bluetooth restart

Se si riavvia senza problemi è correttamente configurato.

Modificate anche il file "/etc/hosts.allow" col comando

nano /etc/hosts.allow

e inserite questa riga

mpd: ALL

Inoltre se usate la versione di Voyage MPD 0.7.5 o superiori, dovete modificare il file di configurazione di MPD (/etc/mpd.conf) in questo modo

bind_to_address    "localhost"

lasciando "bind_to_address" in fondo alla pagina con "0.0.0.0"

Ho notato comunque che anche tenendo solo

bind_to_address    "any"

non ho nessun problema.

Verificate, in ogni modo, che MPD è in ascolto col comando

netstat -a | grep 6600

Solo qualora le precedenti modifiche non abbiano risolto il problema, usate anche questi ulteriori comandi.
Disabilitate il servizio IPV6 modificando il file "/etc/modprobe.d/aliases.conf" col comando

nano /etc/modprobe.d/aliases.conf

e inserite le seguenti righe

# alias net-pf-10 ipv6
alias net-pf-10 off

Digtate questi comandi seguiti da INVIO sul vostro terminale

echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf will disable ipv6

e

echo 'blacklist ipv6' >> /etc/modprobe.d/blacklist

Tutto ciò vale per ogni programma bluetooth che proveremo ad installare.

1. Remuco



Questo programma client per cellulari/smartphone con sistemi operativi Symbian e Android (http://code.google.com/p/remuco/), diversamente da anyremote e bemused-mpc, è l'unico client bluetooth che riesce a mostrare le copertine degli album sul display del cellulare bluetooth, sempre che lo schermo del vostro cellulare supporti la risoluzione dell'immagine e che abbiate salvato la cover art, l'immagine della copertina dell'album, in formato .jpg o .png all'interno della cartella dove sono presenti le canzoni.
Questo client è l'unico ad essere allo stesso tempo un client wi-fi e bluetooth.
Vedete qui per una lista completa dei cellulari/smartphone compatibili.

(nella foto Remuco con collegamento bluetooth mostra la copertina dell'album in ascolto)

Dopo aver collegato la vostra chiavetta bluetooth al server, apriamo il terminale e, dopo essere entrati nel server, digitiamo: 

apt-get install remuco-mpd remuco-base

e premi INVIO.

Diciamo a "Voyage MPD" di far partire "remuco" all'avvio, modificando il file "/etc/rc.local" con questo comando:

nano /etc/rc.local

e premi INVIO.

Ci si aprirà una finestra. Scendete giù, verso la fine del file aggiungete questa righa prima di "exit 0" e dopo "hciconfig hci0 piscan &":

remuco-mpd &

salvate, chiudete e riavviate il sistema operativo. Se non riuscite a salvare, è probabile che non avete dato accesso alle scritture sul disco col comando "remountrw".


Se avete Android, o preferite provare l'ultima versione di Remuco per Symbian, installate remuco così:

apt-get install python-gobject python-xdg python-dbus python-imaging  python-mpd python-bluez make

poi

wget http://remuco.googlecode.com/files/remuco-0.9.5.tar.gz

poi

tar -xvf remuco-0.9.5.tar.gz

poi

cd remuco-0.9.5

poi

make install-mpd

Per conoscere su quale porta wi-fi Remuco è in ascolto o porta bluetooth (lasciatela di default) digita

nano /.config/remuco/remuco.cfg

e prendi nota della porta da aprire sul router (di solito è la 34271).
Inoltre, chi volesse le cover art, bisognerà editare il file di configurazione col comando:

nano /root/.config/remuco/remuco.cfg

Configurate come segue il file appena aperto avendo cura di modificare "/media/cb/musica" con la cartella/directory dove avete la vostra musica


[DEFAULT]
bluetooth-channel = 0
bluetooth-enabled = 1
config-version = 3
fb-root-dirs = /media/cb/musica
fb-show-extensions = 1
log-level = DEBUG
master-volume-down-cmd = amixer set Master 5%-
master-volume-enabled = 0
master-volume-get-cmd = amixer get Master | grep -E "\[[0-9]+%\]" | sed -re "s/$
master-volume-mute-cmd = amixer set Master 0%
master-volume-up-cmd = amixer set Master 5%+
player-encoding = UTF8
system-shutdown-cmd = dbus-send --session --type=method_call --dest=org.freedes$
system-shutdown-enabled = 0
wifi-enabled = 1
wifi-port = 34271

[mpd]
x-mpd-host = localhost
x-mpd-music = /media/cb/musica
x-mpd-password =
x-mpd-port = 6600

Per eventuali problemi c'è il comando

nano /.cache/remuco/mpd.log

Diciamo a "Voyage MPD" di far partire "remuco" all'avvio, modificando il file "/etc/rc.local" con questo comando:

nano /etc/rc.local

e premi INVIO.

Ci si aprirà una finestra. Scendete giù, verso la fine del file aggiungete questa righa prima di "exit 0" e dopo "hciconfig hci0 piscan &":

/usr/local/bin/remuco-mpd &

Installate il client di remuco che trovate qui (o in alternativa, dopo aver scaricato il file di "remuco", andate a cercare il client in /remuco-0.9.5/client/midp/app/) sul vostro cellulare semplicemente trasferendo o inviando il file remuco.jar (o se avete android remuco.apk che trovate in /remuco-0.9.5/client/android/app/) al vostro cellulare e aprendolo. Poi iniziate a comandare il player.

2. Anyremote


Se Remuco non dovesse funzionare sul vostro cellulare/smartphone, in alternativa, potete usare il programma bluetooth client "anyremote". "Anyremote" (http://anyremote.sourceforge.net/) è un programma client univerale per cellulari/smartphone con sistemi operativi Symbian. Installate anyremote così:

apt-get install anyremote

e premi INVIO.

Diciamo a "Voyage MPD" di far partire "anyremote" all'avvio, modificando il file "/etc/rc.local" con questo comando:

nano /etc/rc.local

e premi INVIO.

Ci si aprirà una finestra. Scendete giù, verso la fine del file aggiungete questa righa prima di "exit 0" e dopo "hciconfig hci0 piscan &":

anyremote -f /usr/share/anyremote/cfg-data/Server-mode/mpd.cfg -s bluetooth:1 &

salvate, chiudete e riavviate il sistema operativo. Se non riuscite a salvare, è probabile che non avete dato accesso alle scritture sul disco col comando "remountrw".

Installate il client di anyremote, JAM-SE, sul vostro cellulare semplicemente trasferendo o inviando il file .jar al vostro cellulare e aprendolo. Poi iniziate a comandare il player.

4. Bemused-mpc (pbmpcd)




Questo programma client per cellulari/smartphone con sistemi operativi Symbian (v. sito autore http://arton.cunst.net/mpd/) bluetooth è specifico per comandare "MPD" ed è il mio preferito in quanto riesce a gestire egregiamente le mie playlist anche copiose senza mai mandare in down il mio povero n70, differentemente da remuco e, a volte, anyremote. E' veloce quanto GMPC su un PC client e ci da la possibilita di entrare nel nostro database e aprire le nostre cartelle in modo semplice ed intuitivo, scegliere le playlists. Vedete qui per una lista dei cellulari/smartphone compatibili.


Aprite un terminale sul vostro PC client, entrate nel server e installate le dipendenze di "pbmpcd" col comando:

apt-get install python python-mpdclient python-bluez unzip

e premi INVIO.

Poi scaricate il programma in formato .zip con il comando:

wget http://arton.cunst.net/mpd/pbmpcd-20070813.zip

poi dovete estrarre l'archivio con il comando:

unzip pbmpcd-20070813.zip 

ora dovete ricopiare il file di configurazione "pbmpcd/pbmpcd.py" nella directory "/usr/local/bin/pbmpcd" con il comando:

cp pbmpcd/pbmpcd.py /usr/local/bin/pbmpcd

e premi INVIO.

Per far partire "pbmpcd" all'avvio del sistema operativo digitate:
 
nano /etc/rc.local

e premi INVIO

e inserite queste righe dopo "hciconfig hci0 piscan &" e prima di "exit0" (facendo partire due volte bemused-mpc vi assicurate che il servizio parta sia sulla porta in ascolto RFCOMM 1 che 2, evitando così di non trovare  bemused-mpc che gira sul server perchè magari una volta parte sul canale 1 e l'altra sul canale 2)

/usr/local/bin/pbmpcd &
/usr/local/bin/pbmpcd &

salvate, chiudete e riavviate il sistema operativo.
Potete trovare qui  il pacchetto "bemused_full.sis" da installare sul vostro cellulare o in alternativa potete usare il client JAMSE citato al precedente paragrafo. Installate il client bemused sul vostro cellulare semplicemente trasferendo o inviando suddetto file .sis al vostro cellulare e aprendolo. Poi potete iniziare a comandare il server. 


P.S.: 
Alla fine dei conti è il migliore in quanto riesce a gestire le playlist senza mai  far "crashare" il mio vecchio n70 differentemente da Remuco e Anyremote piuttosto lenti sul mio cellulare. Quindi se disponete di un cellulare con sistema Symbian, un pò datato, questo è il miglior programma.