Trasferimento file IrDA - Ircp Tray
Questo articolo è molto vecchio e potrebbe essere obsoleto
Ok, direte voi che centra? C'entra perché grazie al macello che ho trovato modificando Ircp Tray ho imparato ad usare le GTK con il C ed anche come usare gli autotools. Risultato? Ho preso in mano lo sviluppo dell'applicazione (dopo aver contattato Xin Zhen che mi ha lasciato carta bianca), ripulito il codice, sistemanti svariati warning di compilazione, abilitato il mapping RGBA (qui capirete cosa intendo), riscritto il menù contestuale ecc. Il tutto hostato su Launchpad tramite Bazaar: https://launchpad.net/ircp-tray
Ircp Tray una volta avviato rimane nel vassoio di sistema in attesa di connessioni IrDA-OBEX, basterà inviare un file col proprio cellulare che Ircp Tray vi avviserà con un messaggio e potrete decidere se riceverlo o meno. Invece per inviare, una volta che Ircp Tray ha rilevato il proprio cellulare, cliccando sull'icona di Ircp Tray o nella voce "Invia file" del menù contestuale, sarà possibile inviare un file al cellulare.
Altre caratteristiche sono i log delle transazioni e una tabella riassuntiva delle caratteristiche del dispositivo collegato.
Installazione
Oltre a tutto ciò sono riuscito ad far entrare la nuova versione di Ircp Tray (attualmente la 0.7.3) in Ubuntu Intrepid! Per cui basterà dare
sudo apt-get install ircp-tray
Oppure usare il comodo Aggiungi/Rimuovi. Ho già aperto un ticket per avere il backport di Ircp Tray anche per Hardy. Se verrà accettato attivando il repository backports di Ubuntu sarà possibile installare Ircp Tray anche su Hardy.
Compilazione
Per chi invece si vuole cimentare nella compilazione dai sorgenti di Ircp Tray sappia che le dipendenze sono, oltre ai build-essential e gli autotools (per la versione in sviluppo), gli header GTK+, libnotify e openobex. Il tarball contenente tutti i sorgenti della versione 0.3.7 è qui. Per compilare ed installare i comandi sono i soliti
./configure --prefix=/usr
make
sudo make install
Invece per provare il ramo in sviluppo, instabile, occorre avere Bazaar (sudo apt-get install bzr) e successivamente scaricare il tutto con
bzr branch lp:ircp-tray
quindi entrare nella directory appena creata e dare questi comandi uno dopo l'altro (se non ci sono errori ovviamente)
./waf configure --prefix=/usr
./waf build
./waf install
E per tenere aggiornato il tutto dare ogni tanto
bzr pull
dalla directory dei sorgenti.
Testing
Avrei bisogno che chiunque usasse Ircp Tray mi segnali eventuali errori o malfunzionamenti. Per riportare bug della versione di sviluppo qui, altrimenti per i bug riscontrati nella versione distribuita con Ubuntu qui.
Grazie a chiunque contribuirà!
Lazza scrive —
Ma... ma...
Sei veramente un grande! :-D
DnaX scrive —
Grazie! Basta attivarsi un minimo e prendere iniziativa per far certe cose nel software libero. Per quanto riguarda il pacchetto incluso di Ubuntu Intrepid (e spero in Debian), non posso che ringraziare la comunità del chan #ubuntu-it-dev e soprattutto Devid Antonio Filoni con cui ho lavorato 2 pomeriggi interi per cercare di rendere tutti i sorgenti compatibili con le policy di Ubuntu e per creare una tarball standard.
Lazza, se hai a che fare con gli infrarossi provalo che ho bisogno di feedback!
Lazza scrive —
Eh no, uso l’usb e per piccole cose il bluetooth, mi spiace.
Graziano scrive —
Buonasera
dovendo scaricare dei file di allenamento dal mio cardio frequenzimetro (polar cs400) ho bisogno di sapere se e dove mi registra questi files (sono con estensione .hrm).
Passando con il mouse sopra l’icona di ircp tray mi dice:
Trasferimento file infrarosso: Polar CS400
Se clicco su info su dispositivoi mi si apre una finestra con varie indicazioni e la spunta su:
Palmare
Extension
Comm
Devo fare qualcosa di particolare?
Grazie
DnaX scrive —
Hai detto tutto, il cardio frequenzimetro in questione non supporta il protocollo OBEX sulla cui base è sviluppato Ircp Tray.
Probabilmente usa un protocollo proprietario seriale (sfruttando il servizio Comm).
Graziano scrive —
Grazie per l’interessamento.
Una domanda: esiste, a tua conoscenza, qualche programma per il trasferimento? Scusa ma sono ignorante in materia!!
Di nuovo grazie e buona giornata
Stefano scrive —
@Graziano. Che versione di Ubuntu usi? Quale procedura hai usato? Io ho la 8.04 e non riesco a farlo riconoscere. Il software polar mi funzionatramite wine senza problemi, ma non riuscendo a connettere il cs400 riuslta inutile...
DnaX scrive —
Io non in che modo funziona quell’aggeggio, ma se è compatibile alle specifiche standard IrDA _DEVE_ essere visibile con irdadump. In quel modo è possibile leggere dall’output i tipi di protocolli che supporta, come ad esempio quello seriale. Una volta scoperto che supporta il protocollo seriale va caricato il modulo ircomm (sudo modprobe ircomm) e impostare su wine che ircomm0 (ad esempio) è una porta seriale.
stefano scrive —
In tutta franchezza... non essendo un esperto di Linux non vorrei scrivere cose errate. [molti apparecchi polar consentono di scaricare sul pc i propri esercizi connettendo il ciclocomputer tramite irda. In windows una volta settata la rete senza fili, basta inserire la pennetta e si avvia la "connessione" in automatico].
Credo che la pennetta venga riconosciuta (firestarter ad esempio mi dice che c'è una device irda0], ma secondo me non va. Infatti ircptray dice che non ci sono dispositivi connessi.
Se da terminale digito irdadump... mi dice "operazione non permessa". Se digito sudo irdadump non succede nulla.
Graziano scrive —
Buona sera
premetto che utilizzo la versione 9.04 di ubuntu.
Io ho fatto nel seguente modo:
Scaricato rs400 tools da: http://users.tkk.fi/jjvayryn/polar_f55_hrm.html
nella mia cartella home.
Da terminale entrato nella cartella rs400
Codice: cd rs400
dato il comando
Codice: make
(per compilare il pacchetto)
successivamente chiudo il terminale e apro un altro per abilitare il dispositivo irda-usb:
sudo irattach irda0 -s
questo mi serve per abilitare la chiavetta irda-usb (la mia è di marca Polar), questo comando mi funzionava anche con la versione di ubuntu 8.10 (la 8.04 non l’ho mai avuta essendo nuovissimo del mondo Linux).
Quando la chiavetta è attivata si può notare il caratteristico lampeggiare rosso.
Ora si passa alla parte di trasferimento dei dati di allenamento da cardio frquenzimetro (il mio è un CS400) al pc.
Attivato il cardio frequenzimetro su comunicazione infrarossi e posizionato davanti al dispositivo irda-usb
da terminale
Codice: cd rs400
e dato il comando
Codice: ./savehrm dev/ircomm0
ora iniziano a scorrere righe che indicano l’inizio della trasmissione dei dati dal cardio al pc; i file vengono salvati nella cartella (nel mio caso) /home/graz/rs400 con un formato simile a questo:
2009-04-12_17:09:40_Libero.hrm
questi file (con estensione .hrm) possone venire letti sia dal programma della Polar (Pro Trainer 5) che ho dovuto installare con Wine; sia con SportTracker-4.0.0.
Ad onor del vero devo dire che la visione del grafico non è che sia ottimale in quanto, da quello che ho intuito, il Polar RS400 non è del tutto uguale al CS400 (ho provato a scrivere all’autore del programma, indirizzo che si trova nel file readme del programma rs400 ma senza nessuna risposta).
In caso fammi sapere se hai problemi (se riesco do una mano volentieri).
Stefano scrive —
Quindi confermi che tramite Pro Trainer 5 NON riesci a sincronizzare il cs400... Insomma non si riesce a fare il passaggio diretto, come sotto windows, dal cs400 al software della polar...
E vabbè... per fortuna c‘ ancora windows (per stampare e per trasferire i file)...
Graziano scrive —
Purtroppo no.
Solo tramite il programma RS400 Tools si riesce a importare i file nel pc e poi con Pro Trainer5 visualizzarli; ho scritto anche alla Polar in finlandia per vedere se hanno un programma in linux, come risposta mi hanno detto:
So far we have concentrated on the Windows PC environment. However, as Polar product development is strongly based on customer feedback, we have forwarded your message to our research & development department. Hopefully we will have something to offer for Linux users in the future.
Probabilmente è fattibile quello che propone DnaX di settare ircomm0 in wine ma siccome sono ignorante su come fare non saprei cosa consigliarti.