การอัปโหลดรหัสไปที่ arduino ทำให้ฉันมีข้อผิดพลาด:“ avrdude: ser_open (): ไม่สามารถเปิดอุปกรณ์” / dev / ttyACM0“: การอนุญาตถูกปฏิเสธ”


13

ระบบปฏิบัติการของฉันคือ Ubuntu 18.04 และ arduino ทำงานได้จนถึงปัจจุบัน

แม้ว่าจะมีวิธีแก้ปัญหาบางอย่าง แต่ก็ไม่มีวิธีใดที่เหมาะกับฉัน

ฉันทำตามคำแนะนำเหล่านี้ในเว็บไซต์ arduino

จากนั้นฉันลองใช้arduino Stack Exchangeซึ่งควรทำงานในกรณีที่วิธีแรกไม่ได้ คำตอบบอกว่าเราควรสร้างกฎบางอย่างบน/etc/udev/ruled.d/เส้นทาง

แต่ไม่มีใครทำงานให้ฉันได้

ฉันยังทดสอบ arduino ใน Windows 10 เพื่อดูว่าเป็นปัญหาฮาร์ดแวร์หรือไม่ แต่ใช้งานได้ดี

ไม่มีใครมีความคิดอื่น ๆ เกี่ยวกับวิธีการแก้ปัญหานี้หรือไม่?

UPDATE:

  • ชื่อผู้ใช้ของฉัน, 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

Nope ก่อนอื่นฉันพยายามออกจากระบบและจากนั้นฉันพยายามรีสตาร์ทโน้ตบุ๊ค ดูเหมือนจะไม่มีอะไรทำงาน ...
Sérgio Mafra

crw-rw-rw- 1 root dialout 166, 0 Jul 15 05:41 / dev / ttyACM0 เข้าสู่ระบบ: sergio ชื่อ: Sérgio Mafra Directory: / home / sergio Shell: / bin / bash On มาตั้งแต่วันอาทิตย์ 15 ก.ค. 08:26 (- 03) เมื่อ: 0 จาก: 0 (ข้อความปิด) ไม่มีจดหมาย ไม่มีแผน
Sérgio Mafra

dialout: x: 20: เซร์คิโอ เมื่อฉันพยายามเรียกใช้คำสั่งที่สองทุบตีกลับมาหาฉันไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
Sérgio Mafra

2
@ N0rbert ฉันไม่คิดว่าคำถามนี้ควรจะปิดเหมือนซ้ำกับวิธีการติดตั้ง Arduino IDE ล่าสุด? เนื่องจากคำตอบที่ได้รับการยอมรับสำหรับคำถามนี้เฉพาะเจาะจงมากขึ้นสำหรับคำถามที่ถูกถาม
karel

คำตอบ:


9

ติดตั้ง Arduino ของคุณอีกครั้งจากศูนย์ซอฟต์แวร์ Ubuntu:

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

24

ฉันมีปัญหาคล้ายกันเมื่อฉันพยายามอัปโหลดภาพร่างไปยัง Arduino ปัญหานี้เชื่อมต่อกับการขาดสิทธิ์ในการอ่าน / เขียนไปยังพอร์ตอนุกรม ฉันสามารถแก้ไขได้โดยใช้คำสั่งต่อไปนี้:

เพื่อยืนยันว่าพอร์ตนั้นมีอยู่ให้ป้อนสิ่งต่อไปนี้จากไดเร็กทอรีรูท

ls /dev/ttyACM0

ในการตั้งค่าการอนุญาตการอ่าน / เขียนให้ป้อนข้อมูลต่อไปนี้

sudo chmod a+rw /dev/ttyACM0

แก้ไขปัญหาของฉันแล้ว ขอบคุณ!
FunkSoulBrother

แก้ไขปัญหาของฉัน ..
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

ฉันได้ทางออกแล้ว

  1. ค้นหาพอร์ตของคุณที่ Arduino เชื่อมต่ออยู่ (เช่นของฉัน/dev/ttyUSB0) คุณอาจพบมันกล่าวถึงในข้อความข้อผิดพลาดใน Arduino IDE

  2. เปิดเทอร์มินัล ( Ctrl+ Alt+ T)

  3. ในการทำงานของเครื่อง:

    sudo chmod 777 /dev/ttyUSB0
    

    คำสั่งดังกล่าวตั้งค่าสิทธิ์ที่จำเป็น



0

ฉันเห็นว่าคำถามนั้นได้รับการยอมรับแล้ว แต่ไม่มีวิธีแก้ปัญหาใดที่ทำให้ฉันดังนั้นฉันจึงมีทางออกที่แตกต่าง ฉันติดตั้ง arduino IDE ผ่านตัวติดตั้งซอฟต์แวร์ Ubuntu สิ่งที่คุณต้องทำคือ

  1. ไปที่ arduino IDE ในร้านซอฟต์แวร์อูบุนตู
  2. คลิกสิทธิ์
  3. เปิดการเข้าถึงฮาร์ดแวร์ usb โดยตรงบน

0

ฮ่าฉันเป็นมือใหม่และฉันทำผิดพลาดบางอย่าง)) อย่าทำอย่างที่ฉันทำ

  1. ก่อนอื่นในหนังสือของฉันมีภาพที่ไม่ดีเกี่ยวกับรูปแบบการเชื่อมต่อนำ ฉันพบสายใหม่และเชื่อมต่อใหม่แล้ว ตอนนี้พวกเขาเชื่อมต่ออย่างถูกต้อง
  2. จากนั้นฉันก็เชื่อมต่อ arudino เข้ากับคอมพิวเตอร์ (เป็นเรื่องสำคัญ)
  3. จากนั้นฉันก็ดำเนินการคำสั่งต่อไปนี้:

    • ls -l / dev / ttyACM0
    • sudo usermod -a -G dialout [my_username]
    • sudo chmod a + rw / dev / ttyACM0

เมื่อฉันกำลังมองหาบอร์ดในเมนูของโปรแกรม arduino (เครื่องมือ -> บอร์ด) ฉันไม่พบ 'Arduino / Genuino Uno' แค่มี 'Arduino Uno' (ฉันเดาว่ามันโอเค)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.