Lorsque je travaille sur mon Raspberry depuis mon pc, j’aime avoir au moins deux terminaux ouverts en même temps : un sur mon pc et un autre où je lance une connexion ssh sur le Rapsberry (voir par ici un article précédent sur la connexion SSH sur le Raspberry).

Mais dans ce cas je dois avoir en permanence deux fenêtres ouvertes. Terminator est un terminal virtuel qui permet de scinder sa fenêtre en deux ou plus, chacune devenant un terminal indépendant. Pour l’installer :

sudo apt-get install terminator

Une fois lancé, il suffit de faire un clic droit dans la fenêtre pour scinder celle-ci horizontalement ou verticalement. On clique ensuite dans la sous-fenêtre pour activer celle-ci. Et on peut bien sur la scinder à son tour par la même méthode. On repère la sous-fenêtre active par sa barre de titre rouge.

terminator

On peut aussi contrôler les sous-fenêtre par des raccourcis :

  • CTRL+SHIFT+E  : scinder la fenêtre verticalement
  • CTRL+SHIFT+O : scinder la fenêtre horizontalement
  • CTRL+TAB: déplacer le curseur dans la fenêtre suivante
  • CTRL+SHIFT+TAB: déplacer le curseur dans la fenêtre précédente
  • CTRL+SHIFT+W : fermer la fenêtre courante

 

Cet article est la suite du précédent : comment installer Raspbian sans écran

Notre système est installé, on peut maintenant tenter de le démarrer. Vérifiez que le Raspberry Pi est bien connecté sur un cable Ethernet relié à votre réseau (box, routeur, …).

La nouvelle version de Raspbian active par défaut le SSH sur le Raspberry, ce qui est une bonne chose car cela aurait été sans cela beaucoup plus difficile.

Pour démarrer le Raspberry, il suffit de lui brancher son alimentation et d’attendre une minute pour que le système soit prêt. A partir d’ici nous allons travailler dans un terminal pour exécuter des commandes. Ouvrez donc une fenêtre terminal. Je rappelle que je suis sous Linux Mint, et donc tout ce qui suit décrit ce qu’il faut faire en étant sous linux.

La plupart des commandes se font directement en mode console, mais certaines doivent être précédées de sudo, car elles demandent des droits administrateurs pour être exécutées.

Il faut à ce stade connaître l’adresse IP du Rapsberry Pi. Plusieurs méthodes pour cela.

  1. Vous avez un routeur, et vous pouvez lire la table DHCP de ce dernier : elle vous donnera la liste des ordinateurs connectés et leur IP.
  2. Vous avez une tablette sous Android connectée à votre réseau local, installer Fing et scanner votre réseau. Il vous donnera la liste des machines connectées ainsi que leur IP, leur adresse MAC, et vous permettra aussi de connaître les services actifs sur chacune d’elles.
  3. Vous n’en savez rien du tout, il va falloir se remonter les manches. Nous allons nous mettre dans le pire des cas : celui-ci.

Trouver l’adresse IP de votre Raspberry

Pour cela nous allons utiliser nmap. nmap permet (entre autre) de scanner un réseau pour y détecter les machines présentes, les ports ouverts. On commence par installer nmap si ce n’est déjà fait. Dans la console, lancez la commande :

sudo apt-get install nmap

Une fois installé, on va scanner son réseau local. Tout d’abord, connaître l’IP du pc sur lequel on travaille. Pour cela :

ifconfig

Exemple de réponse de la commande :

 eth0      Link encap:Ethernet  HWaddr XXXXXXXXXXXXX
          inet adr:192.168.1.60  Bcast:192.168.1.255  Masque:255.255.255.0

L’adresse IP de ma machine est donc 192.168.1.60, ce qui veut dire que mon Raspberry sera sur une adresse en 192.168.1.xxx. Il me faut donc scanner ce réseau : 192.168.0.0/24.

Je lance nmap par la commande suivante :

sudo nmap -O 192.168.1.0/24

Le résultat est un peu long, en voici un morceau choisi :

Nmap scan report for 192.168.1.100
Host is up (0.0096s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: xxxxxxxxxxxxxxxxxxxxxx
No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).

Donc je connais l’adresse IP du Raspberry : 192.168.1.100. De plus je peux voir aussi que le service ssh est ouvert, ce qui va me permettre de me connecter. Allons-y.

