reklama

Arduino - Serial Monitor

ZAJDAN

  • *****
  • 1 760
    • Zobrazit profil
    • E-mail
Arduino - Serial Monitor
« kdy: 19. 11. 2018, 16:25:33 »
Ahoj,
začínám experimentovat s Arduinem, které jsem k počítači připojil přes USB:
Kód: [Vybrat]
# ls -l /dev/ttyACM*
crw-rw---- 1 root dialout 166, 3 Nov 19 15:58 /dev/ttyACM3
k psaní a nahrání kódu používám Arduino 2:1.0.5 (Debian)

1) všiml jsem si, že každým uploadnutím kódu inkrementalne narustá /dev/tty/ACM3 , /dev/tty/ACM4. /dev/tty/ACM5, /dev/tty/ACM6.....
je to běžné?

2) i když použiju originální šablonu pro nějaký modul, uploadnu ji a chci se podívat přes konzoli zda maká, co vypisuje....Serial Monitor je stále prázdnej
musím tty dodatečně nakonfigurovat?
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

reklama


Re:Arduino - Serial Monitor
« Odpověď #1 kdy: 19. 11. 2018, 17:29:32 »
S arduinom som uz dlhsie nerobil, ale:

1. neviem
2. nic som dodatocne nekonfiguroval.
Serial.begin(9600);
Serial.println(premenna);
 

a fungovalo.
Pripadne checkni co Ti pise dmesg, niekedy sa stalo ze sa mi arduino "zaseklo".

ZAJDAN

  • *****
  • 1 760
    • Zobrazit profil
    • E-mail
Re:Arduino - Serial Monitor
« Odpověď #2 kdy: 19. 11. 2018, 17:33:13 »
a fungovalo.
Pripadne checkni co Ti pise dmesg, niekedy sa stalo ze sa mi arduino "zaseklo".
problém je ten,že každým uploadem se přečísluje /dev/ttyACM
kód jsem uploadnul ve stavu, kdy /dev/ttyACM bylo /dev/ttyACM0
po uloadu se změnilo na /dev/ttyACM1 a tak stále dokola
proto je hluchej ten Serial Monitor
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

dustin

Re:Arduino - Serial Monitor
« Odpověď #3 kdy: 19. 11. 2018, 17:43:46 »
Když se ti změní název zařízení, logicky musíš změnit jeho nastavení v arduino IDE, aby jej serial monitor použil.

Lze nastavit pravidlo do udevu, aby byl název fixní.

ZAJDAN

  • *****
  • 1 760
    • Zobrazit profil
    • E-mail
Re:Arduino - Serial Monitor
« Odpověď #4 kdy: 19. 11. 2018, 17:53:47 »
Když se ti změní název zařízení, logicky musíš změnit jeho nastavení v arduino IDE, aby jej serial monitor použil.

Lze nastavit pravidlo do udevu, aby byl název fixní.
ano, to jsem udělal,
uploadnu kod -> kliknu Serial Monitor -> Serial port '/dev/ttyACM10' not found. Did you select the right one from the Tools > Serial Port menu?
jdu tedy do Tools->Serial Port ->zvolim /dev/ttyACM11
spustím Serial Monitor a nic se neděje
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj


ZAJDAN

  • *****
  • 1 760
    • Zobrazit profil
    • E-mail
Re:Arduino - Serial Monitor
« Odpověď #5 kdy: 19. 11. 2018, 18:20:43 »
pro testování jsem teď zkusil primitiv:
Kód: [Vybrat]
void setup() {
  Serial.begin(9600);
  Serial.println("Hello World");
}

void loop() {
  Serial.println(" Hello World ");
  delay(2000);
 
}
ale, serial monitor je stale hluchej
« Poslední změna: 19. 11. 2018, 18:22:23 od ZAJDAN »
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

Jenda

Re:Arduino - Serial Monitor
« Odpověď #6 kdy: 19. 11. 2018, 19:13:06 »
Když se ti změní název zařízení, logicky musíš změnit jeho nastavení v arduino IDE, aby jej serial monitor použil.

Lze nastavit pravidlo do udevu, aby byl název fixní.

Sériák by se vůbec neměl při uploadování reinicializovat pokud to není Arduino Leonardo. Tohle vypadá na nějaký HW problém (napájení?), vypiš si dmesg kde je ta reinicializace vidět.

jm

Re:Arduino - Serial Monitor
« Odpověď #7 kdy: 19. 11. 2018, 19:20:28 »
Co vím z Windows, tak serial port z Arduina je "hluchý" dokud se správně nenastaví RTS/CTS piny (i když je to VCP).

ZAJDAN

  • *****
  • 1 760
    • Zobrazit profil
    • E-mail
