Brève installation et configuration de Book_Mosquitto
Eclipse Mosquitto est un courtier de messages open source qui implémente les versions 3.1 et 3.1.1 du protocole MQTT. Mosquitto est léger et convient à tous les appareils, des ordinateurs à carte unique basse consommation aux serveurs complets. Le projet Mosquitto fournit également une bibliothèque C pour implémenter le client MQTT et le client MQTT en ligne de commande mosquitto_pub et mosquitto_sub très populaire.
Autre implémentation de proxy de serveur: https://github.com/mqtt/mqtt.github.io/wiki/servers
Instructions d'installation pour chaque système d'exploitation: https://mosquitto.org/download/
1. Téléchargez et installez
Prenons Ubuntu16 comme exemple
- Ajouter à la liste des référentiels
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
- Mettre à jour les packages
sudo apt-get update
- Installer
sudo apt-get install mosquitto
- Installer le client de ligne de commande
sudo apt-get install mosquitto-clients
2. Configuration
2.1 Le fichier de configuration principal mosquitto.conf
pid_file /var/run/mosquitto.pid
stockage Message # persistante
La persistance true
persistence_location / var / lib / mosquitto /
# Fichier journal
log_dest fichier / var / log / mosquitto / mosquitto . Connexion
# Autre configuration
include_dir / etc / mosquitto / conf . D
# Désactiver l' accès anonyme
allow_anonymous fausse
configuration de l' authentification #
fichier_de_mots_de_passe / etc / mosquitto / pwfile
# autorisations sont configurées
fichier_acl / etc / mosquitto / aclfile
2.2 Fichier de configuration d'authentification pwfile
- Créer un fichier sinon
touch /etc/mosquitto/pwfile
- Une fois le service démarré, entrez la commande suivante et entrez le mot de passe deux fois comme vous y êtes invité
mosquitto_passwd /etc/mosquitto/pwfile 用户名
2.3 Configuration des autorisations aclfile
- Ouvrir un fichier
vim /etc/mosquitto/aclfile
- Modifier le contenu
# 李雷只能发布以test为前缀的主题,订阅以$SYS开头的主题即系统主题
user lilei
topic write test/#
topic read $SYS/#
Han Meimei ne peut s'abonner qu'aux rubriques précédées de test
utilisateur hanmeimei
sujet lu test / #
3. Démarrer
-c: spécifiez un fichier de configuration spécifique pour démarrer
-d: exécutez en arrière-plan
mosquitto -c /etc/mosquitto/mosquitto.conf -d
4. Test
Utilisez la commande mosquitto_pub pour la publication et la commande mosquitto_sub pour l'abonnement. Introduction de paramètres communs:
Paramètre | La description |
---|---|
-h | Hôte du serveur, hôte local par défaut |
-t | Précisez le sujet |
-u | Identifiant |
-P | Mot de passe |
-je | Identifiant client, unique |
-m | Contenu du message publié |
Souscrire
mosquitto_sub -h localhost -t "test/#" -u hanmeimei -P 123456 -i "client1"
Rubrique sur le système d'abonnement
# 订阅客户端存活连接数
mosquitto_sub -h localhost –t '$SYS/broker/clients/active' -u lilei -P 123456 -i "client2"
Publier
mosquitto_pub -h localhost -t "test/abc" -u lilei -P 123456 -i "client3" -m "How are you?"
Description des paramètres de la commande mosquitto_pub
-
-d imprimer les informations de débogage
-
-f Utiliser le contenu du fichier spécifié comme contenu du message envoyé
-
-h spécifie que le nom de domaine à connecter par défaut est localhost
-
-i spécifie à quel utilisateur clientId envoyer un message
-
-Je spécifie à quel préfixe clientId les utilisateurs envoient des messages
-
-m contenu du message
-
-n envoyer un message null (null)
-
-p numéro de port de connexion
-
-q spécifie la valeur de QoS (0,1,2)
-
-t spécifie le sujet
-
-u Spécifiez l'utilisateur d'accès au courtier
-
-P Spécifiez le mot de passe d'accès au courtier
-
-V spécifie la version du protocole MQTT
-
–Will-payload spécifie un message qui est envoyé lorsque le client et le courtier se déconnectent accidentellement. Ce paramètre doit être utilisé avec --will-topic
-
- Will-qos Will QoS value. Ce paramètre doit être utilisé avec --will-topic
-
–Will-retenue Spécifie que le message Will est traité comme un message de conservation (c'est-à-dire que le message est conservé après sa diffusion). Ce paramètre doit être utilisé avec --will-topic
-
--Trouver le sujet sur lequel l'utilisateur enverra le message Will
Description des paramètres de la commande mosquitto_sub
-
-c Définissez «session propre» sur un état non valide, afin que l'état d'abonnement soit toujours maintenu, même si la connexion a été perdue, si la connexion est toujours connectée, vous pouvez toujours recevoir les messages envoyés lors de la déconnexion.
-
-d imprimer les informations de débogage
-
-h spécifie que le nom de domaine à connecter par défaut est localhost
-
-i spécifier clientId
-
-Je spécifie le préfixe clientId
-
-k keepalive Chaque fois, envoyez un message PING pour informer le courtier qu'il est toujours connecté. La valeur par défaut est 60 secondes.
-
-q spécifie que vous souhaitez recevoir le message de QoS pourquoi la QoS par défaut est 0
-
-R n'affiche pas les messages périmés
-
-t s'abonner au sujet
-
-v imprimer le message
-
–Will-payload spécifie un message qui est envoyé lorsque le client et le courtier se déconnectent accidentellement. Ce paramètre doit être utilisé avec --will-topic
-
- Will-qos Will QoS value. Ce paramètre doit être utilisé avec --will-topic
-
–Will-retenue Spécifie que le message Will est traité comme un message de conservation (c'est-à-dire que le message est conservé après sa diffusion). Ce paramètre doit être utilisé avec --will-topic
-
--Trouver le sujet sur lequel l'utilisateur enverra le message Will
Lien
- Site Web du projet: https://www.eclipse.org/paho
- Informations sur le projet Eclipse: https://projects.eclipse.org/projects/iot.paho
- GitHub: https://github.com/eclipse/paho.mqtt.java
- Utilisation du client Java MQTT: https://www.jianshu.com/p/65e1748a930c
- Prise en charge de printemps: https://www.jianshu.com/p/6b60858b7d44