Aide

Questions fréquentes et pièges habituels. Si la réponse n'est pas là, écrivez-nous — l'adresse est en bas de page.

Premiers pas

Combien coûte le broker ?

Rien. Le broker est gratuit, il n'y a aucune limite d'appareils, de messages, d'abonnements ou de serveurs, aucune clé de licence n'est nécessaire, et aucune télémétrie n'est collectée.

Quels systèmes sont pris en charge ?

Debian et Ubuntu (un paquet dans le dépôt APT), Windows 10 et 11 x64 (un .exe prêt à l'emploi), plus des versions Linux pour amd64, arm64 et armhf qui se lancent manuellement sur n'importe quelle distribution, Raspberry Pi compris.

Que dois-je installer d'autre ?

Rien. Le binaire est lié statiquement et n'a besoin ni d'environnement d'exécution, ni de libc, ni de base de données externe : l'état est conservé dans un SQLite en Go pur, à l'intérieur du broker.

Où aller après l'installation ?

Le tableau de bord attend sur http://votre-serveur:8567. L'identifiant par défaut est admin avec le mot de passe admin — changez-le dans la section Profil dès la première connexion.

Quels ports sont ouverts par défaut ?

1883 pour MQTT sur TCP, 8883 pour MQTT sur TLS, et 8567 pour le tableau de bord web et MQTT sur WebSocket sous /mqtt. Les ports se changent dans config.json ou par les options de ligne de commande.

Connexion des appareils

Un appareil ne se connecte pas : « not authorized ». Que se passe-t-il ?

Vous utilisez très probablement l'identifiant de l'administrateur du tableau de bord. Ce sont deux choses différentes : l'administrateur ne gère que l'interface web, tandis que les appareils se connectent avec des comptes distincts de la section Utilisateurs. Créez-y un utilisateur et connectez-vous avec ce nom et ce mot de passe.

Le client se connecte mais ne voit aucun message.

Vérifiez les droits. Les ACL sont en tout-interdit par défaut : sans règle d'autorisation explicite, il n'y a pas d'accès. Assurez-vous que l'utilisateur possède, pour le filtre de topic concerné, une règle en read ou readwrite placée au-dessus des règles de refus — les règles sont examinées de haut en bas jusqu'à la première correspondance.

Comment donner à un appareil l'accès à sa seule branche ?

Ajoutez une règle avec le filtre $u/# et l'accès readwrite. Le substitut $u devient le nom du client connecté, une seule règle suffit donc pour tous : chaque appareil ne voit que sa propre branche. Le tableau de bord propose un bouton « Branche propre » pour cela.

Puis-je autoriser l'accès anonyme ?

Oui, avec un interrupteur dédié sous Réglages → Broker. Notez que les clients anonymes se voient refuser tout l'espace de noms $, y compris $SYS.

Pourquoi un abonnement à # ne montre-t-il pas $SYS ?

La spécification l'exige : les jokers n'atteignent pas les topics commençant par $. Pour lire les statistiques, il faut une règle explicite du type $SYS/#. Il existe aussi un interrupteur $SYS global dans les réglages du broker.

Comment se connecter depuis un navigateur ?

Par MQTT sur WebSocket : l'adresse ws://votre-serveur:8567/mqtt avec le sous-protocole mqtt. Aucune passerelle séparée n'est nécessaire — le WebSocket tourne sur le même port que le tableau de bord.

Sécurité et TLS

Le client se plaint du certificat lors de la connexion à 8883.

Au premier démarrage, le broker génère un certificat auto-signé — parfait pour des essais, mais les clients ne lui font pas confiance. Pour un système en production, placez votre propre certificat dans le bloc tls de la configuration (les champs cert et key) et redémarrez le broker.

Comment changer le mot de passe administrateur ?

Dans la section Profil. Le nouveau mot de passe est écrit dans config.json sous forme d'empreinte — aucun mot de passe en clair ne reste dans le fichier.

J'ai oublié le mot de passe administrateur.

Arrêtez le broker, supprimez le champ passwordHash du bloc auth de config.json et mettez à la place "password": "votre-nouveau-mot-de-passe". Au démarrage suivant, le broker en calcule l'empreinte et efface la valeur en clair du fichier.

Le tableau de bord est joignable depuis Internet — est-ce grave ?

L'installation Linux standard fait écouter le tableau de bord sur 127.0.0.1 seulement et le publie par nginx, où HTTPS et restrictions d'accès s'ajoutent facilement. Exposer le port 8567 directement n'est pas une bonne idée.

Comment donner un accès API à un autre système ?

Réglages → API — créez un jeton bearer. Il est affiché une seule fois et seule son empreinte est conservée. Si le système n'a besoin que des statistiques, cochez « lecture seule » : seuls GET, HEAD et OPTIONS passeront alors.

Charge et fiabilité

Un appareil inonde le broker de messages. Que faire ?

Activez les limiteurs sous Réglages → Broker : messages par seconde, rafale, octets par seconde. Ils s'appliquent par connexion. Un dépassement ne coupe pas la connexion et ne perd pas de messages — le broker ralentit ses lectures du socket et l'émetteur se modère de lui-même.

Un topic précis est bruyant, mais le client va bien par ailleurs.

C'est un cas pour Règles → Limites par topic. Une règle par motif réduit le flux à une cadence en gardant la dernière valeur, ou écarte le topic entièrement. Un capteur qui émet dix fois par seconde devient un message par seconde — et ce sera la mesure la plus fraîche.

Que survit à un redémarrage du broker ?

Les messages retenus, les sessions persistantes avec leurs abonnements et leurs files hors ligne, les poignées de main QoS inachevées et les messages différés. Les sessions propres ne sont pas sauvegardées — par spécification, elles meurent avec la connexion.

Le clustering est-il pris en charge ?

Non. Le broker est conçu comme un processus unique. Pour relier plusieurs brokers, il y a le pont, qui transfère des topics entre serveurs dans les deux sens.

Comment voir ce qui se passe en ce moment ?

La section Trafic montre un flux en direct des messages et des événements du broker, avec filtre et pause, et la Vue d'ensemble affiche les courbes de débit, la santé de la machine et un fil d'événements. Les données arrivent par WebSocket.

Maintenance

Comment mettre à jour le broker sur Debian ou Ubuntu ?

Avec le reste du système : sudo apt-get update && sudo apt-get upgrade. Rien d'autre n'est nécessaire, et les réglages comme les données restent intacts.

Comment déplacer la configuration vers un autre serveur ?

Réglages → Import et export : téléchargez le fichier sur l'ancien serveur et déposez-le sur le nouveau. Réglages, utilisateurs et règles suivent.

Où sont les données et les journaux ?

Les données se trouvent dans le répertoire data à côté du binaire (sous Linux, /opt/elxmqttbroker) : broker.db, users.json et les certificats. Sous Linux, les journaux vont à journald : journalctl -u elxmqttbroker -f.

Comment savoir quelle version tourne ?

Version, numéro de build et date de compilation sont inscrits dans le binaire : ils apparaissent en bas de la barre latérale, dans la section À propos, et en lançant elxmqttbroker -version.

Puis-je désactiver la persistance de l'état ?

Oui, avec persistence: false dans config.json. Tout est alors gardé en mémoire seulement et perdu au redémarrage — ce qui a du sens pour des bancs d'essai.

Vous n'avez pas trouvé la réponse ?

Écrivez-nous — nous tâcherons d'aider et d'étoffer cette section.

serjaru@gmail.com Parcourir la documentation