Comment pouvons-nous aider ?

Print

Comment installer Raspberry Pi OS (Raspbian)<br> Mosquitto MQTT Broker sur un RaspBerry Pi

 

Ce tutoriel est utile pour mettre en place un courtier MQTT local afin de tester notre

Vous pouvez également choisir un Broker MQTT sur Internet ou une application Android comme MQTT Broker.

Installer Raspberry Pi OS Lite

Téléchargez « Raspberry Pi OS Lite » sur raspberrypi.org
Téléchargez, installez et lancez « BalenaEtcher » sur balena.io/etcher
Insérez votre carte Micro SD dans votre PC
Flashez le « Raspberry Pi OS Lite » sur votre carte SD avec Balena Etcher

Ouverture de l’accès SSH

Ouvrez le disque/répertoire « boot » de votre carte SD (Réinsérez la carte SD si vous pouvez voir « boot »)
Ajoutez dans « boot » un fichier texte vide et nommez-le « ssh »

Mise en place d’une connexion WiFi

Ajoutez dans « boot » un fichier texte et nommez-le « wpa_supplicant.conf »
Ouvrez-le et écrivez à l’intérieur :
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=FR
network={
ssid="SSID"
psk="MOT DE PASSE"
key_mgmt=WPA-PSK
}

Remplacez SSID et PASSWORD par les vôtres

Avec RaspBerry

Ejectez et insérez votre carte SD dans votre RaspBerry Zero
Allumez votre RaspBerry Zero et attendez sa connexion à votre WiFi
Recherchez l’adresse IP de votre RaspBerry sur votre réseau (vous pouvez utiliser Angry IP Scanner)
Téléchargez, installez et lancez PuTTY pour l’accès SSH
Connexion SSH à l’adresse IP de votre RaspBerry
Login=pi Mot de passe=raspberry
Entrez les commandes : passwd pour changer le mot de passe de votre RaspBerry

Installer Mosquitto Broker

Entrez les commandes :
sudo apt update
sudo apt install -y mosquitto

Le service de courtage MQTT démarrera automatiquement une fois l’installation terminée.

État de l’installation de Mosquitto Broker

Entrez les commandes : sudo systemctl status mosquitto pour vérifier l’installation de Mosquitto MQTT : Assurez-vous que le paquet est« Loaded : … » et« Active : … »

Facultatif : Testez localement le courtier Mosquitto

Vous pouvez également installer le client Mosquitto si vous le souhaitez. Cela peut être utile pour tester le broker MQTT sur le serveur lui-même (Raspberry Pi).

  • Entrez les commandes : sudo apt-get install mosquitto-clients et confirmez l’installation
  • Ouvrez une seconde interface de ligne de commande (CLI) en utilisant PuTTY
    • abonnez-vous à un sujet de test nommé « mymqtttesttopic » en entrant : mosquitto_sub -h localhost -t mymqtttesttopic
    • Ensuite, publiez un message depuis l’autre terminal : mosquitto_pub -h localhost -t mymqtttesttopic -m "Sent from my own MQTT Broker" (envoyé depuis mon propre courtier MQTT)
    • Si l’installation fonctionne correctement, le terminal subscribe recevra le message :

Arrêter, exécuter et redémarrer Mosquitto

Le service de courtage MQTT a démarré automatiquement après l’installation, mais il est utile de connaître ces commandes :

Arrêter le service mosquitto : sudo systemctl stop mosquitto
Démarrer le service mosquitto : sudo systemctl start mosquitto
Redémarrer le service mosquitto : sudo systemctl restart mosquitto

Optionnel : Modifier le nom d’hôte

Si vous souhaitez modifier le nom d’hôte du RaspBerry :
Entrez les commandes suivantes : sudo nano /etc/hosts
Avec le clavier, remplacez le texte « raspberry » par un autre (sans caractères spéciaux)
Ctrl X Y Enter pour sauvegarder le fichier
Entrez les commandes : sudo nano /etc/hostname
Avec le clavier, remplacez le texte « raspberrypi » par un autre (sans caractères spéciaux)

Redémarrer le Raspberry Pi OS

Entrez les commandes : « sudo reboot » pour reboot !

Sécuriser le serveur Mosquitto

Mosquitto lit les informations de configuration à l’emplacement suivant :

/etc/mosquitto/conf.d

Créez un fichier default.conf dans ce répertoire :

sudo nano /etc/mosquitto/conf.d/default.conf

Il vous demandera peut-être votre mot de passe pour l’utilisateur SSH

Collez les informations ci-dessous pour désactiver les connexions anonymes et permettre à Mosquitto de lire des informations d’identification valides dans le fichier /etc/mosquitto/passwd :

allow_anonymous false
password_file /etc/mosquitto/passwd
auditeur 1883

Ctrl X Y Enter pour enregistrer le fichier

Ajouter un mot de passe au courtier MQTT

Remplacez USER par votre nom d’utilisateur dans cette commande et exécutez :

sudo mosquitto_passwd -c /etc/mosquitto/passwd USER

Il vous demandera deux fois le nouveau mot de passe

Redémarrez le service mosquitto pour prendre en compte les nouvelles modifications :

sudo systemctl restart mosquitto

Connecter un client MQTT

Vous pouvez utiliser MQTT Explorer comme client MQTT

Host = Raspberr IP addres (Utilisez AngryIP pour trouver l’adresse IP de votre Raspberry)
Port = 1883
Nom d’utilisateur = USER que vous avez choisi dans la section précédente
Password = MOT DE PASSE que vous avez également choisi dans la section précédente

Note : Durée de vie des cartes SD

La durée de vie des cartes SD est limitée entre 10 000 et 100 000 écritures ! Et votre Raspberry Pi OS Lite et votre serveur MQTT fonctionnent UNIQUEMENT sur cette carte !

Ne négligez pas la qualité de la carte SD dans votre Raspberry Pi !

Exemple de test de démarrage :

  • Carte Samsung EVO 16 GB Classe (10) : 25 secondes
  • Carte sans marque de 8 Go de classe (4) : 2 minutes 35 secondes

C’est pour ces raisons que l’utilisation d’un Raspberry classique dans un environnement industriel / de production n’est pas recommandée.

Note :Clonage de la carte SD

Il est important d’avoir une sauvegarde de votre carte SD. En cas de panne, vous serez bien content de l’avoir ?