1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

リモナビ:MQTT ネットはリモナビだけで構築できます

Last updated at Posted at 2025-08-14

1. MQTT プロトコル

MQTT は TCP/IP上で「1対多の通信」ができる軽量プロトコルです。
詳細は別記事に任せますが、簡単なMQTTネットの構成は以下です。

  • PublisherBroker にメッセージを転送します
  • Breaker は接続された SubscriberPublisher から送信されたメッセージを転送します
    • PublisherSubscriber の対応は同じ Topic を指定することで実現します

エンド・エンドの送達確認は具備されません。
BrokerPublisher から送信された際に接続されている Subscriber へ転送するだけです。
暗号化や認証などはサポートしていますが、Kafka の高機能なものではなく、極めて軽量なものです。

2. RemoNavi を使った MQTTネットワークの構築

最も基本的な構成は以下です。
RemoNavi Receiver (Docker版) には mosquitto (MQTT Broker)がインストールされ、稼働していますので、利用者は MQTT Publisher | Subscriber のクライアントのみ用意します。

2.1. MQTT Publisher | Subscriber のクライアントの準備

 Linuxベースあるいは Windows WSL (Ubuntu) 環境であれば mosquitto-clients パッケージをインストールすることで、 MQTT Publisher | Subscriber のクライアントを利用できるようになります。

sudo apt-get install -y mosquitto-clients

2.2. MQTT Broker の 起動設定

 RemoNavi Receiver Dockerにてインストールされ、稼働していますので、何も設定する必要はありません。
 もし、稼働方法や MQTT の設定を変更する場合は以下を参考に、利用者様にて実施してください。

# RemoNavi Receiver にアクセス
docker exec -it remonavi-receiver /bin/bash

# Receiver Docker 内 
# <mosquitto の稼働設定>
#    MQTT Broker は 0.0.0.0:1883 の平文でListenしています
#    認証は anonymous を許容
#
vi /etc/supervisor/conf.d/supervisord.conf
  [program:mqtt_broker]
  command=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
  autostart=true
  autorestart=true

 (※) MQTT Brokerの設定を変更する場合は、/etc/mosquitto/mosquitto.conf で指定します
 (※) 必要ない場合は、上記を削除します。

2.3. RemoNavi Receiver の起動

 MQTT Broker の Listen ポートを公開して起動します。

 docker run -d -p 9080:80 -p 1883:1883 --name remonavi-receiver --privileged remonavi-receiver:1.0

  (※) -p 1883:1883 が MQTT Listenポートです。
    RemoNavi 中継路は暗号化通信のため、MQTTで 暗号化する必要はありません

3. RemoNavi を使って MQTT メッセージを送受信

 Topoc [remonavi] で MQTTメッセージの送受信をします。
 検証を簡略化するために、以下とします。

  • Publisher と RemoNavi Sender は同一マシン上に配備
  • Subscriber と RemoNavi Receiver は同一マシン上に配備

【操作手順】

  1. RemoNavi Gateway にて中継経路を作成
    • 接続先ホスト : 127.0.0.1 (Receiver Docker内の MQTT Brokerの IPアドレス)
    • 接続先ポート : 1883 (Receiver Docker内の MQTT Brokerの Listenポート番号)
    • 接続種別: Receiver経由
  2. MQTT送信側の設定
    • RemoNavi Sender を起動
    • RemoNavi Sender で MQTT中継経路の利用設定(ポート番号 [9123] を指定)
  3. MQTT受信側の設定
    • RemoNavi Receiver を起動
    • RemoNavi Receiver でMQTT中継経路の利用設定
  4. いざ送受信!
    1. MQTT Subscriber を Broker に接続して受信待ち
      mosquitto_sub -t remonavi
        (*) 受信すると、Publisher からのメッセージが表示されます。
      
    2. MQTT Publisher から Broker に向けてメッセージ送信
      mosquitto_pub -p 9123 -t remonavi -m "test message"
      
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?