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

  • Raspberry
  • Javascript
  • Wifi

Ç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.

comments powered by Disqus