Problem z portem szeregowym Arduino COM1

18

Kupiłem Arduino Uno i zainstalowałem Arduino IDE 1.6.5 Ale kiedy chcę przesłać skecht na tablicę Arduino, biorę ten błąd:

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

ioctl („TIOCMGET”): Niewłaściwy ioctl dla urządzenia

Używam 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

Podczas gdy Arduino jest podłączony do komputera dmesg | ogon:

    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!

Jak mogę rozwiązać ten problem?

Hakan Ormancı
źródło
dmesgKod nie zawiera informacji o podłączeniu Arduino pokładzie ... zmień go z odpowiednim jednym. Nawiasem mówiąc, poprzedzanie LANG=Cpolecenia powinno dać komunikaty o błędach w języku angielskim.
Rmano
Jak dostajesz COM1 w systemie Linux. Tak nazywa się Windows
ps95,
prakharsingh95 tak, wiem, ale nie rozumiem, dlaczego jest postrzegany jako COM1. W każdym razie w katalogu / dev nie ma nic takiego jak COMx lub ttyACMx. Są tylko tty (x) i ttyS (x).
Hakan Ormancı

Odpowiedzi:

21
  1. Podłącz swój sprzęt Arduino Otwórz Arduino IDE.
  2. Przejdź do „Narzędzia”.
  3. Idź do „Port”.
  4. Wybierz port, do którego podłączony jest Arduino. (Jeśli nie jest podłączony żaden inny dysk zewnętrzny oprócz Arduino, będzie tylko jeden port)

    To powie Arduino IDE port, do którego podłączony jest sprzęt. Następnie możesz pomyślnie przesłać szkic

kaszish
źródło
2
Jest (menu portu) wyszarzone.
Hakan Ormancı
2
@hakan spróbuj uruchomić arduino jako root. w terminalu napisz „sudo
arduino
@kasnish ​​Próbowałem, ale to nie zadziałało
Hakan Ormancı
Nie wybrałem portu, woohoo działa teraz dzięki
RegarBoy
1
jakie proste i idealne rozwiązanie !!!! Ratuj mój dzień. Wypróbowałem wiele innych poleceń w terminalu, które nie zmieniają mojego postępu. Wielkie dzięki.
Shanki Bansal
8

Jeśli uruchomisz Arduino IDE na Ubuntu (w moim przypadku Arduino 1.5.7 i Ubuntu 14.04), najprawdopodobniej nie możesz przesłać na tablicę Arduino, z powodu błędu:

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

Aby to naprawić, wpisz polecenie:

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

Gdzie jest twoja nazwa użytkownika w Ubuntu, / dev / ttyUSB0 jest wykrytym urządzeniem twojej płyty Arduino.

góra lodowa
źródło
2

Otrzymałem ten sam błąd na Ubuntu 14.04 z Arduino Uno. Dla mnie zadziałało najpierw wybranie odpowiedniego portu w Narzędzia> Port, a następnie zmiana uprawnień portu za pomocą polecenia:

sudo chmod a+rw /dev/ttyUSB0

Następnie błąd zniknął i mogłem przesłać w porządku.

bhaskarc
źródło
Miałem ten błąd, Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Permission denied. więc musiałem użyć twojej sudo chmod a+rw /dev/ttyACM0 magii, ale NIE POMÓC. Musiałem więc użyć tego polecenia, sudo adduser <username> dialouta następnie wylogować się / zalogować, aby wszystko działało
Dimitry K
1

Ten sam komunikat otrzymałem w Ubuntu 14.04 i wersji IDE 1.0.5.

Ładowanie układu FTDI D2XX Sterowniki rozwiązały problem (właśnie pobrałem i zainstalowałem plik readme). Port szeregowy był dostępny i mógł również pomyślnie przesłać do UNO.

DaveStSomeWhere
źródło
1

Zmiana ciągu pliku lib / preferences.txt z serial.port = COM1 na serial.port = / dev / ttyUSB0

Ruslan Bondarau
źródło
0
  1. Uprawnienia do portu USB
    jak Linux użytkownik musisz być członkiem grupy wybierania zewnętrznych numerów telefonów , aby móc czytać i pisać do jakichkolwiek /dev/tty*połączeń.
    Tak więc uczynienie połączenia zapisywalnym na całym świecie LUB uruchamianie Arduino IDE jako root nie jest najlepszym rozwiązaniem.
    Wystarczy dodać użytkownika do wybierania grupowego, a następnie ponownie się zalogować:

    sudo adduser *username* dialout
  2. Połączenie USB COM1
    Arduino IDE jest napisane w Javie, ale prawdopodobnie nadal zależy od systemu operacyjnego. Czy jest prawdopodobne, że używałeś pakietu zip IDE systemu Windows w systemie Linux?

  3. Ogólne połączenie USB
    Oczywiście komputer nie rozpoznał połączenia USB z Arduino. Staraj się unikać koncentratorów USB lub gniazd USB, które zapewniają niektóre wyświetlacze, użyj bezpośredniego połączenia.

jednobryłowy
źródło
0

W Kubuntu 18.04 pakiet arduino daje podobny problem. Moim obejściem było pobranie tego ze strony internetowej arduino. Po prostu wypakuj go i stwórz ./arduino, aby go uruchomić. To działa dobrze. Pa, świecie

Tom Green Engineer Aok
źródło