Ciao a tutti.
Ho appena comprato Arduino UNO, ma ho un problema (e te pareva =( ): dopo aver avviato l'IDE da root (devo ancora impostare i permessi sul mio utente), nel menù Serial Port compaiono esclusivamente le porte seriali del mio computer (le classiche RS-232) ma non c'è traccia della ttyACM0, che invece compare in /dev (!).
Dando lsusb, inoltre, la voce che dovrebbe essere relativa ad Arduino compare con una linea bianca, così:
Bus 001 Device 015: ID 2341:0001
Premetto che Arduino è collegato PRIMA dell'avvio dell'IDE... consigli? Grazie
Ho utilizzato i repo di OpenSuse (al momento uso OpenSuse, ma cambio distro spessissimo, ho anche installati Sabayon, Arch, Debian, Slackware e Ubuntu).
Lo so che non va usato root, però volevo avere la certezza di non avere problemi di permessi...
Ho fatto come hai detto tu, in effetti ora è decisamente più veloce, però le porte seriali disponibili sono sempre le solite ttyS4 e ttyS5, non c'è traccia della ACM0...
cioè, ttyACM0 compare in /dev ma non nella lista delle porte di arduino?!
a questo punto sembra più un bug dell'ide.. che versione è? mi pare che prima della 0021 NON c'era ancora arduino 1 e quindi non è supportato
Esatto, proprio come hai detto tu. Inoltre aprendo in lettura la /dev/ACM0 compaiono i simboli binari inviati da Arduino all'accensione, quindi il collegamento al PC avviene correttamente...
L'ide è la 0022, se vuoi ti/vi posso fare uno screenshoot del problema...
Eventualmente esiste una IDE alternativa, tanto per tamponare l'emergenza?
Io avevo scaricato la versione 0022 dal sito ufficiale ma in quel momento non stavo usando la 0022 ma la versione installata dal repo di OpenSuse, evidentemente buggata.
Infatti, anche se Arduino Uno era supportato, nella schermata di help la versione era "$VERSION" e non 0022, evidentemente era una versione di prova, dato che aveva anche una variabile non dichiarata...
Ora il problema è un altro:
non posso scrivere nell'IDE!!!
Bug report:
BUG: getTextArea() returning null
Report this to Slava Pestov <sp@gjt.org>
Exception during event dispatch:
java.lang.NullPointerException
at processing.app.syntax.InputHandler$backspace.actionPerformed(InputHandler.java:409)
at processing.app.syntax.InputHandler.executeAction(InputHandler.java:291)
at processing.app.syntax.DefaultInputHandler.keyPressed(DefaultInputHandler.java:219)
at processing.app.syntax.JEditTextArea.processKeyEvent(JEditTextArea.java:1634)
at java.awt.Component.processEvent(libgcj.so.11)
at java.awt.Container.processEvent(libgcj.so.11)
at java.awt.Component.dispatchEventImpl(libgcj.so.11)
at java.awt.Container.dispatchEventImpl(libgcj.so.11)
at java.awt.Component.dispatchEvent(libgcj.so.11)
at java.awt.KeyboardFocusManager.redispatchEvent(libgcj.so.11)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(libgcj.so.11)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(libgcj.so.11)
at java.awt.Component.dispatchEventImpl(libgcj.so.11)
at java.awt.Container.dispatchEventImpl(libgcj.so.11)
at java.awt.Window.dispatchEventImpl(libgcj.so.11)
at java.awt.Component.dispatchEvent(libgcj.so.11)
at java.awt.EventQueue.dispatchEvent(libgcj.so.11)
at java.awt.EventDispatchThread.run(libgcj.so.11)
poi ho notato che il programma dai repositories (per qualche motivo che non capisco..ma ci sto lavorando) non va bene, per aggirare il problema, scarico il programma dal sito arduino, lo scomprimo e lo metto in /home/utente/bin (cosi è più comodo)
(abquesto puoi eliminare arduino il programma da yast) cosi dovrebbe funzionare
altra cosa popi in /home/utent/bin/arduino-22/lib
elimina il file di nome "librxtxSerial.so"
e cosi dovrebbe funzionare tutto
ho lo stesso problema!!!! praticamente oggi non riesco più a fare niente con arduino perchè mi dice che non trova la porta seriale....ho cancellato l'IDE e ho provato a mettere la versione dai repo (l'ho fatto perchè ho visto che l'hanno aggiornata alla versione 22) ma mi da lo stesso problema....ho installato anche le librerie sun java che avete detto prima ma non cambia...
Questo è il codice dell'errore:
processing.app.SerialNotFoundException: Serial port '/dev/ttyACM0' not found. Did you select the right one from the Tools > Serial Port menu?
at processing.app.Serial.<init>(Serial.java:153)
at processing.app.Serial.<init>(Serial.java:91)
at processing.app.SerialMonitor.openSerialPort(SerialMonitor.java:204)
at processing.app.Editor.handleSerial(Editor.java:2390)
at processing.app.EditorToolbar.mousePressed(EditorToolbar.java:344)
at java.awt.Component.processMouseEvent(Component.java:6286)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6054)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4652)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122
alura io faccio così:
1.attacco l'usb al pc
2.apro l'IDE
3.nello sketch iniziale (bianco) da tools vede la serial port /dev/ttyACM0 (Però ci mette un po ad aprire il menu Tools, circa 5 secondi)
4.apro uno dei miei sketch salvati (Anche qua ci mette un po di secondi ad aprirlo)
5.apro Tools(altri 5 secondi per aprirlo), vede la seriale
6.compilo....lo fa
7. faccio upload, e mi esce l'errore
8.controllo di nuovo in Tools e non vede la serial port (è grigio)
9.se riprovo a controllare in Tools dopo 10 secondi mi rivede la Seriale
fa un po come vuole....ora provo con win se fa scherzi....
è perchè il bootloader all'avvio guarda se arriva un segnale all'arduino di programmazione quindi se quando fai l'upload via usb non gli invia il segnale di reset automatico (quello che accade quando apri il serial monitor insomma) devi riavviare l'arduino manualmente
ah ok...e per quale motivo non gli invia il segnale di riavvio in automatico, cioè fino a ieri non ho mai premuto il reset e ho sempre "uploadato" tutto senza problemi con la porta seriale/usb....è successo qualcosa che ha scombinato tutto, magati un aggiornamento di ubuntu....comunque con windows funziona alla perfezione....
più probabile un aggiornamento di java su linux comunque prova caricando col tasto di reset, può succedere che in alcuni caricamenti perde il dato, soprattutto se usi sketch che usano la seriale spesso a 115200 baud