Unggah ke Arduino dari baris perintah

8

Jika saya memiliki sketsa yang dikompilasi ke hex, apakah mungkin untuk mengunggah sketsa ini ke papan Arduino menggunakan avrdude langsung dari baris perintah?

Pekkaa menemukan bahwa arduino ide menjalankan perintah berikut saat mengunggah sketsa:

./hardware/tools/avrdude -Chardware/tools/avrdude.conf -pm328p -cstk500v1 -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/home/pekka/sketchbook/Blink2/applet/Blink2.hex 
littlebirdceo
sumber

Jawaban:

5

IDE Arduino me-reset Arduino terlampir sebelum menjalankan avrdude. Ia melakukan ini dengan memberi tahu perangkat FTDI untuk mengirim pulsa ke garis DTR yang terpasang pada pin reset arduino. Pekkaa menemukan contoh kode perl yang melakukan ini dan memperbarui utas di forum Arduino.

Untuk kelengkapan di sini adalah perintah yang mereka gunakan untuk mengunggah file .hex:

perl -MDevice::SerialPort -e 'Device::SerialPort->new("/dev/ttyUSB0")->pulse_dtr_on(1000)'; \
./hardware/tools/avrdude -Chardware/tools/avrdude.conf -q -q -pm328p -cstk500v1 -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/home/pekka/sketchbook/Blink2/applet/Blink2.hex;

Ada juga skrip python untuk mengatur ulang arduinos yang dapat digunakan sebagai pengganti perl jika Anda mengalami kesulitan membuatnya arduinos berfungsi di sistem Anda.

Adam
sumber
URL yang benar untuk kode python dari University of Kent: projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/…
Dave
Intergasikan saran Anda ke dalam jawaban @ Adam; itu akan segera diperbarui. Terima kasih!
boardbite
IIRC dapat Anda lakukan menyelesaikan reset menggunakan stty tanpa perlu python atau perl.
Chris Stratton