Télécharger sur un Arduino à partir de la ligne de commande

8

Si j'ai un croquis compilé en hexadécimal, est-il possible de télécharger ce croquis sur une carte Arduino en utilisant avrdude directement depuis la ligne de commande?

Pekkaa a compris que arduino ide exécute la commande suivante lors du téléchargement du croquis:

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

Réponses:

5

L'EDI arduino réinitialise l'arduino attaché avant d'exécuter avrdude. Pour ce faire, il indique au dispositif FTDI de pulser la ligne DTR qui est attachée à la broche de réinitialisation de l'arduino. Pekkaa a trouvé l'exemple de code perl qui fait cela et a mis à jour le fil sur les forums Arduino.

Pour être complet, voici la commande qu'ils ont utilisée pour télécharger le fichier .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;

Il existe également un script python pour réinitialiser les Arduinos qui peut être utilisé à la place de Perl si vous avez du mal à le faire fonctionner sur votre système.

Adam
la source
URL correcte pour le code python de l'Université de Kent: projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/…
Dave
Intégré votre suggestion dans la réponse de @ Adam; il sera mis à jour prochainement. Merci!
boardbite
IIRC vous pouvez effectuer la réinitialisation en utilisant stty sans avoir besoin de python ou de perl.
Chris Stratton