Offline
Newbie
Karma: 0
Posts: 37
|
 |
« Reply #15 on: February 16, 2012, 04:57:47 am » |
innanzitutto grazie per avermi risposto così velocemente, poi io non ho arduino UNO ma duemilanove, quindi su questa sheild le librerie presenti nei repository di ubuntu vanno bene o mi devo comunque scaricare quelle che trovo qui http://www.cloudhopper.com/opensource/rxtx/ ??(devo usare le librerie del 2008 perchè sono le uniche che sono per la versione 64bit di linux). in java ho sviluppato un anno fa applicazioni sia da console che a interfaccia grafica, ovviamente anche usando gli oggetti. se può servire la mia versione di jre e jdk sono java version "1.6.0_20" OpenJDK Runtime Environment (IcedTea6 1.9.10) (6b20-1.9.10-0ubuntu1~10.04.3) OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 37
|
 |
« Reply #17 on: February 16, 2012, 05:13:56 am » |
ho seguito le indicazioni del sito che mi hai riportato ho copiato il sorgente in eclipse public static String[] listSerialPorts() { Enumeration ports = CommPortIdentifier.getPortIdentifiers(); ArrayList portList = new ArrayList(); String portArray[] = null; while (ports.hasMoreElements()) { CommPortIdentifier port = (CommPortIdentifier) ports.nextElement(); if (port.getPortType() == CommPortIdentifier.PORT_SERIAL) { portList.add(port.getName()); } } portArray = (String[]) portList.toArray(new String[0]); return portArray; } ma mi da 3 errori public static String[] listSerialPorts() "Syntax error on tokens, ClassHeader expected instead" String portArray[] = null; "Syntax error on token ";", { expected after this token" } (parentesi di fine programma) "Syntax error, insert "}" to complete ClassBody"
|
|
|
|
|
Logged
|
|
|
|
|
Bergamo
Offline
God Member
Karma: 1
Posts: 585
|
 |
« Reply #18 on: February 16, 2012, 05:22:39 am » |
ciao
quello è solo il metodo per enumerare le porte seriali, naturalmente dovrai costruirci attorno un semplice programmino che te le stampa in console...
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 37
|
 |
« Reply #19 on: February 16, 2012, 05:42:30 am » |
il problema è questo che io in java non ho mai usato queste librerie per la comunicazione con l'USB e non saprei come fare, su internet non ho trovato guide. sennò se al posto del java uso il python con la libreria pyusb o pyserial?? il python mi sembra un linguaggio molto più semplice
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 81
Posts: 8184
:(){:|:&};:
|
 |
« Reply #20 on: February 16, 2012, 05:43:36 am » |
sul sito RXTX ci sono un bel pò di esempi funzionanti... comunque questo più che un problema con la documentazione della libreria, mi pare un problema di conoscenze di java 
|
|
|
|
|
Logged
|
|
|
|
|
Bergamo
Offline
God Member
Karma: 1
Posts: 585
|
 |
« Reply #21 on: February 16, 2012, 05:55:14 am » |
il problema è questo che io in java non ho mai usato queste librerie per la comunicazione con l'USB e non saprei come fare, su internet non ho trovato guide. ciao ma qui non si tratta di saper usare o meno le librerie... quello è un semplice metodo statico che devi richiamare da una tua classe java (basta anche dal main): è una cosa semplicissima se hai già scritto codice java (addirittura senza scomodare Swing!)
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 37
|
 |
