Aller au contenu


Information tutoriel

  • Ajouté le: mars 17 2016 10:02
  • Date Updated: mars 23 2016 10:10
  • Lectures: 3572
 


* * * * *
0 Notes

Compilation sur rPI et Upload sur arduino directement depuis le PI en ligne de commande.

Pour ne plus débrancher re-brancher ce câble USB entre le raspberry PI et l'arduino ...

Posté par Path on mars 17 2016 10:02

Testé sur un raspberry PI2B et arduino UNO.
OS Raspbian Jessie Lite à jour : apt-get update et apt-get upgrade voire un apt-get dist-upgrade.
Et comme on est sur un petit stockage, un dernier apt-get autoremove
 
Les 2 sont reliés en USB. Ils sont isolés du reste du robot. Le PI alimente l'arduino via USB.
 
post-9452-0-72697100-1458205262.png
 
Compilation
 
Pour modifier le sketch via ssh, depuis le PI vers l'arduino, sans passer par l'interface graphique (IDE)  :
 
(Préalable) Il faut installer 2 packages sur le PI :

sudo apt-get install arduino-core arduino-mk python-serial

Autoriser le user (pi) à utiliser les commandes arduino :

sudo usermod -a -G dialout pi

Pour chaque programme à uploader :
 
Il faut un répertoire dédié par programme. Il contient ces 2 fichiers : code.ino et le Makefile.
 
Par exemple, sur le PI, le contenu de ce répertoire donne :

pi@raspberrypi:~/SBR/arduino $ ls -la
total 24
drwxr-xr-x 4 pi pi 4096 mars  17 22:15 .
drwxr-xr-x 5 pi pi 4096 mars  17 17:46 ..
drwxr-xr-x 4 pi pi 4096 mars  17 22:18 build-uno
drwxr-xr-x 3 pi pi 4096 mars  17 21:43 libs
-rw-r--r-- 1 pi pi  176 mars  17 21:54 Makefile
-rw-r--r-- 1 pi pi 1697 mars  17 22:18 sbr.ino

NB. le répertoire build-uno est créé par le compilateur.
 
Code.ino (le nom importe peu mais l'extension doit être .ino) contient le code source arduino. On peut l'éditer via son éditeur de texte préféré, via ssh, via vi si on veut.

pi@raspberrypi:~/SBR/arduino $ vi sbr.ino

Makefile indique aux commandes arduino quelques paramètres. Il doit contenir ces lignes :

pi@raspberrypi:~/SBR/arduino $ cat Makefile
ARDUINO_DIR = /usr/share/arduino
BOARD_TAG = uno
ARDUINO_PORT = /dev/ttyACM*
ARDUINO_LIBS =
USER_LIB_PATH = /home/pi/SBR/arduino/libs
include /usr/share/arduino/Arduino.mk

Mon arduino est un uno , cela tombe bien. Je crois qu'il faut changer 'BOARD_TAG' si ce n'est pas le cas.
 
USER_LIB_PATH doit pointer vers le répertoire contenant vos librairies.
Par exemple, pour une lib Test.h et Test.cpp, ces 2 fichiers sont dans un sous répertoire du même nom. Chez moi : /home/pi/SBR/arduino/libs/Test/
 
 
 
Pour compiler, il faut se mettre dans le répertoire qui contient le .ino et le Makefile.
Lancer la commande make :

pi@raspberrypi:~/SBR/arduino $ make

Spoiler


Cela semble compiler ^^
 
Upload sur arduino
 
Pour uploader, toujours dans le même répertoire, lancer make upload.

pi@raspberrypi:~/SBR/arduino $ make upload

Spoiler

I thank you too Mr Duino.
 
 
Après la compilation et l'upload, comment le PI et l'arduino communiquent toujours via le câble USB, sans le débrancher : http://www.robot-mak...rduino-via-usb/
 
Tuto réalisé dans le cadre de la construction de Ash V1 : http://www.robot-mak...-robot/?p=67997