Pour suivre ce tutoriel, vous aurez besoin des éléments suivants:
Raspberry Pi
Boîtier en aluminium
Carte micro SD d'au moins 32 Go
Alimentation 5V micro USB
Câble Ethernet et une connexion Internet
un PC
Une distribution Raspbian Stretch Lite
Le logiciel balenaEtcher
Un client SSH, comme PuTTY ou OpenSSH
Il est évidemment possible de trouver des Raspberry Pi déjà montées dans leur support, ou possédant déjà un OS de départ. Ignorez les parties suivantes si vous êtes dans ces cas.
Le boîtier en aluminium utilisé est un eleduino.
Il est fournit avec un tournevis et deux « radiateurs ».
Visser la carte sur le support puis déposer les « radiateurs » après avoir enlevé le papier
Emboîter la partie supérieur en faisant attention à l’emplacement des ports
Visser les deux parties métalliques noires en mettant les marquages à l’extérieur
Nota Bene : Le montage en lui-même est semblable , mais les boitiers de Raspberry Pi 2 et 3 sont très différents en therme de ports. Ne vous trompez pas.
La distribution utilisé est Rasberry pi OS Lite. C’est une distribution récente, qui succède à Raspbian. Elle ne propose aucune interface graphique , on utilise des commandes pour naviguer.
Vous pouvez trouver l’image de la distribution sur le site officiel Raspberrypi
( https://raspberry-pi.fr/telechargements/)
Maintenant il vous faut flasher la carte micro SD pour installer la distribution, il faudra installer le logiciel balenaEtcher. C’est un logiciel qui permet de graver des image sur des disques, clé usb, carte SD et micro SD. Utiliser un lecteur de carte micro SD branchée en USB avec l’ordinateur Une fois le logiciel installé, démarrez le et sélectionnez Raspberry pi OS et la micro SD puis appuyer sur « «Flash ! ».
Une fois terminé, vous devrez ouvrir le boot puis ajouter un fichier “ssh.txt” et supprimer l’extension .txt. Ce fichier permet d’activer le serveur SSH de la carte. Pour créer un fichier .txt faites un clic droit dans le dossier dans une zone vide puis cliquez sur nouveau et document texte. Puis renommer le “ssh”.
Pour afficher l’extension des fichier cliquez sur affichage en haut de la fenêtre puis cocher la case extensions de noms de fichiers. Si vous ne pouvez pas supprimer l'extension, cliquer sur la flèche en haut à droite puis sur propriétés > avancés et cocher la case autoriser l’indexation.
Une fois l’extension .txt supprimée dans le nom du fichier, validé le changement. Il ne reste plus qu’à insérer la micro SD dans votre carte puis brancher le câble d’alimentation et le câble internet.
Pour savoir si votre carte est bien alimentée, regarder sur le côté si la led rouge est allumée.
SSH(Secure Shell) est un protocole de communication qui permet de chiffrer les segments TCP et rendre la communication sécurisée.
Pour pouvoir communiquer en SSH il faut un serveur (la carte) et un client (le PC). Le serveur est déjà installé sur la carte mais il faut installer un client sur le PC. Pour le client vous pouvez utiliser deux logiciels : PuTTY ou OpenSSH
OpenSSH est un client disponible directement sur Windows 10 et qui utilise l'invite de commande ou Powershell. PuTTY est un émulateur de terminal et un client disponible sur internet qui utilise sa propre interface.
Si vous êtes sous Windows 10, je vous recommande d’utiliser OpenSSH mais si vous êtes sur une version antérieur de Windows ou sur une autre distribution, installez plutôt PuTTY.
Avant de commencer vous devez trouver l’adresse IP de votre carte pour pouvoir vous connecter en SSH.
Pour ce faire, ouvrez le menu démarrer, tapez cmd et cliquez sur invite de commandes.
Ensuite tapez : ping raspberrypi. La commande devrait vous retourner un adresse comme ci-dessous.
Installer et se connecter avec OpenSSH :
Pour installer OpenSSH il faut cliquer sur le menu démarrer puis sur paramètres. Ensuite allez dans Applications et ensuite sur Gérer les fonctionnalités facultatives.
Puis cliquer sur Ajouter une fonctionnalité, chercher client OpenSSH, puis appuyez sur installer. Redémarrer le pc et ouvrez l'invite de commandes ou Powershell et entrez ssh pour vérifier l’installation.
La commande devrait vous retourner ce message.
Ensuite tapez : ssh <nom d'utilisateur>@<l'adresse IP> pour vous connecter
Le nom d’utilisateur par défaut est pi , et son mot de passe est raspberry
Installer et se connecter avec Putty :
Vous devez télécharger l’installeur de PuTTy sur le site : https://www.putty.org/
Lors de l’installation, quand vous arrivez dans “Product Features”, cliquez sur “Add shortcut” et ensuite sur “Will be installed on local hard drive”.
Une fois le logiciel installé, lancez le. vous arriverez sur cette fenêtre comme ci-dessous. Dans la partie “Host name” tapez l'adresse de la carte. Vérifiez que la case SSH soit bien cocher et que le numéro de “Port” soit bien 22.
Open vous permettra de vous connecter. L’utilisateur par défaut est pi et son mot de passe est raspberry
Vous pouvez également vous connecter à votre raspberry pi via USB. Pour ce faire, reliez votre raspberry pi et votre PC via USB, et utilisez PuTTy.
Choisissez l’option Serial, entrez le port sur lequel la carte est branchée et réglez la vitesse. (par défaut , la vitesse recommandée est de 115200).
Pour savoir quel port est utilisé, ouvrez le gestionnaire de périphériques de votre PC et regardez dans «ports série»
L’utilisateur et le mot de passe par défaut sont les mêmes qu’avec SSH : pi et raspberry.
Pour changer votre nom d’utilisateur, vous devez vous connecter en root.
Activez le compte root : sudo passwd root. Entrez le mdp de votre choix.
Déconnectez-vous de votre compte : logout
Connectez-vous en tant que root : id = root , mdp = celui que vous avez mis.
Changez le nom de votre compte : usermod -l nouveau_nom ancien_nom
Déconnectez-vous de root et reconnectez vous à votre compte
Pour changer votre mot de passe , entrez la commande : passwd
Pour changer le nom d’hôte du serveur , entrez : sudo nano /etc/hostname et modifiez le fichier en entrant le nom d’hôte que vous voulez.
Changer votre IP Ethernet
Entrez la commande sudo nano /etc/dhcpcd.conf
Cherchez la ligne “Example static IP configuration” puis rentrez vos adresses et enlevez les hashtags à “interface eth0” et aux adresses.
Utilisez la commande ip address pour voir la liste de vos @ip.
Vous pouvez tenter de modifier vos @ip avec la commande ip address <add/replace/change> @ip/mask dev <interface> mais elle ne marche pas avec toutes les distributions.
Mettre en place une connexion WiFi
Pour changer les paramètres tapez : sudo raspi-config
Le menu s'affiche comme ci-dessous.
Selectionnez Network Options , puis suivez les instructions :
selectionnez le pays dans lequel vous êtes ( à priori France )
entrez le ssid (le nom) du réseau WiFi auquel vous voulez accéder
entrez le mot de passe / la clé de sécurirté du réseau WiFi
Dans certaines distributions, le WiFi se mettra en veille de lui-même. Pour éviter ça ,ouvrez le fichier /etc/rc.local (nano /etc/rc.local) et ajoutez-y la ligne : /sbin/iw wlan0 set power_save off
Pour changer l’@ip utilisé par le WiFi, vous pouvez utiliser les mêmes possibilités qu’avec l’@ip ethernet , en spécifiant bien wlan0 comme interface.
Nous allons utiliser UFW et Fail2ban.
UFW est une application qui simplifie la configuration du pare-feu. Fail2ban est une application qui bannit les IP des machines qui essayent une attaque sur le système.
Pour l'installer les deux applications, tapez :
sudo apt install ufw -y && sudo apt install fail2ban -y
Pour configurer le pare-feu, il faudra utiliser les commandes suivantes :
Pour autoriser une connexion en entrée tapez : sudo ufw allow [protocole]
Pour interdire une connexion en entrée tapez : sudo ufw deny [protocole]
Pour autoriser une connexion en sortie tapez : sudo ufw allow out [protocole]
Pour interdire une connexion en sortie tapez : sudo ufw deny out [protocole]
Pour le moment vous allez ajoutez trois protocoles :
22 (SSH)
1880 (HTTP)
1883 (Broker MQTT)
Ils seront autorisés à se connecter en entrée et en sortie.
Une fois paramétré, démarrez le pare-feu en tapant : sudo ufw enable
Pour voir les règles et l'état du pare-feu tapez : sudo ufw status verbose
Vous pouvez accéder au log du système grâce à la commande journalctl.
journalctl -xe : pour le voir depuis la fin
journalctl status pour voir le log d ‘un service en particulier.
Vous pouvez paramétrer le logging en accédant au fichier de configuration.
Entrez sudo nano /etc/systemd/journald.conf pour ouvrir le fichier.
Retirez les # des lignes que vous voulez activer.
Lignes utiles :
SystemMaxFileSize : taille max des fichiers de log. Vous devez renseigner l’unité après la valeur (k – kiloOctet , M – MégaOctet , G – GigaOctet)
SystemMaxFiles : nombre de fichiers de log stockés
MaxRetentionSec : durée pendant laquelle le log est conservé. Vous devez renseigner l’unité après la valeur (month , day , week , year)
MaxLevelStore : niveau maximal des messages stockés (debug, warning, error, notice, ...)
Pour installer Node-RED, tapez : sudo apt-get install build-essential
puis copier-coller la commande d’installation :
bash <(curl -sL
https://raw.githubusercontent.com/node-red/linux-installers/master/deb/ update-nodejs-and-nodered)
Une fois installé, tapez : node-red-start
Une fois lancé, appuyez sur ctrl+c pour revenir sur le terminal.
Si vous voulez arrêter Node-RED, tapez: node-red-stop
Pour que Node-RED se lance automatiquement au démarrage de la carte, tapez: sudo systemctl enable nodered.service
Un broker MQTT permet une communication optimisée communication entre les objets connectés tout en économisant la batterie des appareils autonomes. La base de données permet de stocker des données dans des tableaux qui peuvent être filtrer.
Pour installer le broker MQTT Mosquitto tapez : sudo apt-get install mosquitto -y
Pour le démarrer : mosquitto
MQTT utilise par défaut le port 1883.
Pour en changer, arrêtez MQTT et relancez le avec un port précis : mosquitto -p <port>