« Reply #22 on: February 16, 2012, 06:01:32 am » |
si lesto anche  perchè l'ho studiato a scuola ma tra la prof che non sapeva spiegarlo bene (mentre ce lo spiegava molte istruzioni che abbiamo sempre dovuto importare nei programmi non ci ha spiegato a cosa servivano realmente ma ci diceva solo di importarle) e tra me venendo dal C il java non mi è mai piaciuto com linguaggio, inoltre adesso è passato del tempo dall'ultima volta che l'ho usato quindi ora la mia preparazione in java non è un gran che, infatti anche vedendo gli esempi sulle librerie RXTX faccio molta difficoltà a capire cosa fa quel programma. invecie gia il C o python mi sembrano molto più belli e semplici come linguaggi (praticamente leggere un programma scritto in questi linguaggi è cone leggere l'inglese  ), per questo preferirei visto le mie difficoltà con il java, a programmare in C o python, secondo voi cosa è meglio fare? visto che questo progetto deve essere pronto e funzionante entro aprile (o forse maggio??  ) per la consegna della tesina, non vorrei che facendolo in java perdessi troppo tempo e per fare alla svelta non viene fuori un copia e incolla.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 37
|
 |
« Reply #23 on: February 16, 2012, 06:04:38 am » |
più che altro lucadentella il problema è che il java non mi è stato spiegato bene a scuola quindi faccio difficoltà a creare un programma da zero, infatti per il motivo che ho detto prima (che molte istruzioni da mettere nel programma non mi è mai stato detto il funzionamento) tutti i programmi che facevo erano quasi un copia e incolla dai programmi vecchi.
|
|
|
|
|
Logged
|
|
|
|
|
Bergamo
Offline
God Member
Karma: 1
Posts: 585
|
 |
« Reply #24 on: February 16, 2012, 06:08:06 am » |
ciao non l'ho provato ma dovrebbe andare...salvalo come ListCom.javaimport java.util.ArrayList; import java.util.Enumeration; import gnu.io.*;
public class ListCom {
public static String[] listSerialPorts() { Enumeration ports = CommPortIdentifier.getPortIdentifiers(); ArrayList portList = new ArrayList(); String portArray[] = null; while (ports.hasMoreElements()) { CommPortIdentifier port = (CommPortIdentifier) ports.nextElement(); if (port.getPortType() == CommPortIdentifier.PORT_SERIAL) { portList.add(port.getName()); } } portArray = (String[]) portList.toArray(new String[0]); return portArray; } public static void main(String[] args) { for(String name : listSerialPorts()) System.out.println(name); } }
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 81
Posts: 8184
:(){:|:&};:
|
 |
« Reply #25 on: February 16, 2012, 06:08:21 am » |
se hai scadenze da rispettare usa i linguaggi che già conosci, credimi ci risparmi un sacco di tempo
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 37
|
 |
« Reply #26 on: February 16, 2012, 06:17:23 am » |
grazie luca per avermi scritto questo programma, però mi da un errore quando importo la classe import gnu.io.*; "The import gnu cannot be resolved" dopo ci sono altri errori ma penso siano dovuti alla mancanza di questa libreria, perchè da errore in tutte le righe in cui è presente CommPortIdentifier
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 37
|
 |
« Reply #27 on: February 16, 2012, 06:21:32 am » |
comunque adesso vede se riesco a far comunicare il PC con arduino usando Java, provo a continuare in java studiandolo di più senò passo a pyserial o pyusb (non so quale sia meglio)
|
|
|
|
|
Logged
|
|
|
|
|
Bergamo
Offline
God Member
Karma: 1
Posts: 585
|
 |
« Reply #28 on: February 16, 2012, 06:43:40 am » |
ciao ma hai configurato Eclipse per utilizzare la libreria rxtx? http://rxtx.qbang.org/wiki/index.php/Using_RXTX_In_Eclipsecomunque sì, sicuramente prima ti servono delle basi maggiori sul linguaggio che decidi di utilizzare, sia questo Java, C# (vedi tutorial sul mio sito) o Python...
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 37
|
 |
« Reply #29 on: February 16, 2012, 08:06:17 am » |
avevo letto su internet che una volta installate le librerie eclipse le caricava in automatico senza bisogno di caricarle manualmente
|
|
|
|
|
Logged
|
|
|
|
|
|