Dans ce guide rapide, je vais vous montrer les étapes essentielles pour préparer un Raspberry Pi Zero à être utilisé avec le système d’automatisation et de domotique Jeedom. Vous apprendrez comment flasher Raspbian Lite sur une carte SD à l’aide d’un PC Windows, configurer le Wi-Fi et SSH avant le premier démarrage, et effectuer quelques réglages pour obtenir une configuration robuste et sans écran.
L’installation de Jeedom n’est pas abordée ici, mais vous trouverez une procédure complète pour la restauration et la migration de Jeedom dans cet article connexe.
Ce qui est nécessaire
Vous aurez besoin de :
- Un Raspberry Pi Zero W
- Une carte SD (16 Go recommandés, mais une capacité inférieure convient également)
- Une alimentation USB de 1,5 A (au minimum)
- Un ordinateur Windows pour télécharger et graver l’image Raspbian sur la carte SD.
Obtenir l’image Raspbian
Téléchargez et installez Win32 Disk Imager, puis téléchargez Raspbian Lite (sans interface graphique pour une configuration plus légère et sans écran).
Décompressez le fichier image Raspbian dans un emplacement facile à retrouver.
Ouvrez Win32 Disk Imager, sélectionnez votre image Raspbian décompressée à l’aide du bouton « Image file » (Fichier image), puis choisissez votre carte SD sous « Device » (Périphérique). Vérifiez que vous avez sélectionné le bon lecteur, car toutes les données qu’il contient seront effacées. Enfin, cliquez sur « Write » (Écrire) et profitez d’un café pendant que l’opération se termine.

