ปัญหา Arduino Serial Port COM1


18

ฉันซื้อ Arduino Uno และติดตั้ง Arduino IDE 1.6.5 แต่เมื่อฉันต้องการอัปโหลด skecht ไปยังบอร์ด Arduino ฉันใช้ข้อผิดพลาดนี้:

avrdude: ser_open(): can't open device "COM1": No such file or directory

ioctl ("TIOCMGET"): ioctl ที่ไม่เหมาะสมสำหรับอุปกรณ์

ฉันใช้ Ubuntu 14.04LTS

    hakan@hakan-pc:~$ ls -l /dev/ttyUSB0
ls: /dev/ttyUSB0'e erişilemedi: Böyle bir dosya ya da dizin yok(In English: No such a file like this)




 hakan@hakan-pc:~$ ls -l /dev/ttyS0
crw-rw-rw- 1 root dialout 4, 64 Tem  8 22:40 /dev/ttyS0

ในขณะที่ Arduino เสียบเข้ากับคอมพิวเตอร์ dmesg | หาง:

    hakan@hakan-pc:~$ dmesg | tail
[   21.784795] sound hdaudioC1D3: hda-codec: out of range cmd 3:5:707:ffffffff
[   21.784969] sound hdaudioC1D3: hda-codec: out of range cmd 3:5:707:ffffffbf
[   21.786110] sound hdaudioC1D0: hda-codec: out of range cmd 0:5:707:ffffffff
[   21.792705] sound hdaudioC1D0: hda-codec: out of range cmd 0:5:707:ffffffff
[   26.849759] sound hdaudioC1D0: hda-codec: out of range cmd 0:5:707:ffffffbf
[   27.515096] init: Failed to spawn nvidia-persistenced main process: unable to execute: No such file or directory
[   43.647261] audit: type=1400 audit(1436384452.263:72): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/cups/backend/cups-pdf" pid=2246 comm="apparmor_parser"
[   43.647270] audit: type=1400 audit(1436384452.263:73): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2246 comm="apparmor_parser"
[   43.647654] audit: type=1400 audit(1436384452.267:74): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2246 comm="apparmor_parser"
[   87.513268] systemd-hostnamed[2572]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!

ฉันจะแก้ปัญหานี้ได้อย่างไร


dmesgรหัสไม่ได้มีข้อมูลเกี่ยวกับการเสียบบอร์ด Arduino ... กรุณาเปลี่ยนกับคนที่เกี่ยวข้อง อย่างไรก็ตามการLANG=Cต่อเติมคำสั่งควรให้ข้อความแสดงข้อผิดพลาดเป็นภาษาอังกฤษ
Rmano

คุณได้รับCOM1บน Linux อย่างไร นั่นคือชื่อของ Windows
ps95

prakharsingh95 ใช่ฉันรู้ แต่ฉันไม่เข้าใจว่าทำไมถูกมองว่าเป็น COM1.Anyway ใน / dev directory ไม่มีอะไรที่เหมือนกับ COMx หรือ ttyACMx มีเฉพาะ tty (x) และ ttyS (x)
Hakan Ormancı

คำตอบ:


21
  1. เชื่อมต่อฮาร์ดแวร์ Arduino ของคุณเปิด Arduino IDE
  2. ไปที่ "เครื่องมือ"
  3. ไปที่ "พอร์ต"
  4. เลือกพอร์ตที่เชื่อมต่อกับ Arduino (หากไม่มีไดรฟ์ภายนอกอื่นที่เชื่อมต่อยกเว้น Arduino จะมีเพียงหนึ่งพอร์ต)

    นี่จะบอก Arduino IDE พอร์ตที่ฮาร์ดแวร์ของคุณเชื่อมต่ออยู่ หลังจากนั้นคุณจะสามารถอัปโหลดร่างของคุณได้สำเร็จ


2
มัน (เมนูพอร์ต) เป็นสีเทา ..
Hakan Ormancı

2
@hakan ลองใช้ arduino ในฐานะ root ใน terminal เขียน "sudo arduino"
kashish

@kasnish ​​ฉันพยายาม แต่มันใช้ไม่ได้
Hakan Ormancı

ไม่ได้เลือกพอร์ตตอนนี้ woohoo ใช้งานได้แล้วขอบคุณ
RegarBoy