Re:Arduino - Serial Monitor
« Odpověď #8 kdy: 19. 11. 2018, 19:28:18 »
Sériák by se vůbec neměl při uploadování reinicializovat pokud to není Arduino Leonardo. Tohle vypadá na nějaký HW problém (napájení?), vypiš si dmesg kde je ta reinicializace vidět.
je to Leonardo
kus z dmesg:
Kód: [Vybrat]
[13209.043772] usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[13209.043775] usb 5-2: Product: Arduino Leonardo
[13209.043778] usb 5-2: Manufacturer: Arduino LLC
[13209.045788] cdc_acm 5-2:1.0: This device cannot do calls on its own. It is not a modem.
[13209.045812] cdc_acm 5-2:1.0: ttyACM17: USB ACM device
[13569.686572] usb 5-2: USB disconnect, device number 23
[13578.794418] usb 5-2: new full-speed USB device number 24 using uhci_hcd
[13578.973481] usb 5-2: New USB device found, idVendor=2341, idProduct=8036
[13578.973487] usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[13578.973490] usb 5-2: Product: Arduino Leonardo
[13578.973493] usb 5-2: Manufacturer: Arduino LLC
[13578.976565] cdc_acm 5-2:1.0: This device cannot do calls on its own. It is not a modem.
[13578.976590] cdc_acm 5-2:1.0: ttyACM17: USB ACM device
[13624.247746] usb 5-2: USB disconnect, device number 24
[13629.103621] usb 5-2: new full-speed USB device number 25 using uhci_hcd
[13629.282678] usb 5-2: New USB device found, idVendor=2341, idProduct=8036
[13629.282684] usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[13629.282687] usb 5-2: Product: Arduino Leonardo
[13629.282691] usb 5-2: Manufacturer: Arduino LLC
[13629.284744] cdc_acm 5-2:1.0: This device cannot do calls on its own. It is not a modem.
[13629.284769] cdc_acm 5-2:1.0: ttyACM17: USB ACM device
[13920.862855] usb 5-2: USB disconnect, device number 25
[13926.830665] usb 5-2: new full-speed USB device number 26 using uhci_hcd
[13927.013768] usb 5-2: New USB device found, idVendor=2341, idProduct=8036
[13927.013774] usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[13927.013778] usb 5-2: Product: Arduino Leonardo
[13927.013781] usb 5-2: Manufacturer: Arduino LLC
[13927.015853] cdc_acm 5-2:1.0: This device cannot do calls on its own. It is not a modem.
[13927.015877] cdc_acm 5-2:1.0: ttyACM17: USB ACM device
[14124.411355] usb 5-2: reset full-speed USB device number 26 using uhci_hcd
[14124.559863] cdc_acm 5-2:1.0: This device cannot do calls on its own. It is not a modem.
[14124.559893] cdc_acm 5-2:1.0: ttyACM17: USB ACM device
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

ZAJDAN

  • *****
  • 1 760
    • Zobrazit profil
    • E-mail
Re:Arduino - Serial Monitor
« Odpověď #9 kdy: 19. 11. 2018, 19:32:43 »
zkusil jsem to na virtual Windows7 a pri verbose modu vidim:
Kód: [Vybrat]
Found upload port: COM3
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -PCOM3 -b57600 -D -Uflash:w:C:\Users\ZDENEK~1.ERK\AppData\Local\Temp\arduino_build_552769/sketch_nov19a.ino.hex:i

avrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding
Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding
hmmmm
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

dustin

Re:Arduino - Serial Monitor
« Odpověď #10 kdy: 19. 11. 2018, 20:57:31 »
Sériák by se vůbec neměl při uploadování reinicializovat pokud to není Arduino Leonardo.

CDC device (ACM) se mi objevilo vždy jen u Leonarda, takže to je - jak již bylo potvrzeno.

TechnikTom

Re:Arduino - Serial Monitor
« Odpověď #11 kdy: 19. 11. 2018, 21:10:09 »
Vypadá to, jako by se po nahrání odpojil a znovu připojil nebo nějak reinicializoval.
Mě se pouze po odpojení kabelu a opětném připojení  náhodně připojuje jako ttyUSB0 nebo ttyUSB1 ( Lubuntu ).
Možná by i ve vašem případě pomohlo tohle řešení:

https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name


ZAJDAN

  • *****
  • 1 760
    • Zobrazit profil
    • E-mail
Re:Arduino - Serial Monitor
« Odpověď #12 kdy: 19. 11. 2018, 22:33:00 »
To ze ma Leonardo problém se píše na mnoho webech. Docitam se ze někomu pomohlo zmáčknout během uploadu reset.
https://stackoverflow.com/questions/49283074/arduino-leonardo-avrdude-butterfly-recv-programmer-is-not-responding
« Poslední změna: 19. 11. 2018, 22:40:20 od ZAJDAN »
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

David

Re:Arduino - Serial Monitor
« Odpověď #13 kdy: 19. 11. 2018, 23:58:46 »
Když se ti změní název zařízení, logicky musíš změnit jeho nastavení v arduino IDE, aby jej serial monitor použil.

Lze nastavit pravidlo do udevu, aby byl název fixní.
ano, to jsem udělal,
uploadnu kod -> kliknu Serial Monitor -> Serial port '/dev/ttyACM10' not found. Did you select the right one from the Tools > Serial Port menu?
jdu tedy do Tools->Serial Port ->zvolim /dev/ttyACM11
spustím Serial Monitor a nic se neděje
Z toho jsem pochopil, ze se ti dev stale meni.

Ja v udevu mam
Kód: [Vybrat]
## Arduino
# QinHeng Electronics HL-340 USB-Serial adapter
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", \
 PROGRAM="/usr/bin/whoami", SYMLINK+="ttyUSB99Arduino", MODE:="0666", OWNER="%c", GROUP="USBdev"
takze serial monitor povesim na /dev/ttyUSB99Arduino a cislo /dev/ttyACM je mi jedno :-)

Bugs

Re:Arduino - Serial Monitor
« Odpověď #14 kdy: 20. 11. 2018, 06:32:25 »
U Leonarda se musí v setup() počkat na inicializaci Serialu. U ostatních Arduin ne.

Kód: [Vybrat]
void setup()
{
   Serial.begin(9600);
   while (!Serial) {}
}

void loop()
{
   ....
}

 

reklama