arduino에 코드를 업로드하면“avrdude : ser_open () : 장치를 열 수 없습니다””/ dev / ttyACM0“: 권한이 거부되었습니다.


13

내 OS는 Ubuntu 18.04이며 arduino는 지금까지 작동했습니다.

몇 가지 해결책이 있지만 그중 어느 것도 나를 위해 작동하지 않는 것 같습니다.

arduino 웹 사이트 에서이 지침 을 따랐습니다 .

그런 다음 arduino Stack Exchange 에서 시도해 보았습니다 . 첫 번째 솔루션이 그렇지 않은 경우 작동합니다. 답은 /etc/udev/ruled.d/경로에 몇 가지 규칙을 만들어야한다고 말합니다 .

그러나 그들 중 누구도 나를 위해 일하지 않았습니다.

또한 Windows 10에서 arduino를 테스트하여 하드웨어 문제인지 확인했지만 정상적으로 작동했습니다.

이 문제를 해결하는 방법에 대한 다른 아이디어가 있습니까?

최신 정보:

  • 내 사용자 이름 sergio는 두 그룹 (tty 및 dialout)의 일부입니다.
  • arduino 공식 튜토리얼이 설명하는 것처럼 로그 아웃했다가 다시 로그인했습니다.
  • Arduino IDE에서는 Arduino UNO 및 ttyACM0이 올바르게 구성되었습니다.
  • 이것은 ll /dev/ttyACM0튜토리얼 명령을 실행 한 후의 결과입니다 .

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

업데이트 2 :

이것을 해결하기 위해 스크립트를 만들었습니다 : https://github.com/sergiomafra/iniarduino


5
최신 Arduino IDE를 설치하는 방법에 대한 가능한 중복 ? 실행 후 로그 아웃했다가 다시 로그인하는 것을 잊었습니까 usermod?
N0rbert

아니. 먼저 로그 아웃하고 로그인을 시도했습니다. 그런 다음 노트북을 다시 시작하려고했습니다. 아무것도 작동하지 않는 것 같습니다 ...
Sérgio Mafra

crw-rw-rw- 1 루트 다이얼 아웃 166, 0 Jul 15 05:41 / dev / ttyACM0 로그인 : sergio 이름 : Sérgio Mafra 디렉토리 : / home / sergio 쉘 : / bin / bash 7 월 15 일 (일) 이후 08:26 (- 03) on : 0 from : 0 (메시지 꺼짐) 메일이 없습니다. 계획이 없습니다.
Sérgio Mafra

전화 걸기 : x : 20 : sergio. 두 번째 명령을 실행하려고했을 때, bash는 나에게 그런 파일이나 디렉토리를 반환하지 않았다
Sérgio Mafra

2
@ N0rbert 나는이 질문이 최신 Arduino IDE를 설치하는 방법 의 복제본으로 폐쇄되어야한다고 생각하지 않습니까? 이 질문에 대한 대답은 요청 된 질문에 더 구체적이기 때문입니다.
karel

답변:


9

Ubuntu 소프트웨어 센터에서 설치된 arduino를 다시 설치하십시오.

sudo apt install --reinstall arduino

which avrdude귀하의 의견에 따른 명령이 아무것도 반환하지 않기 때문에 재설치가 필요 하지만이어야합니다 /usr/bin/avrdude. 다시 확인하십시오.

which avrdude

다시 설치 한 후 Arduino IDE를 실행하고 닫습니다.

arduino 구성을 확인하십시오. /home/sergio/.arduino/preferences.txt파일을 열고 serial.port옵션을 확인하십시오 . 로 변경해보십시오 /dev/ttyACM0. 그 파일을여십시오 :

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

해당 변경 사항을 적용합니다. 즉 옵션이

serial.port=/dev/ttyACM0

나중에 컴퓨터를 다시 시작하십시오.


1
모든 도움에 감사드립니다. Ubuntu Software Center에서 제거하고 arduino 웹 사이트에서 버전을 설치했으며 작동했습니다.
Sérgio Mafra

23

Arduino에 스케치를 업로드하려고 할 때 비슷한 문제가 발생했습니다. 이 문제는 직렬 포트에 대한 읽기 / 쓰기 권한이 없기 때문에 발생했습니다. 다음 명령을 사용하여 수정할 수있었습니다.

포트가 있는지 확인하려면 루트 디렉토리에서 다음을 입력하십시오.

ls /dev/ttyACM0

읽기 / 쓰기 권한을 설정하려면 다음을 입력하십시오.

sudo chmod a+rw /dev/ttyACM0

내 문제를 해결했습니다. 감사!
FunkSoulBrother 7:28에

내 문제를 해결 ..
anuraag tummanapally

3

나를 위해 일한 것은 다음과 같습니다.

  • Apt에서 버전을 제거하면 제대로 작동하지 않습니다 ( sudo apt uninstall arduino; sudo apt autoremove).
  • Arduino 웹 사이트에서 버전을 설치하십시오
  • sudo apt install avrdude 웹 사이트에있는 것이 포함되어 있지 않기 때문에
  • sudo usermod -a -G dialout [your_username] 웹 사이트의 것이 자동으로 수행하지 않기 때문에

이제 모든 것이 다시 작동합니다!


0

내가 읽은 모든 게시물과 함께, 이것은이 스레드의 지시에 따라 해당 문제를 해결하기 위해 수행 한 것입니다.

새 터미널에서는 아래와 같이 다음을 입력했습니다.

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

fourplus는 내 사용자 이름입니다.


2
우분투에 오신 것을 환영합니다. 앞으로는 가능한 한 이미지 대신 텍스트를 게시해야합니다.
Jeff


0

나는 그 질문이 이미 받아 들여졌지만 어떤 해결책도 나를 위해 그것을하지 않았으므로 다른 해결책을 얻었습니다. 우분투 소프트웨어 설치 프로그램을 통해 arduino IDE를 설치했습니다. 당신이해야 할 일은입니다.

  1. 우분투 소프트웨어 스토어에서 arduino IDE로 이동
  2. 클릭 권한
  3. Access USB 하드웨어를 직접 켭니다

0

하 나는 초보자이고 실수를했다)) 내가하는 방식으로하지 마라.

  1. 우선, 내 책에는 led 연결 방식에 대한 잘못된 그림이있었습니다. 새로운 전선을 다시 발견했습니다. 이제 그들은 올바르게 연결되었습니다.
  2. 그런 다음 arudino를 컴퓨터에 연결했습니다 (중요).
  3. 그런 다음 다음 명령을 실행했습니다.

    • ls -l / dev / ttyACM0
    • sudo usermod -a -G 다이얼 아웃 [my_username]
    • sudo chmod a + rw / dev / ttyACM0

arduino 프로그램 메뉴 (보드-> 보드)에서 보드를 찾을 때 'Arduino / Genuino Uno'를 찾지 못했습니다 .'Arduino Uno '가 있습니다 (괜찮아요)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.