Programování Arduino Uno v Linuxu

i

Programování Arduino Uno v Linuxu
« kdy: 12. 07. 2016, 11:19:58 »
Ahoj věm,
Můžete mi někdo pomoci, nedaří se mi nahrání Testovací program dodaný s arduino-IDE do arduino-UNO takové to s MEGA8U2 na USB, Na widlých po nahrání driveru to funguje já chci ale používat linux a kdyby to šlo tak i CLI, gcc-avr a podbně.

Kód: [Vybrat]
# lsusb
....
Bus 001 Device 018: ID 2341:0001 Arduino SA Uno (CDC ACM)
....
#

# dmesg
....
[33880.036628] usb 1-1.2: new full-speed USB device number 18 using ehci-pci
[33880.130361] usb 1-1.2: New USB device found, idVendor=2341, idProduct=0001
[33880.130364] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[33880.130365] usb 1-1.2: Product: Arduino Uno
[33880.130367] usb 1-1.2: Manufacturer: Arduino (www.arduino.cc)
[33880.130368] usb 1-1.2: SerialNumber: 7493730393635161F172

« Poslední změna: 12. 07. 2016, 11:26:49 od Petr Krčmář »


Jenda

Re:Programování Arduino Uno v Linuxu
« Odpověď #1 kdy: 12. 07. 2016, 13:53:48 »
Z nějakého důvodu se ti asi nenahrály potřebné moduly (cdc_acm, usbserial…) a nevytvořilo zařízení /dev/ttyACM0. Tohle má fungovat out-of-the-box, pokud to nemáš rozbité nebo úmyslně vypnuté.

Mirek

Re:Programování Arduino Uno v Linuxu
« Odpověď #2 kdy: 12. 07. 2016, 13:54:23 »
Postupoval jsi při instalaci dle https://www.arduino.cc/en/Guide/Linux a nebo jinak?

Nobody (ten falesnej)

Re:Programování Arduino Uno v Linuxu
« Odpověď #3 kdy: 12. 07. 2016, 14:04:15 »
Z prikazove radky pak:
Kód: [Vybrat]
arduino --board arduino:avr:uno --upload /path/to/source.ino --port /dev/ttyACM0
Ale napriklad u noname klonu Nano:
Kód: [Vybrat]
arduino --board arduino:avr:nano:cpu=atmega328--upload /path/to/source.ino --port /dev/ttyUSB0
A Makefile pro surove C:

Kód: [Vybrat]
OUT = test
OBJ = $(OUT).hex
SRC = $(OUT).c
F_CPU = 16000000UL
MCU = atmega328p

CC = avr-gcc
CFLAGS = -Wall -Os -DF_CPU=$(F_CPU) -mmcu=$(MCU)

OBJCOPY = avr-objcopy
OBJFLAGS = -O ihex -R .eeprom


AVRDUDE = avrdude -F -V
PROGRAMMER = arduino
PROCESSOR = $(MCU)
PORT = /dev/ttyACM0
BAUD = 115200

upload: $(OBJ)
$(AVRDUDE) -c $(PROGRAMMER) -p $(PROCESSOR) -P $(PORT) -b $(BAUD) -U flash:w:$(OBJ)

$(OBJ): $(OUT)
$(OBJCOPY) $(OBJFLAGS) $(OUT) $(OBJ)

$(OUT): $(SRC)
$(CC) $(CFLAGS) -o $(OUT) $(SRC)

clean:
rm $(OUT) $(OBJ)

dustin

Re:Programování Arduino Uno v Linuxu
« Odpověď #4 kdy: 12. 07. 2016, 14:04:43 »
Opravdu se nevytvořilo zařízení /dev/ttyACMX, nebo jen není vidět v Arduino IDE? Druhá varianta viz https://www.arduino.cc/en/Guide/Troubleshooting

Citace
On Linux, the Uno and Mega 2560 show up as devices of the form /dev/ttyACM0. These are not supported by the standard version of the RXTX library that the Arduino software uses for serial communication. The Arduino software download for Linux includes a version of the RXTX library patched to also search for these /dev/ttyACM* devices. There's also an Ubuntu package (for 11.04) which includes support for these devices. If, however, you're using the RXTX package from your distribution, you may need to symlink from /dev/ttyACM0 to /dev/ttyUSB0 (for example) so that the serial port appears in the Arduino software.



Jenda

Re:Programování Arduino Uno v Linuxu
« Odpověď #5 kdy: 12. 07. 2016, 14:59:48 »
Opravdu se nevytvořilo zařízení /dev/ttyACMX
Vytvoření zařízení by to snad zalogovalo do dmesg.

i

Re:Programování Arduino Uno v Linuxu
« Odpověď #6 kdy: 12. 07. 2016, 23:27:38 »
Z nějakého důvodu se ti asi nenahrály potřebné moduly (cdc_acm, usbserial…) a nevytvořilo zařízení /dev/ttyACM0. Tohle má fungovat out-of-the-box, pokud to nemáš rozbité nebo úmyslně vypnuté.

Ano skutečně, stačilo

Kód: [Vybrat]
sudo modprobe cdc_acm

a vše funguje,
moc děkuji.