J'ai un courtier Mosquitto opérationnel sur ma machine Windows. Je ne me souviens pas si je l'ai installé avec le support Web Sockets (parce que je ne savais pas ce que c'était, ou si j'en avais besoin). Mais vu que maintenant, je dois utiliser JavaScript (Paho) pour me connecter à MQTT, je veux savoir comment activer la prise en charge Web Socket pour mon courtier MQTT existant.
J'ai essayé d'éditer le mosquitto.conf
fichier en ajoutant ces lignes au fichier
listener 9001
protocol websockets
mais ne semble pas fonctionner. Je joins une image qui pourrait fournir une meilleure image:
Je ne suis pas très sûr des commandes non plus, mais elles semblent fonctionner avec le port par défaut 1883.
La question est donc: comment puis-je le faire fonctionner?
la source
Comme l'a dit @hardlib, vous devez compiler le moustique à partir des sources. Il nous a fallu quelques essais et erreurs pour le faire fonctionner sur Windows, alors voici un résumé au cas où cela aiderait quelqu'un. N'hésitez pas à le corriger:
Conditions préalables
Créez des libwebsockets:
git clone https://github.com/warmcat/libwebsockets.git
et entrez dans le répertoire du projet6cf0a981667f0d225a9cf2d7aecfd6f50be6c1fb
)mkdir build && cd build
Construire un moustique
git clone https://github.com/eclipse/mosquitto.git
cd mosquitto
mkdir build && cd build
cmake -G "Visual Studio 15" ..
cmake-gui
#define snprintf sprintf_s
de config.htimespec
structure de pthreads.h#include <Windows.h>
au if32 de win32 de mosquitto_passwd.cla source
À partir de la version 1.5.1, le paquet Windows prend en charge websocket, voir changelog https://mosquitto.org/blog/ Vous n'avez qu'à modifier le fichier mosquitto.conf, spécifiez d'utiliser le protocole websocket en ajoutant "protocol websockets" (voir la définition autour de la ligne 145) et éventuellement redémarrer le moustique si vous l'exécutez en tant que service
la source
listener 9001
etprotocol websockets
pour la prise en charge et l'utilisation de Websocktlistener 1883
etprotocol mqtt
à votre autoriser le trafic mqtt par défaut mosquitto.configJ'ai trouvé une version compilée de Mosquitto avec WebSockets construit pour Windows sur GitHub qui peut être utile si vous ne voulez pas construire le code vous-même.
Bien qu'il soit documenté en coréen, il comprend également une présentation PowerPoint avec des instructions sur la façon de le créer vous-même, si vous ne souhaitez pas utiliser les fichiers binaires précompilés.
la source