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