TIL#13 MQTT (mosquitto)


MQTT?


メッセージキューTelemetryTransportとは、事物通信(IOT)事物間の通信(Machine to Machine)のリアルタイム生放送のことですか?あるいは、リアルタイム機能を利用できる簡単なメッセージ伝送プロトコルである.
  • の一般的なHTTP通信とは異なり、pub(発行者)/sub(サブスクライバ)は一度に多くのクライアントと双方向通信することができる.
  • iot使用済みiotでは、機器のipを交換しても正常に使用できます.

  • By Simon A.Eugster自家製、CCBY-SA 4.0https://commons.wikimedia.org/w/index.php?curid=70622928

  • Broker:サーバとクライアントの間にBrokerが存在し、クライアントはこのBrokerと通信します.名前の通り、サーバとクライアント間の仲介者ロール

  • Publish(パブリッシュ):トピックを指定し、そのトピックを購読しているクライアントに情報を送信します.
    *テーマ-ex)カメラ1/data 1カメラデータ1 Web開発url構造に類似
  • Subscribe:トピックを購読し、トピックとして発行された情報を受信します.
  • MQTT番組では、mosqittoまた蚊という番組でテストしてみたいのですが、無料なので~!

    mosqitto


    1.インストール

    brew install mosquitto //설치명령어

    2.プログラムの実行


    じっこうめいれい
    brew services start mosquitto

    同じ実行コマンドですが、次のコマンドで実行時にポート番号を確認できます.
    /usr/local/sbin/mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf 
    ポートが使用中のエラーが発生した場合

    lsof-i:ポート番号を確認し(使用中のポート番号を検索)、ステータスをリスニングします.

    kill-9エンドスローガン(使用中のポートを終了)を確認し、終了します.

    3.pub/sub設定


    3つのターミナルウィンドウmoschuto実行1,sub 1(購読)、pub 1(発行)を開く
  • sub(購読設定)
  • mosquitto_sub -h 호스트Ip(192.0.0.111) -t 토픽/상태(camera1/data1)
    ローカルテスト時にhホストを書く必要はありません
  • pub(発行設定)
  • mosquitto_pub -t 토픽/상태(camera/data1) -m (메세지내용)

    設定して作成すると、subサブスクリプションの端末でメッセージの内容を表示できます.

    参考講座:https://youtu.be/p_T5G1hJ35g
    参照リンク:https://gist.github.com/KazChe/6bcafbaf29e10a7f309d3ca2e2a0f706