Führen Sie Mosquitto mit Docker aus und versuchen Sie die WebSocket-Kommunikation mit MQTT

Erstellen Sie eine Dockerfile- und Mosquitto-Konfigurationsdatei.

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

Erstellen Sie das Image und starten Sie den Container.

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

Versuchen Sie Pub / Sub vom MQTT-Client.

$ 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

Versuchen Sie auch Pub / Sub von MQTT über WebSocket.

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

image.png

das ist alles.

Recommended Posts

Führen Sie Mosquitto mit Docker aus und versuchen Sie die WebSocket-Kommunikation mit MQTT
Führen Sie logstash mit Docker aus und versuchen Sie, Daten in Elastic Cloud hochzuladen
Erstellen Sie mit Docker ein Jupyter-Notizbuch und führen Sie Ruby aus
Probieren Sie WebSocket mit Jooby aus
Führen Sie TAO Core mit Docker aus
Führen Sie Rails immer im Docker aus
Versuchen Sie, den Cloudera Manager mit Docker auszuführen
Hallo Welt mit Docker und C Sprache
Versuchen Sie die bidirektionale Kommunikation mit gRPC Java
Lassen Sie Jupyter Lab überall mit Docker arbeiten
Microservices mit Docker- und Cloud-Leistung
Versuchen Sie, MySql und Blazor mit Docker-Compose auszuführen
Kommunizieren Sie zwischen Gitlab und Gitlab Runner, die mit Docker gestartet wurden
Führen Sie Ubuntu + ROS mit Docker auf dem Mac aus
So führen Sie Blazor (C #) mit Docker aus
Versuchen Sie, Express + PostgreSQL + Sequelize mit Docker zu erstellen [Teil 2]
Erleben Sie .NET 5 mit Docker und Visual Studio Code
Versuchen Sie, Ruby und Java in Dapr zu integrieren
Führen Sie JSP Hello World mit Tomcat auf Docker aus
Versuchen Sie, Express + PostgreSQL + Sequelize mit Docker zu erstellen [Teil 1]
Versuchen Sie, einen anderen Servlet-Container-Steg mit Docker zu verwenden