Je viens de recevoir (enfin) mon Raspberry Pi 2 ! C’est une belle bête, et malgré le petit bug du “flash”, j’en suis très content. Ceci dit, comme bien souvent il est dans un boîtier, ce bug n’en est pas un. Si on veut le prendre en photo, il suffit de le faire éteint.

J’ai décidé de prendre la version de Raspbian du mois de décembre : mais le Raspberry restait sans vie, juste un voyant rouge allumé, aucun signal ne venant de lui. Si vous avez ce même type de problème, il se résout simplement en installant sur la carte SD la dernière version de Raspbian, la 2015-01-31, que l’on trouve ici.

Et là, oh joie, tout marche !

Je dois bien l’avouer, ce blog me sert de pense-bête de tout ce que je fais sur mon Raspberry. Il ne faut pas oublier non plus que, un Raspberry, c’est avant tout un linux, donc ce que l’on fait sur l’un est valable aussi sur l’autre. Donc les posts de ce blog (du moins en ce qui concerne linux ) s’écrivent au fur et à mesure de ce que je veux faire : je profite de tout ce que je peux trouver, c’est donc bien normal de faire profiter à mon tour de ce que j’ai pu trouver !

Lors du dernier post, nous avons vu comment configurer en IP statique la connexion wifi. Pour une connexion ethernet, la manipulation est presque la même, sauf que cette fois-ci, on ne modifie pas l’interface wlan0, mais l’interface eth0. Je me connecte donc en ssh sur mon Raspberry Pi, et j’édite avec nano /etc/network/interfaces, enfin je repère la ligne :

iface eth0 inet dhcp

Que je modifie comme suit :

 iface eth0 inet static
 address 192.168.1.120
 netmask 255.255.255.0
 gateway 192.168.10.1

si bien sur on veut donner à notre machine l’IP 192.168.1.120. Voir encore une fois le post sur le wifi pour les explications sur les valeurs netmask et gateway.

Après avoir enregistré, il faut relancer le réseau pour que les modifications soient appliquées :

sudo /etc/init.d/networking restart

Une fois tout ceci fait, on va donner un nom à notre Raspberry. Pour cela deux méthodes : soit on passe par raspi-config, soit directement dans le fichier /etc/hosts.

Définir un nom de machine avec raspi-config

Toujours sur le Raspberry, dans le terminal, on exécute la commande :

sudo raspi-config
raspi config 1

On choisit le menu 8 : Advanced Options

raspi config 2

Puis : A2 Hostname

raspi config 3

Nous sommes prévenus de n’utiliser que des lettres majuscules et minuscules et des chiffres.

raspi config 4

On entre le nom et on valide par Entrée.

Il faut alors redémarrer les Raspberry pour que le nom d’hôte soit pris en compte.

Une fois redémarré, on se reconnecte en ssh et on constate le changement de nom de l’hôte.

Il est plus facile de se souvenir du nom d’hôte que de son adresse IP. Ainsi, lorsque je me connecte en ssh, il serait intéressant de pouvoir lancer : ssh pi@NomDuRaspberry. Pour cela il faut indiquer à notre pc le nom de notre Rasberry et son adresse IP.

Cette fois-ci, sur mon linux mint, j’ouvre une console et je lance

sudo nano /etc/hosts

Ce fichier contient, entre autre, la définition du nom de mon linux Mint, et me permet d’indiquer d’autres noms d’hôte et leur adresse IP.  On écrit dans l’ordre : Adresse IP    nom d’hôte

A la fin du fichier j’écris donc :

192.168.1.120  MonRaspberry

Si bien sur j’ai mis 192.168.1.120 comme adresse IP fixe et pour nom MonRaspberry. C’est tout l’avantage d’avoir rendu statique l’adresse IP du Raspberry. J’enregistre. Pour me connecter maintenant sur mon Raspberry en SSH, il me suffira juste d’écrire : ssh pi@MonRaspberry  pour lancer la connexion.

 

Je ne me connecte sur mon Raspberry que par ssh, vu que je n’ai pas d’écran hdmi. Mon soucis est que, puisqu’il est connecté en wifi, il me faut tout le temps chercher son IP, qui n’est jamais la même. L’idée est donc de fixer l’IP de la connexion wifi, sans passer par le serveur DHCP du routeur qui affecte une IP à la connexion. Mais comment faire ? C’est tout l’objet de ce post.

Comme toujours pour ce genre de chose : il faut y aller en ligne de commande, donc j’ai besoin d’un terminal ouvert sur mon Raspberry. je me connecte donc en ssh sur lui.

Phase un : collecte des infos

J’ai besoin pour commencer d’en savoir plus sur mon réseau. Pour cela, sur mon linux, je tape la commande suivante :

ifconfig -a

Cette commande me liste toutes les interfaces réseau ouvertes sur mon pc, et me donne par la même occasion les informations souhaitées. Sous Windowz, lancer un ipconfig -all

ip

Je m’intéresse à l’interface eth0, qui correspond à ma carte Ethernet. J’y trouve les infos nécessaires :

  • broadcast : 192.168.1.255
  • masque de sous réseau : 255.255.255.0
  • et l’adresse ip de ma machine actuelle : 192.168.1.100 (info inutile dans le cas présent)
  • il faut aussi l’IP du routeur ou de la box : dans mon cas : 192.168.1.1
  • le réseau est donc le 192.168.1.0
  • Je décide que mon Raspberry sera sur l’adresse 192.168.1.120

