Tuto Raspberry Pi : Configurer le wifi et installer node.js

Ça y est, vous avez votre Raspberry Pi, Raspbian installé et une machine fonctionnelle accessible en HDMI sur votre écran préféré. Oui mais voilà, le fil, c’est pas top, et X, ça sert finalement pas à grand chose pour développer sur le Raspberry.

Dans ce tuto, nous allons voir comment supprimer la liaison HDMI et exposer le raspberry en WiFi sur votre (vos) réseau(x), afin de pouvoir s’y connecter avec un ssh <hostname>.

Puis nous verrons comment installer la version dédiée au raspberry de node.js.

Configurer le WiFi

Pour ce qui est de l’adaptateur WiFi, nous utilisons le modèle fourni par ThePiHut qui est compatible avec le Raspberry.

Au niveau de la configuration, tout se passe dans deux fichiers :

  • /etc/network/interfaces pour la définition des réseaux wifi et du mode de connexion
  • /etc/wpa_supplicant/wpa_supplicant.conf pour les infos spécifiques (SSID, mot de passe …)
/etc/network/interfaces

auto lo
iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface home inet static
address 192.168.1.249
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
wireless-power off

iface vlabs inet static
address 192.168.1.249
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
wireless-power off

Ici, nous ne touchons pas à l’interface de loopback (127.0.0.1), et nous laissons également eth0 (le cable ethernet) géré par DHCP. Ce qui nous intéresse c’est wlan0 (le WiFi).

Dans le second bloc, nous définissons l’interface WiFi en manuel, et lui spécifions un fichier à charger pour la configuration des réseaux.

Puis dans les blocs 3 & 4, nous définissons manuellement deux interfaces home et vlabs, ayant tous les deux la même configuration : même adresse IP etc …

La seule différence va se situer au niveau des SSIDS & mot de passe des réseaux, qui eux sont définis dans le prochain fichier.

/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="SSID_DE_VOTRE_DOMICILE"
    psk="MOT_DE_PASSE"
    id_str="home"
    scan_ssid=1
    priority=5
}

network={
    ssid="SSID_DE_VOTRE_SOCIETE"
    psk="MOT_DE_PASSE"
    id_str="vlabs"
    scan_ssid=1
    priority=5
}

Ici c’est simple, chaque réseau a sa propre clé id_str utilisé dans le fichier /etc/network/interfaces. Le reste parle de lui même, chaque réseau se situe dans une entrée network où on y défini le ssid et le psk.

Voilà ! Suite à ça nous pouvons débrancher notre cable ethernet + hdmi, et simplement se connecter à partir de n’importe quelle machine du réseau en ssh. L’attribution de l’IP se fera automatiquement dès le branchement du Raspberry, toujours sur 192.168.1.249.

Installer node.js

Une fois la machine indépendante et connectée à Internet, l’étape d’après pour nous a été d’installer node.js pour faire tourner nos applications. Il faut savoir qu’il existe une version spéciale de node.js pour Raspberry : la v0.10.28-linux-arm-pi à l’heure ou j’écris ces lignes.

# télécharger et décompresser node.js
wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz
tar -xvzf node-v0.10.28-linux-arm-pi.tar.gz
rm -r node-v0.10.28-linux-arm-pi.tar.gz

# déplacer les sources & créer les liens symboliques
sudo mv node-v0.10.28-linux-arm-pi /opt/node
sudo mkdir /opt/bin
sudo ln -s /opt/node/bin/* /opt/bin/

# ajouter les binaires au PATH, ajouter cette ligner à la fin du fichier `/etc/profile`
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"

# test
npm --version

# installer node-gyp pour permettre un support multiplateforme
npm install -g node-gyp

 

Et voilà, le Raspberry est maintenant connecté à Internet via WiFi, et node.js est installé et fonctionnel.

Prochaine étape, la réalisation concrète de la partie applicative de notre capteur.