1
ช่างเป็นทางออกที่ง่ายและสมบูรณ์แบบ !!!! บันทึกวันของฉัน ฉันลองใช้คำสั่งอื่น ๆ อีกมากมายในเทอร์มินัลที่ทำให้ไม่มีการเปลี่ยนแปลงในความคืบหน้าของฉัน ขอบคุณมาก.
Shanki Bansal

8

หากคุณรัน Arduino IDE บน Ubuntu (Arduino 1.5.7 และ Ubuntu 14.04 ในกรณีของฉัน) ส่วนใหญ่คุณไม่สามารถอัปโหลดไปยังบอร์ด Arduino ซึ่งเกิดจากข้อผิดพลาดของ:

avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied
ioctl("TIOCMGET"): Inappropriate ioctl for device

หากต้องการแก้ไขให้ป้อนคำสั่ง:

$ sudo usermod -a -G dialout <username>
$ sudo chmod a+rw /dev/ttyUSB0

ชื่อผู้ใช้ของคุณอยู่ที่ไหนใน Ubuntu / dev / ttyUSB0 เป็นอุปกรณ์ที่ตรวจพบในบอร์ด Arduino ของคุณ


2

ฉันได้รับข้อผิดพลาดเดียวกันบน Ubuntu 14.04 กับ Arduino Uno สิ่งที่ใช้ได้ผลสำหรับฉันคือการเลือกพอร์ตที่เหมาะสมในเครื่องมือ> พอร์ตจากนั้นเปลี่ยนสิทธิ์ของพอร์ตโดยใช้คำสั่งเช่น:

sudo chmod a+rw /dev/ttyUSB0

จากนั้นข้อผิดพลาดก็หายไปและฉันสามารถอัปโหลดได้


ฉันมีข้อผิดพลาดนี้Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Permission denied. ดังนั้นต้องใช้sudo chmod a+rw /dev/ttyACM0 เวทมนต์ของคุณแต่มันก็ไม่ได้ช่วยอะไร ดังนั้นฉันต้องใช้คำสั่งนี้sudo adduser <username> dialoutแล้วออกจากระบบ / เข้าสู่ระบบเพื่อให้สิ่งต่าง ๆ ทำงานได้ดี
Dimitry K

1

ฉันได้รับข้อความเดียวกันใน Ubuntu 14.04 และ IDE เวอร์ชัน 1.0.5

การโหลดไดรเวอร์FTDI ชิป D2XXแก้ไขปัญหาได้ (เพิ่งดาวน์โหลดและติดตามการติดตั้ง readme) พอร์ตซีเรียลพร้อมใช้งานและสามารถอัปโหลดไปยัง UNO ได้สำเร็จ



0
  1. สิทธิ์ในพอร์ต USB
    เป็นผู้ใช้ลินุกซ์คุณจะต้องเป็นสมาชิกของกลุ่มdialoutเพื่อให้สามารถอ่านและเขียนให้กับ/dev/tty*การเชื่อมต่อ
    ดังนั้นการเชื่อมต่อที่เขียนได้ทั่วโลกหรือใช้ Arduino IDE เนื่องจากรูทนั้นไม่ใช่วิธีที่จะไป
    มันจะเพียงพอที่จะเพิ่มผู้ใช้ของคุณไปยังกลุ่มdialoutและใหม่เข้าสู่ระบบหลังจากนั้น:

    sudo adduser *username* dialout
  2. การเชื่อมต่อ USB COM1
    Arduino IDE เขียนขึ้นใน Java แต่อาจจะยังขึ้นอยู่กับระบบปฏิบัติการ เป็นไปได้หรือไม่ที่คุณใช้แพ็กเกจ zip ของ Windows IDE บนระบบ Linux?

  3. การเชื่อมต่อ USB ทั่วไป
    เห็นได้ชัดว่าคอมพิวเตอร์ของคุณไม่รู้จักการเชื่อมต่อ USB กับ Arduino พยายามหลีกเลี่ยง USB-Hubs หรือซ็อกเก็ต USB ที่จอแสดงผลบางรุ่นมีให้ใช้เชื่อมต่อโดยตรง


0

ใน Kubuntu 18.04 แพคเกจ Arduino ให้ปัญหาที่คล้ายกัน วิธีแก้ปัญหาของฉันคือการได้รับหนึ่งจากเว็บไซต์ arduino เพียงดึงข้อมูลออกมาและสร้าง. / Arduino เพื่อเปิดใช้งาน มันใช้งานได้ดี ลาก่อนโลก

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