Nous avons déjà vu comment installer un système d’exploitation Linux sur la carte Raspberry Pi, avec les spécificités de son processeur ARM.
Nous avons vu comment nous connecter via SSH. On peut donc avoir un terminal de commande et lancer des programmes, voire télécharger depuis Internet (avec la commande wget, régulièrement utilisée dans nos tutoriaux).
Pour les besoins d’une cross-compilation entre un PC (avec l’environnement Processing) et la Raspberry Pi, nous avons besoin d’envoyer nos fichiers sans passer par Internet. Cette astuce peut vous être utile dans d’autres cas, dès que vous avez un accès SSH : beaucoup ne la connaissent pas et perdent du temps à installer un serveur FTP. En fait, il existe un protocole de transfert basé sur SSH, c’est SFTP.
Identifier la Raspberry Pi sur le réseau local
Il faut tout d’abord identifier sur quelle interface réseau la carte Raspberry Pi va être visible : si vous disposez d’une connexion filaire et d’une connexion WIFI, votre machine de développement va avoir deux interfaces différentes, avec deux plages d’IP différentes.
Voici ce que me répond mon système GNU/Linux lorsque je l’interroge (en simplifiant la sortie) :
atelier@ubuntu:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1f:16:72:99:e7
inet adr:10.42.0.1 Bcast:10.42.0.255 Masque:255.255.255.0
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
wlan0 Link encap:Ethernet HWaddr 00:24:2b:92:ae:46
inet adr:192.168.0.11 Bcast:192.168.0.255 Masque:255.255.255.0
Il y a donc trois interfaces (eth0, lo, wlan0) et trois IP. On peut déjà écarter lo (le localhost). Comme j’ai relié un câble Ethernet entre ma carte Raspberry Pi et la machine de développement, c’est eth0 qui va être utilisée.
Ne connaissant pas l’adresse IP donnée automatiquement à la Raspberry Pi, je dois faire une recherche :
atelier@ubuntu:~$ nmap 10.42.0.1/24
Starting Nmap 5.21 ( http://nmap.org ) at 2012-07-08 22:14 CEST
Nmap scan report for 10.42.0.1
Host is up (0.00087s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
53/tcp open domain
3689/tcp open rendezvous
Nmap scan report for 10.42.0.77
Host is up (0.0047s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.73 seconds
Moins de trois secondes plus tard, je vois que ma RPi est connectée sur l’IP 10.42.0.77 et que le port 22 (SSH) est bien ouvert.
Connexion via SFTP
La plupart des récents logiciels de transfert de fichiers supportent le protocole SFTP. C’est le cas de FileZilla, l’un des plus célèbres et pour moi le plus simple.
Dans la liste des connexions existantes (que je ne vous montrerai pas, on se fait déjà assez hacker notre serveur web comme ça...), je rajoute une connexion en précisant l’IP que je viens de déterminer, le port 22, le protocole SFTP, mon nom d’utilisateur et mon mot de passe (ceux que j’utilise déjà pour une connexion SSH standard).
Et voilà, un clic de connexion plus tard, tous les fichiers de la RPi sont visibles, et on peut envoyer tous nos programmes dessus.
Vos commentaires
# Le 5 octobre 2012 à 15:47, par Grég En réponse à : je ne connaissez pas c’est de la bombe !
Vraiment vraiment vraiment bien ! :p
Merci julien !
Répondre à ce message
# Le 10 juillet 2012 à 15:20, par laurentBa En réponse à : Envoyer des fichiers sur la Raspberry Pi avec SFTP
sinon on peut aussi utiliser scp fourni avec openssh. exemple : scp mon_fichier rpi@192.168.1.69 :./destination/.
c’est tres pratique.
Répondre à ce message