GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer le serveur Mosquitto MQTT sur Ubuntu 16.04

Mosquitto MQTT Server est un courtier de messages qui fonctionne sur le protocole MQTT. MQTT est un protocole de messagerie léger qui est la norme ISO pour une utilisation en plus du protocole TCP/IP. Il est principalement utilisé pour communiquer avec les appareils Internet des objets. Nous allons installer Mosquitto sur un serveur Ubuntu 16.04 et nous allons envoyer des messages à partir du logiciel espion MQTT. Mosquitto est un projet Eclipse et il est distribué sous licence EDL. Alors commençons.

Compilation du serveur Mosquitto MQTT à partir de la source

Pour installer Mosquitto, nous devons suivre les étapes suivantes. Commencez par mettre à jour les listes de sources et obtenez les dépendances

apt update
apt-get install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc

Ajoutez l'utilisateur mosquitto, car par défaut, il s'exécute en tant que non root.

adduser mosquitto

Pour plus de commodité, nous attribuerons les droits sudo à cet utilisateur, car nous effectuerons le reste du processus d'installation en tant qu'utilisateur.

usermod -aG sudo mosquitto

Ensuite, nous allons nous connecter en tant que cet utilisateur et accéder à son répertoire personnel

su mosquitto

cd

Ensuite, nous allons télécharger le code source de Mosquitto, la dernière version est la 1.4.9 au moment de la rédaction, mais je vous suggère de vérifier la page de téléchargement pour voir s'il existe une nouvelle version. Alors téléchargeons la dernière version

wget https://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz

Décompressons-le et cd dans le répertoire

tar xvzf mosquitto-1.4.9.tar.gz
cd mosquitto-1.4.9/

Et puis nous compilons et installons le logiciel

make && sudo make install

Configuration du serveur Mosquitto MQTT

Une fois l'installation terminée, nous devons créer un mot de passe pour le nouvel utilisateur.

sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-spy

Vous serez invité à créer un mot de passe pour le nouvel utilisateur mqtt-spy que nous utiliserons pour nous connecter à partir du client. C'est différent de l'utilisateur de moustiques, c'est-à-dire de l'utilisateur du système pour exécuter le serveur de moustiques. Nous devons ajouter des autorisations à cet utilisateur moustique pour tous les répertoires pertinents

sudo mkdir /var/lib/mosquitto/

sudo chown -R mosquitto:mosquitto /var/lib/mosquitto/

Nous devons ensuite créer un fichier de configuration pour le serveur Mosquitto MQTT, utilisons donc nano pour créer un nouveau fichier

sudo nano /etc/mosquitto/mosquitto.conf

Là, vous pouvez coller ceci

persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
log_dest syslog
log_dest stdout
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
allow_anonymous false
password_file /etc/mosquitto/pwfile

La configuration semble longue, mais nous avons ajouté des journaux et un fichier de mots de passe plus détaillés.

Une fois la configuration enregistrée, nous exécutons ldconfig

sudo ldconfig

Ajoutons un fichier d'unité systemd

sudo nano /etc/systemd/system/mosquitto.service

Collez ceci ici :

[Unit]
Description=Insite MQTT Broker

[Service]
ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=always

[Install]
WantedBy=multi-user.target

Démarrons le service

sudo systemctl start mosquitto.service

Et vérifiez son statut

systemctl status mosquitto.service

Pour le faire démarrer au démarrage, faites cette commande

sudo systemctl enable mosquitto.service

Configuration de MQTT-Spy et connexiong

MQTT-Spy est un client basé sur Java que nous utiliserons pour nous connecter au serveur MQTT. Vous pouvez l'obtenir à partir de github mais notez que vous devez avoir installé Oracle JDK. Cela ne fonctionne PAS avec OpenJDK. La première chose à faire après avoir regardé MQTT-spy est de créer une nouvelle connexion. Vous ajoutez l'IP de votre serveur et le port par défaut 1883.

Ensuite, vous ajoutez le mot de passe et le nom d'utilisateur que nous avons créés précédemment, dans mon cas, il s'agit de mqtt-spy et le mot de passe est le mot de passe.

Ensuite, nous pouvons ouvrir la fenêtre du terminal sur le serveur et taper la commande suivante

mosquitto_sub -v -t 'linoxide/topic' -u mqtt-spy -P password

Pour expliquer les drapeaux, -v est pour la verbosité, -t est pour le sujet suivi du sujet entre guillemets, -u est pour l'utilisateur et -P est le mot de passe. Après avoir tapé cette commande, cela semblera se bloquer, mais nous devons ensuite utiliser MQTT-spy pour créer un nouveau sujet et envoyer un message au même sujet, comme sur l'image ci-dessous.

Conclusion

Nous avons installé avec succès le serveur Mosquitto MQTT qui vous permet d'avoir un réseau d'appareils IoT connectés via le protocole MQTT 3.1. Nous l'avons installé sur Ubuntu sur un PC x86 classique, ce que la plupart des gens utilisent à des fins de développement et d'apprentissage. Pour un véritable IoT, vous voudriez un appareil ARM. C'est tout pour cet article merci d'avoir lu.


Ubuntu
  1. Comment configurer le serveur Rsyslog sur Ubuntu 18.04 LTS

  2. Comment configurer le serveur de messagerie Zimbra sur Ubuntu 16

  3. Comment configurer le serveur SFTP MySecureShell sur Ubuntu 18.04

  4. Comment configurer le serveur NTP sur Ubuntu et LinuxMint

  5. Configurer Rsyslog Server sur Ubuntu 20.04 - Comment faire ?

Comment configurer OpenVPN sur Ubuntu Server

Comment configurer les blocs de serveur Nginx dans Ubuntu 18.04 LTS

Comment configurer le dernier MySQL sur Ubuntu 20.04 LTS

Comment configurer le serveur Git sur Ubuntu 20.04

Comment configurer le serveur Rsyslog sur Ubuntu

Comment configurer le serveur DHCP sur Ubuntu