La configuration de l’interface réseau se trouve dans le fichier /etc/network/interfaces. Avant d’aller plus loin, il nous reste une information à obtenir pour pouvoir modifier ce fichier.

Notre réseau wifi est défini par un SSID. Si on utilise un mot de passe WPA, il faut fournir ce dernier à notre fichier de configuration sous une forme hexadécimale. Pour transformer mon mot de passe WPA en mode hexa, on exécute dans le terminal la commande suivante :

sudo wpa_passphrase MonSSID  MonMotDePasseWPA

en remplaçant bien sûr par les bonnes valeurs. La commande renvoie plusieurs infos : on ne prendra que la valeur HEX. A présent, on peut ouvrir et modifier le fichier de configuration réseau. Continuons en ligne de commande et ouvrons le avec l’éditeur nano. Il faut le lancer avec un sudo, sinon, il ne sera pas possible de l’enregistrer une fois modifié.

sudo nano /etc/network/interfaces

Je recherche ensuite les lignes qui concernent la wifi, c’est à dire : wlan0. Pour conserver les valeurs par défaut de ce fichier au cas où on voudrait y revenir, le plus simple sera de mettre les infos en commentaire (en préfixant les lignes avec le signe #), puis d’écrire la nouvelle configuration.

Je commente les lignes qui concernent l’interface wlan0

# allow-hotplug wlan0
# iface wlan0 inet manual
# wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
# iface default inet dhcp

 

J’écris les nouvelles valeurs

auto wlan0
iface wlan0 inet static
address 192.168.1.120
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
wpa-ssid MonSSID
wpa-psk xxxxxxxxxxxxxxx

xxxxxxxxxxxxxxx est la forme hexadécimale du mot de passe wifi que m’a donnée la commande précédente. Puis j’enregistre avec CTRL+ o , et je quitte avec CTRL + x

Il ne me reste qu’a redémarrer le Raspberry. Ce que je peux faire en mode terminal en écrivant :

sudo shutdown -r 0

Le Rapsberry redémarre et se connecte automatiquement sur mon réseau par la wifi, et avec l’IP 192.168.1.120. C’est gagné !

 

 

Ce post reprend ce que j’ai déjà pu dire sur la mise à jour du système Raspbian, mais en centralisant les informations. Ce qui sera l’occasion de parler de apt-get et d’en préciser d’autres options intéressantes.

Mettre à jour les paquets

Pour mettre à jour notre système, il faut tout d’abord commencer par mettre à jour la liste des paquets :

sudo apt-get update

Puis, on demande la mise à jour des paquets installés sur la machine :

sudo apt-get upgrade

Les paquets installés sur le système sont archivés dans un répertoire(/var/cache/apt/archives). Donc à chaque mise a jour, ce répertoire grandit. On peut faire le tri et purger ce répertoire, ce qui évite de prendre de la place inutile sur la carte SD. Pour cela :

sudo apt-get clean

Cette commande supprime tous les paquets téléchargés, mais ne les désinstalle pas. On peut aussi vouloir conserver les dernières versions des paquets et supprimer les autres. Pour cela :

sudo apt-get autoclean

Pour mettre à niveua la distribution :

sudo apt-get dist-upgrade

Installer un paquet

Pour installer un paquet, si on en connaît le nom :

sudo apt-get install LeNomDuPaquetAInstaller

Bien sur, cela ne fonctionne que si le paquet existe dans les dépôts. Sinon, impossible par cette méthode.

Bien que le cas soit rare, il arrive parfois que l’installation se passe mal, et qu’une dépendance ne soit pas installée (pour les néophytes : un programme en nécessite parfois d’autres pour fonctionner, on les appelle alors des dépendances. l’ensemble doit être installé). Dans ce cas, on répare avec :

sudo apt-get install -f

Supprimer un paquet

Pour désinstaller un paquet :

sudo apt-get remove LeNomDuPaquetASupprimer

La désinstallation d’un paquet ne supprime pas ses dépendances. Pour supprimer le paquet ainsi que ses dépendances :

sudo apt-get autoremove LeNomDuPaquetASupprimer

Pour supprimer un paquet ainsi que ses fichiers de configuration :

sudo apt-get purge LeNomDuPaquetASupprimer

Pour supprimer, le paquet, les dépendances et les fichiers de configuration :

sudo apt-get autoremove --purge LeNomDuPaquetASupprimer

Mettre à jour le kernel et le firmware

Il est possible de mettre à jour le noyau système de la Raspbian, ainsi que le firmware. Pour cela, après avoir fait un update et un upgrade, lancer :

sudo rpi-update

Il faut ensuite rebooter la Raspberry.

 

Ce matin le site raspberrypi.org annonçait la sortie d’une nouvelle carte : la Rapsberry Pi 2.

Cette carte est au même format que la Raspberry Pi B+, donc les boîtiers seront compatibles : même connectique, même taille, même nombre de broches. Seuls changent les caractéristiques techniques :

  • processeur ARM cortex A7 quadricore à 800 Mhz
  • 1 go de mémoire vive SDRAM (le double de la B+)
  • pas de changement au niveua du GPU
  • toujours 4 USB2, Ethernet, HDMI, et micro SD pour le disque système

D’après la fondation Raspberry, il serait possible d’y faire tourner un window 10 (honnêtement quel intérêt ?), et les distributions Linux ARM.

Tout cela pour le même pris que la B+, soit 35$, ce qui convertit en euros donnerait 40 €. On m’expliquera le taux de change : deja que quand ils arrivent en Europe, les $ deviennent des €, mais la en plus c’est plus cher.

Raspi2