O upload do código para o arduino me dá o erro: "avrdude: ser_open (): não é possível abrir o dispositivo" / dev / ttyACM0 ": permissão negada"

13

Meu sistema operacional é o Ubuntu 18.04 e o arduino estava funcionando até agora.

Embora existam algumas soluções, nenhuma delas parece funcionar para mim.

Eu segui estas instruções no site do arduino.

Então tentei isso no arduino Stack Exchange , que deveria funcionar nos casos em que a primeira solução não funcionava. A resposta diz que devemos criar algumas regras no /etc/udev/ruled.d/caminho.

Mas nenhum deles funcionou para mim.

Também testei o arduino no Windows 10 para verificar se havia algum problema de hardware, mas funcionou bem.

Alguém tem outras idéias sobre como resolver esse problema?

ATUALIZAR:

  • Meu nome de usuário, sergio, faz parte dos dois grupos (tty e discagem);
  • Efetuei logoff e logon novamente, como o tutorial oficial do arduino explica;
  • No IDE do Arduino, as configurações estão corretas: Arduino UNO e ttyACM0
  • Esta é a saída de ll /dev/ttyACM0depois de executar os comandos do tutorial:

    crw-rw-rw- 1 root dialout 166, 0 Jul 15 05:41 /dev/ttyACM0
    

ATUALIZAÇÃO 2:

Eu criei um script para resolver isso: https://github.com/sergiomafra/iniarduino

Sérgio Mafra
fonte
5
Possível duplicata de Como instalar o Arduino IDE mais recente? Você esqueceu de sair e fazer login novamente depois de executar usermod?
N0rbert
Não. Primeiro, tentei sair e entrar. Depois, tentei reiniciar meu notebook. Nada parece funcionar ...
Sérgio Mafra
crw-rw-rw- 1 discagem raiz 166, 0 jul 15 05:41 / dev / ttyACM0 Login: sergio Nome: Sérgio Mafra Diretório: / home / sergio Shell: / bin / bash Desde desde 15 de julho 08:26 (- 03) ativado: 0 de: 0 (mensagens desativadas) Sem e-mail. Sem plano.
Sérgio Mafra
discagem: x: 20: sergio. Quando eu tentei executar o segundo comando, Bash voltou para mim Nenhum tal lima ou diretório
Sérgio Mafra
2
@ N0rbert Eu não acho que essa pergunta deva ser encerrada como uma duplicata de Como instalar o IDE do Arduino mais recente? porque a resposta aceita para esta pergunta é mais específica para a pergunta que foi feita.
Karel

Respostas:

9

Reinstale o seu arduino instalado no centro de software Ubuntu:

sudo apt install --reinstall arduino

A reinstalação é necessária, pois seu which avrdudecomando de acordo com o seu comentário não retorna nada, mas deveria ser /usr/bin/avrdude. Verifique novamente:

which avrdude

Execute o seu Arduino IDE após a reinstalação e feche-o.

Verifique sua configuração do arduino. Abra o /home/sergio/.arduino/preferences.txtarquivo e marque a serial.portopção. Tente mudar para /dev/ttyACM0. Abra esse arquivo:

sudo nano /home/sergio/.arduino/preferences.txt

e aplicar as alterações correspondentes, ou seja, a opção deve parecer

serial.port=/dev/ttyACM0

Reinicie o computador posteriormente.

Prumo
fonte
11
Obrigado por toda a ajuda. Eu o desinstalei do Ubuntu Software Center, instalei a versão no site do arduino e funcionou.
Sérgio Mafra
23

Eu tive um problema semelhante quando tentei enviar um esboço para o Arduino. O problema estava relacionado à falta de permissões para ler / gravar na porta serial. Consegui corrigir usando o seguinte comando:

Para confirmar que a porta existe, digite o seguinte no diretório raiz.

ls /dev/ttyACM0

Para definir permissões de leitura / gravação, digite o seguinte

sudo chmod a+rw /dev/ttyACM0
Adrian
fonte
Resolvi meu problema. Obrigado!
FunkSoulBrother 28/05/19
Resolvido meu problema ..
anuraag tummanapally
3

Aqui está o que funcionou para mim:

  • Desinstale a versão do Apt, ela não funciona corretamente ( sudo apt uninstall arduino; sudo apt autoremove)
  • Instale a versão no site do Arduino
  • sudo apt install avrdude já que o site não o inclui
  • sudo usermod -a -G dialout [your_username] já que o site não faz isso automaticamente

E agora tudo está funcionando novamente!

Draconis
fonte
0

Em combinação com todas as postagens que li, foi o que fiz para resolver esse problema, seguindo as instruções deste tópico.

Em um novo terminal, digitei o seguinte, como mostrado abaixo.

https://i.stack.imgur.com/ifRmx.png

Observe que fourplus é meu nome de usuário.

Arafat Mukasa
fonte
2
Bem-vindo ao perguntar ao ubuntu. No futuro, você deve postar texto em vez de imagens sempre que possível.
10119 Jeff
0

Eu tenho uma solução.

  1. Encontre sua porta à qual o Arduino está conectado (por exemplo, o meu era /dev/ttyUSB0). Você pode encontrá-lo mencionado na mensagem de erro no Arduino IDE.

  2. Abra o terminal ( Ctrl+ Alt+ T).

  3. Na execução do terminal:

    sudo chmod 777 /dev/ttyUSB0
    

    O comando acima define as permissões necessárias.

yugal sharma
fonte
0

Vejo que a pergunta já foi aceita, mas nenhuma das soluções fez isso por mim, então eu tenho uma solução diferente. Eu instalei o arduino IDE através do instalador do software Ubuntu. O que você precisa fazer é.

  1. Vá para o arduino IDE na loja de software Ubuntu
  2. permissões de clique
  3. defina o hardware USB do Access diretamente
sjoerd hilhorst
fonte