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.
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
Cela semble compiler ^^
Upload sur arduino
Pour uploader, toujours dans le même répertoire, lancer make upload.
pi@raspberrypi:~/SBR/arduino $ make upload
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
- Mike118 aime ceci