bene, come dice @Bibhas, il tuo problema è che /dev/ttyACM0
ha i permessi sbagliati, e che non ha nulla a che fare con Arduino o testo sublime. È il kernel linux che crea dispositivi di carattere per impostazione predefinita senza autorizzazioni utente.
Ma la cosa buona è che può essere cambiato!
La soluzione facile e veloce è quello di aggiungere l'utente corrente al gruppo dialout
:
sudo adduser YOU dialout
dove te è il tuo nome utente e quindi disconnettersi e riconnettersi per avere quelle nuove autorizzazioni propagate nelle vostre conchiglie.
Suggerimento:
C'è una soluzione che è un po 'più complicato, è quello di creare una regola udev come ad esempio:
/etc/udev/rules.d/48-arduino.rules
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="arduino_end"
SUBSYSTEM=="tty", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", MODE="660", GROUP="arduino", SYMLINK+="arduino.leonardo"
LABEL="arduino_end"
che crea un /dev/arduino
dispositivo di lettura e scrittura da parte del gruppo di arduino, che è necessario creare (o è possibile utilizzare la dialout
gruppo di default, che è perfettamente bene):
addgroup arduino
adduser YOU arduino
e quindi ricaricare le regole:
sudo udevadm control --reload-rules
La cosa bella di quel secondo suggerimento è che quando si scollega ricollegare l'arduino, non si avrà cambia numero di dispositivo stranamente, sarà tenuto al nome. Se non stai utilizzando un Leonardo Arduino, è possibile controllare il dispositivo idVendor/idProduct utilizzando lsusb:
% lsusb
… ↓↓↓↓ ↓↓↓↓
Bus 006 Device 105: ID 2341:0036 Arduino SA
…
HTH
Gestisci l'IDE Arduino con 'sudo'? Autorizzazione negata significa che potrebbe essere necessario il permesso di amministratore. –
@Bibhas: l'esecuzione dell'editor arduino con 'sudo' per gestire i problemi relativi alle autorizzazioni è MOLTO LA ** SOLUZIONE ERRATA **. È come risolvere un problema con le gomme della tua auto incendiandole e fingendo che fosse così quando l'hai trovato. L'OP deve risolvere correttamente il problema dei permessi, non solo intonacarlo con un buco di sicurezza. –