Une fois l’opération terminée, une fenêtre Windows vous demandant de formater un disque apparaîtra. Ceci est normal, car l’un des deux systèmes de fichiers enregistrés sur la carte SD n’est pas reconnu par Windows, puisqu’il s’agit d’une partition Linux EXT. Vous devriez également voir apparaître un nouveau disque dans votre Explorateur, appelé « boot ». Ceci est également normal.
Configurer le Wi-Fi avant de démarrer à partir de la carte SD
Vous pourriez configurer le Wi-Fi après le démarrage du raspberry, mais cela nécessite de connecter un clavier et un écran. Il existe une méthode beaucoup plus simple : créez un fichier texte spécial wpa_supplicant.conf
sur la partition « boot » de votre carte SD, contenant le code ci-dessous. Raspbian l’utilisera automatiquement pour se connecter au Wi-Fi lors du démarrage.
Vous voudrez peut-être modifier l’indicatif de votre pays sur la première ligne.
country=FR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="My SSID"
psk="My un-encrypted passphrase"
scan_ssid=1
}
Avec la dernière version de Raspbian Buster, vous devez vous assurer que le fichier contient les trois premières lignes en haut. De plus, si vous utilisez un réseau caché, l’option supplémentaire scan_ssid peut faciliter la connexion.
À propos du mot de passe : il peut être configuré soit sous forme ASCII, en utilisant des guillemets comme dans l’exemple ci-dessus, soit sous forme de nombre hexadécimal de 32 octets (clé PSK). Vous pouvez utiliser l’utilitaire wpa_passphrase (avec un autre ordinateur Linux) pour générer la PSK. Il prend le SSID et la phrase secrète en entrée et génère la PSK hachée. Avec l’exemple ci-dessus, vous pouvez générer la clé PSK à l’aide de la commande suivante :
wpa_passphrase your_SSID your_un-encrypted_SSID_passphrase
network={
ssid="your_SSID"
#psk="your_un-encrypted_SSID_passphrase"
psk=28d0ec1234566c3f5333112345678968eb732030f5a48b8b499ab26000123456
}
Configurer le serveur SSH avant de démarrer à partir de la carte SD
Utilisez la même technique ici : créez simplement un fichier vide nommé « ssh » à la racine de votre lecteur « boot », sur la carte SD. Aucune extension n’est nécessaire (attention avec Windows).
Vous pouvez maintenant retirer la carte SD de votre ordinateur Windows et l’insérer dans votre Raspberry.
Démarrer le Raspberry et s’y connecter
Insérez la carte SD dans votre Raspberry Pi Zero et allumez-le. Observez la diode verte, qui clignotera puis restera allumée une fois l’appareil démarré. Si vos paramètres Wi-Fi sont corrects, l’appareil se connectera automatiquement. Pour trouver son adresse IP, consultez la liste des clients de votre routeur Wi-Fi ou de votre serveur DHCP et recherchez un nouvel appareil.
Je vous recommande vivement d’attribuer une adresse IP statique à votre Raspberry afin de faciliter sa gestion ultérieure et sa configuration dans Jeedom.
Utilisez ensuite votre client SSH préféré pour vous connecter à l’adresse IP du Raspberry. Le nom d’utilisateur et le mot de passe par défaut après une nouvelle installation de Raspbian sont « pi » / « raspberry ».
La première étape consiste à modifier le mot de passe par défaut :
passwd –> entrez « raspberry » (mot de passe par défaut après une nouvelle installation –> entrez votre nouveau mot de passe)
Modification de la configuration
Passez à l’utilisateur root en utilisant :
sudo su -
Tout d’abord, et c’est une préférence personnelle, j’installe l’éditeur de texte joe
.
apt-get install joe
Je veux m’assurer que ce sera l’éditeur par défaut :
update-alternatives --config editor
Ensuite, j’installe le paquet locate, qui permet de trouver facilement des fichiers sur le système de fichiers (en utilisant d’abord « updatedb » pour indexer le système de fichiers).
apt-get install locate
updatedb
Je suggère ensuite de modifier le fuseau horaire et d’étendre la partition racine à la taille disponible sur la carte SD :
raspi-config
- Choisissez « 4 Localisation Options »
- Choisissez « I2 Change Timezone »
- Et sélectionnez votre pays/ville.
- Puis choisissez « 7 Advanced Options »
- Choisissez « A1 Expand FileSystem »
- Choisissez YES lorsqu’il vous demandera de redémarrer.
Ensuite, nous allons modifier légèrement l’interface Wi-Fi. Reconnectez-vous via SSH, modifiez le fichier /etc/network/interfaces et assurez-vous qu’il contient les lignes suivantes (si vous souhaitez utiliser DHCP ; sinon, remplacez la 8e ligne « dhcp » par « static » si vous souhaitez fixer l’adresse IP et assurez-vous que vos serveurs DNS sont correctement configurés dans /etc/resolv.conf) :
sudo su -
joe /etc/network/interfaces
source-directory /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
wireless-power off
Maintenant, assurons-nous que Python 2.7 est utilisé par défaut (alors que Python 3 est également installé et disponible sur le système) :
update-alternatives install /usr/bin/python python /usr/bin/python3.7 1
update-alternatives install /usr/bin/python python /usr/bin/python2.7 2
Le nombre le plus élevé à la fin détermine la priorité : celui qui a le nombre le plus élevé devient la valeur par défaut.
Nous allons maintenant déployer quelques packages. Ces commandes installent des outils Python et des dépendances pour utiliser bluepy, un module permettant la communication Bluetooth Low Energy (BLE) sous Linux, puis elles configurent les droits nécessaires pour accéder au matériel réseau depuis Python.
apt-get install python-pip python3-pip libglib2.0-dev
python2 -m pip install upgrade force pip
python3 -m pip install upgrade force pip
pip install bluepy
pip3 install bluepy
setcap cap_net_raw+e /usr/local/lib/python3.7/dist-packages/bluepy/bluepy-helper
setcap cap_net_admin+eip /usr/local/lib/python3.7/dist-packages/bluepy/bluepy-helper
Plus spécifiquement, les deux dernières commandes attribuent des droits Linux spéciaux à l’exécutable bluepy-helper
afin qu’il puisse accéder à l’interface réseau (cap_net_raw) et gérer la configuration réseau Bluetooth (cap_net_admin) sans avoir à lancer le programme en tant que root.
Ces étapes sont requises pour la plupart des scripts Python qui cherchent à scanner ou interagir avec des objets BLE (capteurs connectés, balises, etc.) sur des distributions Linux comme Debian ou Ubuntu.
Notez que la ligne 5 ci-dessus devrait indiquer qu’il est déjà déployé :
Requirement already satisfied: bluepy in /usr/local/lib/python3.7/dist-packages (1.3.0)
Je vous suggère de redémarrer avec /sbin/reboot pour vérifier que la connexion se rétablit correctement. Dans mon cas, c’est le cas !
Mise à jour de Raspbian et du firmware Raspberry
sudo su -
apt-get update
apt-get full-upgrade
rpi-update
Libérons ensuite de l’espace sur la carte SD…
apt-get autoclean
apt-get autoremove
apt-get clean
Vous disposez désormais d’un Raspberry Pi Zero entièrement fonctionnel, équipé d’un système d’exploitation Debian/Raspbian, connecté à votre réseau Wi-Fi et pouvant être utilisé via SSH. Il s’agit d’une condition technique préalable pour les articles suivants.
Conclusion : prêt pour de nouveaux projets domotiques
Votre Raspberry Pi Zero est désormais configuré avec un Raspbian « autonome » sans écran, le Wi-Fi et SSH activés, à jour et prêt pour toutes sortes de projets d’automatisation, en particulier en tant que relai Jeedom ou antenne bluetooth comme nous le verrons !
Prochaines choses que vous pourriez essayer :
- Utilisez ce Raspberry comme antenne Bluetooth pour Jeedom.
- Découvrez d’autres idées de domotique dans la catégorie Domotique.
Ressources externes pour approfondir le sujet :
Faites-moi savoir dans les commentaires si vous rencontrez des problèmes ou si vous souhaitez un article complémentaire sur l’optimisation des performances du Pi pour les capteurs connectés !