Exécutez Mosquitto avec Docker et essayez la communication WebSocket avec MQTT

Créez un fichier de configuration Dockerfile et Mosquitto.

Dockerfile


FROM ubuntu:18.04

RUN apt-get update
RUN apt-get install -y mosquitto mosquitto-clients

COPY ./mosquitto.conf /etc/mosquitto/mosquitto.conf

# MQTT Port
EXPOSE 1883

# WebSocket Port
EXPOSE 8080

CMD ["mosquitto", "-c", "/etc/mosquitto/mosquitto.conf"]

mosquitto.conf


# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

listener 1883

listener 8080
protocol websockets

Créez l'image et démarrez le conteneur.

$ docker build -t mosquitto_image .
$ docker run -d -p 1883:1883 -p 8080:8080 --name mosquitto_container mosquitto_image

Essayez pub / sub à partir du client MQTT.

$ mosquitto_pub -h localhost -p 1883 -d -t hello_topic -m "hello"
Client mosq-8zgvruDJ1gCOBNFchP sending CONNECT
Client mosq-8zgvruDJ1gCOBNFchP received CONNACK (0)
Client mosq-8zgvruDJ1gCOBNFchP sending PUBLISH (d0, q0, r0, m1, 'hello_topic', ... (5 bytes))
Client mosq-8zgvruDJ1gCOBNFchP sending DISCONNECT

$ mosquitto_sub -h localhost -p 1883 -d -t hello_topic
Client mosq-GP0NmJL6vHdSMuuhF7 sending CONNECT
Client mosq-GP0NmJL6vHdSMuuhF7 received CONNACK (0)
Client mosq-GP0NmJL6vHdSMuuhF7 sending SUBSCRIBE (Mid: 1, Topic: hello_topic, QoS: 0, Options: 0x00)
Client mosq-GP0NmJL6vHdSMuuhF7 received SUBACK
Subscribed (mid: 1): 0
Client mosq-GP0NmJL6vHdSMuuhF7 received PUBLISH (d0, q0, r0, m0, 'hello_topic', ... (5 bytes))
hello

Essayez également pub / sub de MQTT via WebSocket.

https://mitsuruog.github.io/what-mqtt/

image.png

c'est tout.

Recommended Posts

Exécutez Mosquitto avec Docker et essayez la communication WebSocket avec MQTT
Exécutez logstash avec Docker et essayez de télécharger des données sur Elastic Cloud
Créez un notebook Jupyter avec Docker et exécutez ruby
Essayez WebSocket avec jooby
Exécutez TAO Core avec Docker
Exécuter des rails à chaque fois dans le docker
Essayez d'exécuter cloudera manager avec docker
Hello World avec Docker et langage C
Essayez la communication bidirectionnelle avec gRPC Java
Faites fonctionner Jupyter Lab n'importe où avec Docker
Microservices avec Docker et Cloud Performance
Essayez d'exécuter MySql et Blazor avec docker-compose
Communiquer entre Gitlab et Gitlab Runner lancé avec Docker
Exécutez Ubuntu + ROS avec Docker sur Mac
Comment exécuter Blazor (C #) avec Docker
Essayez de créer Express + PostgreSQL + Sequelize avec Docker [Partie 2]
Découvrez .NET 5 avec Docker et Visual Studio Code
Essayez d'intégrer Ruby et Java avec Dapr
Exécutez JSP Hello World avec Tomcat sur Docker
Essayez de créer Express + PostgreSQL + Sequelize avec Docker [Partie 1]
Essayez d'utiliser un autre conteneur de servlet Jetty avec Docker