Lancer une connexion SSH

Si on n’a pas modifié les paramètres par défaut à l’installation, le nom d’utilisateur est pi et le mot de passe raspberry. SSH permet de se connecter sur un ordinateur distant, en cryptant les données, et d’exécuter des commandes sur ce pc.

Il suffit d’écrire : ssh nom_utilisateur@ip-de-la-machine. Donc :

ssh pi@192.168.1.100

Là je reçois la demande de mot de passe :

pi@192.168.1.101's password:

On écrit donc raspberry. Le texte ne s’affiche pas ce qui est tout à fait normal. On valide, on reçoit alors à la première connexion une demande d’autorisation de clé. Ce sont les clés de cryptage du SSH. On accepte et nous voila connecté sur la Raspberry :

Linux raspberrypi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
pi@raspberrypi ~ $

La dernière ligne, le prompt, nous montre bien que nous ne sommes plus sur la console de notre pc mais sur celle du Raspberry. C’est gagné !

Mettre à jour le système

Première chose à faire : mettre à jour la Raspbian. C’est une bonne chose à faire que de maintenir son système à jour. Les commandes qui suivent pourront donc être lancées de temps en temps pour faire une mise à jour.

On commence par rafraîchir la listes des packets existants, ce qui permettra au Raspberry, par comparaison de version de savoir ceux qui ont besoin d’une mise à jour.

sudo apt-get update

Puis, on lance la mise à jour. Il nous donne la liste des packets à actualiser, on répond oui et on laisse faire.

sudo apt-get upgrade

Mettre en place une connexion VNC

Peut être avez-vous maintenant envie de voir tourner le Raspberry comme si vous étiez devant un écran et de l’utiliser comme tel. Oui mais, comme moi, vous n’avez pas d’écran. Qu’à cela ne tienne, on va installer un serveur VNC sur le Raspberry, ce qui nous permettra une prise en main distante. Pour cela, installons tightvncserver :

sudo apt-get install tightvncserver

Ensuite, on lance le serveur vnc par la commande :

vncserver :1

Lors du premier lancement, on vous demandera un mot de passe qui sera celui du serveur VNC. Mettez donc le mot de passe souhaité. (note : le “:1” signifie qu’on lance le vnc et qu’on créer une instance qui écoutera sur “1”. Il est possible donc d’en lancer plusieurs, sur d’autres valeurs bien sur).

Le serveur VNC tourne, essayons de nous connecter en mode graphique. J’ouvre une deuxième console sous Linux, la première servant au SSH. Il me faut un client VNC pour me connecter. Si je n’en ai pas déjà un, je vais installer xtightvncviewer

apt-get install xtightvncviewer

Ensuite je me connecte en précisant l’ip de mon Rapsberry, et le canal du serveur VNC :

xtightvncviewer 192.168.1.100:1

Je donne le mot de passe et…. me voila connecté à distance sur mon Raspberry !

vnc

Quand j’ai terminé, je ferme la fenêtre. Il est temps d’éteindre le Raspberry. Je repasse sur la console SSH et je lance la commande d’extinction des feux :

sudo shutdown -h 0

Un premier message me confirme que le Raspbery va s’éteindre :

Broadcast message from root@raspberrypi (pts/0) (Wed Aug 13 19:25:59 2014):
The system is going down for system halt NOW!

Un dernier que la connexion SSH est fermée (car le système est éteint). Je peux alors débrancher l’alimentation du Raspberry.

Connection to 192.168.1.100 closed by remote host.
Connection to 192.168.1.100 closed.

C’est tout pour aujourd’hui.

 

raspberrypibplusPremier problème pour moi avec mon Raspberry Pi : je n’ai pas de moniteur HDMI, alors comment faire pour utiliser cette petite merveille sans avoir de moniteur ?

Je travaille sur une Linux Mint, donc dans les tutos qui vont suivre, j’expliquerais les différentes étapes qui m’ont permis de faire tourner mon Raspberry en partant de mon Linux.

Donc première étape : installer un système d’exploitation sur le Raspberry Pi sans avoir d’écran.

