Java House
Corsi
Italiano     English

Come usare un convertitore usb-seriale con il Serial Analyzer e con JcGpsSimulator in ambiente Linux

Aprile 2011, by Mario e Crovy

Revisione aprile 2011 (by Crovy), dalla versione 2.7.0 del Serial Analyzer non si utilizzano pių le librerie JavaComm ma le pių attuali RXTX.

Queste librerie gestiscono automaticamente gli adattatori usb-seriali riconosciuti da Linux con il nome "ttyUSBx" (dove x č il numero dell'adattatore).

L'articolo rimane comunque valido per i principi spiegati e per il JcGpsSimulator che utilizza ancora le librerie "JavaComm".

L'utilizzo di un convertitore usb-seriale implica che esso sia riconosciuto sia da Linux che dal Serial Analyzer.

Riguardo il primo aspetto, la maggior parte delle distribuzioni Linux possiede già i driver di base per gestire i convertitori usb-seriale ma è necessario sapere come li rende disponibili. I meno esperti potrebbero avere qualche difficoltà perché, in mancanza di software "ad alto livello", il riconoscimento avviene senza alcun apparente avviso (in perfetto stile Linux) quindi è necessario sapere dove guardare.

Per verificare se il sistema riconosce il dispositivo, è necessario ricordare che Linux gestisce tutte le periferiche mediante dei particolari file detti device, contenuti nella cartella di sistema /dev.

Quando inserite un convertitore usb-seriale in una porta usb del vostro pc, il sistema lo riconosce ed aggiunge un nuovo file nella cartella /dev. Allora è possile procedere nel seguente modo:

  • rimuovete l'eventuale convertitore usb-seriale dalle porte usb del pc
  • eseguite i comandi:

    cd /dev

    ls -l > /tmp/lista1.txt

  • inserite il convertitore usb-seriale in una porta usb e aspettate quanche secondo
  • eseguite i comandi:

    ls -l > /tmp/lista2.txt

    diff /tmp/lista1.txt /tmp/lista2.txt

  • nelle righe visualizzate cercate un file col nome simile a ttyUSB0 (può cambiare il numero finale), quello è il device che permette l'uso del convertitore usb-seriale.

A questo punto è necessario renderlo visibile anche al Serial Analyzer o al JcGpsSimulator.

Come ogni programma Java, il Serial Analyzer gestisce le porte seriale mediante la libreria JavaComm. Il driver JavaComm utilizzato dal Serial Analizer riconosce come porte seriali solo i device che abbiano per nome:

ttyS0 (prima porta seriale COM1)

ttyS1 (seconda porta seriale COM2)

ttyS2 (terza porta seriale COM3)

ttyS3 (quarta porta seriale COM4)

Il limite delle 4 porte seriali comporta che se ne avete già 4 realmente presenti, dovrete rinunciare ad una di esse. Supponiamo che vogliate liberarvi della quarta porta seriale (ttyS3), allora dovrete dare i comandi:

  • sudo rm ttyS3
  • inserite la password dell'utente root
  • ln -s ttyUSB0 ttyS3

Se, come accade spesso nei recenti pc portatili, non possedete nessuna porta seriale, allora potete usare il nome ttyS0 che individua la prima porta seriale e dare direttamente il comando

  • ln -s ttyUSB0 ttyS0

in entrambi i casi il comando ln crea un link simbolico, cioè un file chiamato ttyS0 (o ttyS3 nel primo esempio) che punta a ttyUSB0.

A questo punto se avviate il Serial Analyzer vedrete la presenza della prima porta seriale (o la quarta nel primo esempio) e potete utilizzarla come una qualsiasi porta seriale.

Come accedere a un disco EXT2 da Windows

Ottobre 2008, by Crovy

A chi utilizza Linux puè capitare di dover accedere da Windows ad un disco formattato con il file system EXT2 o EXT3.

Per questo ci viene in aiuto il programma gratuito Ext2IFS da installare in Windows.

Dopo l'installazione vedremo il nostro disco EXT2 come un qualsiasi altro disco di Windows.

Leggere attentamente le faq e le avvertenze prima di utilizzare questo driver.

Java: installazione, configurazione e problematiche!

Dicembre 2008, by Crovy

Java è una piattaforma molto bella con una caratteristica unica: esiste per tutti i sistemi operativi, o quasi. Di conseguenza i programmi sviluppati in Java funzionano su tutti i sistemi operativi. Cosa significa? Che il mio bel programma in Java lo posso utilizzare su un pc con Windows, su uno con Linux, su uno con MacOsX, su uno con Solaris e così via .... provate a fare lo stesso con i programmi nati per Windows! Vi ricordo che tutti i programmi che presentiamo sono sviluppati in Java.

Ovviamente questo non è ben visto da qualcuno e quindi ci sono una serie di problematiche che a volte rendono difficile l'utilizzo di programmi scritti in Java.

Tenete presente che i programmi scritti in Java per funzionare necessitano dell'interprete Java, cioè di un programma che interfaccia il sistema operativo ospitante con il programma scritto in Java. Questo interprete si chiama JRE (JavaRuntimeEnviroment) ed è specifico per ogni sistema operativo.

In questo breve corso prenderò in considerazione sopratutto gli utenti di Windows e in parte di Linux, MacOsX non lo conosco quindi non posso darvi alcun suggerimento.

Java è installato? E quale versione? Per controllare se Java è installato aprite una finestra DOS, o una shell di Linux, e digitate il comando "java -version".

Se la risposta è un errore, Java è da installare, altrimenti viene indicata la versione. Tenete presente che tutti i programmi che presentiamo necessitano di Java 1.5 (chiamata anche Java 5) o superiore, quindi come minimo dovete avere installato la versione 1.5 o, meglio, la versione 1.6 (chiamata anche Java 6).

Come installare, o aggiornare, Java?. Java è gratuito e lo si può scaricare qui dal sito ufficiale. Per gli utenti Linux, se non si pretende l'ultimissima versione, la cosa più semplice è utilizzare i Software Manager come Adept, Apt, Yum, ecc. ecc integrati nelle varie distribuzioni.

Una volta scaricato basta eseguirlo con il classico doppio click e seguire le istruzioni.

Una nuova installazione risolve "quasi sempre" tutti i problemi. Quindi, se avete dei problemi ad eseguire i programmi in Java e anche se avete già installato la versione corretta, vi consiglio vivamente una nuova installazione.

Come riconosco un programma scritto in Java? I programmi scritti in Java hanno l'estensione .jar e, più raramente per programmi molto piccoli e semplici, l'estensione .class (a differenza dei programmi per Windows che hanno l'estensione .exe).

Ad esempio, il programma JcResizer si chiama JcResizer.jar.

Come eseguo un programma in Java? Il modo più semplice è il classico doppio click, ma a volte potrebbe non funzionare a causa di programmi, ad esempio WinRar, che quando vengono installati si appropriano dell'estensione .jar e comunicano al sitema operativo, Windows, che per eseguire un file con estensione .jar si deve utilizzare questo nuovo programma.

Ecco, questo è un tipico esempio di boicottaggio!

Cosa fare in questi casi? La cosa più semplice è eseguire una nuova installazione di Java, oppure addentrarsi nelle impostazioni del sistema operativo per cambiare questa impostazione. Se siamo fortunati c'è una soluzione più rapida che però non sempre funziona. Ovviamente sto parlando per gli utenti Windows.

Da esplora risorse selezionate il programma in java, premete il tasto destro del mouse e selezionate la voce "Apri con ...", dovrebbe apparire la voce "Java", selezionatela per eseguire il programma.

Altro metodo alternativo è eseguire il programma in Java da una finestra DOS. Aprite la finestra DOS, posizionatevi nella cartella del programma in Java da eseguire e digitate "java -jar JcResizer.jar" (ovviamente cambiate il nome in base al programma che dovete eseguire).

Questa soluzione, anche se scomoda, dovrebbe sempre funzionare e inoltre ci permette di visualizzare eventuali errori non gestiti dal programma stesso.

Non funziona? Lasciate perdere! No scherzo! In questo caso vi chiedo la cortesia di segnalarmi il problema attraverso la pagina dei Contatti indicando dettagliatamente cosa viene visualizzato quando eseguite il programma dalla finestra DOS con il comando "java -jar JcResizer.jar" precedentemente visto (ovviamente cambiate il nome in base al programma che dovete eseguire).

Questo aiuterà noi ad arricchire questa semplice guida e tutti gli altri utenti che hanno incontrato lo stesso vostro problema!