Pour cela, j’ai utilisé la distribution NOOBS, récupérée sur le site officiel de Raspberry Pi. NOOBS (New Out Of the Box Software) permet de choisir entre différentes distributions : on lance le Raspberry Pi, et dans le menu qui apparaît, on sélectionne celle que l’on veut. Mon choix se porte sur la distribution Raspbian, basé sur Debian.

Mon objectif : réaliser cette installation en aveugle, n’ayant aucun moniteur à mettre sur mon Rapsberry.

Etape 1 : préparer la distribution

On télécharge donc NOOBS que l’on récupère sous la forme d’une archive zip. On commence par la dézipper, ce qui crée un répertoire /NOOBS_v1_3_9.

  • Aller dans le répertoire /NOOBS_v1_3_9/OS et supprimer tout les dossiers sauf Raspbian qui contient la distribution à installer.
  • Dans /NOOBS_v1_3_9/OS/Raspbian : éditer le fichier flavours.json

Avant :

{
  "flavours": [
    {
      "name": "Raspbian - Boot to Scratch",
      "description": "A version of Raspbian that boots straight into Scratch",
      "feature_level": 123900
    },
    {
      "name": "Raspbian",
      "description": "A Debian wheezy port, optimised for the Raspberry Pi",
      "feature_level": 123900
    }  
  ]
}

Après modifications :

{
  "flavours": [
    {
      "name": "Raspbian",
      "description": "A Debian wheezy port, optimised for the Raspberry Pi",
      "feature_level": 123900
    }  
  ]
}
  • On revient dans le répertoire racine pour éditer le fichier /NOOBS_v1_3_9/recovery.cmdline. On ajoute à la fin de la ligne de commande les valeurs  silentinstall lang=fr keyboard=fr. silentinstall permettra de lancer l’installation automatiquement sans avoir à passer par le menu. Les deux autres options définissent la langue utilisateur et le clavier sur français.

Avant :

 runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline

Après ajouts :

 runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall lang=fr keyboard=fr

Par défaut, l’utilisateur se nomme pi et le mot de passe est raspberry. On peut changer cela si on le souhaite lors de l’installation en éditant le fichier /NOOBS_v1_3_9/os/Raspbian/os.json. On modifie pour cela les valeurs suivantes :

"username": "pi",
"password": "raspberry"

Étape 2 : copier sur la carte SD

Une fois les modifications faites, on copie le contenu du répertoire NOOBS_v1_3_9 à la racine de la carte SD. Celle-si aura été formatée en FAT32.

Sous Linux Mint, cette action se fait rapidement avec le formateur de clé USB (Logiciels > Accessoires > Formateurs de clé USB)

Bien vérifier que les modifications des fichiers n’ont pas généré de fichiers cachés de sauvegarde (cela dépend de la configuration du logiciel utilisé) : sous Linux, un petit CTRL+H dans l’explorateur de fichiers fait apparaître tous les fichiers. Si on en trouve, les supprimer.

 

Étape 3 : en avant !

Insérer la carte micro-SD dans le Raspberry, connecter un câble Ethernet (cela permettra au système de détecter la connexion réseau et de configurer le SSH) et brancher le câble d’alimentation, ce qui fera démarrer le Raspberry.

Ensuite il faut attendre environ 1h30, le temps que le système s’installe. On ne voit rien mais la machine travaille. Une fois le temps écoulé, le système est installé, on peut alors débrancher l’alimentation.

Notre Raspberry est prêt pour une première utilisation.

La suite : je me connecte en ssh sur mon Raspberry et j’installe un VNC.

 

Et voilà, je viens de recevoir mon Raspberry Pi, modèle B+, le petit dernier.

Le Raspberry Pi est un mini ordinateur de la taille d’une carte de crédit, un peu plus épais quand même, on dira de la taille d’une cassette audio.

raspberrypibplus2

Il est équipé de : 4 USB, 1 port Ethernet, une sortie audio mini-jack, une sortie HDMI pour la vidéo, une entrée mini-usb pour l’alimentation, et une micro SD pour installer le système d’exploitation, et pour finir, un GPIO de 40 broches, qui permettra de connecter le Raspberry à des montages électroniques et de les piloter par des programmes en Python.

Le processeur est de 700 Mhz et il possède 512 Mo de SDRAM.

Au fil des différents articles qui suivront, toutes mes découvertes sur l’utilisation de ce petit appareil fort sympathique, étapes par étapes.

 

Quelques liens :