MosquittopahoとPaho MQTTのいくつかのこと

1662 ワード

MQTTプロトコルはすでに非常に普及している.私たちはプログラムでMosquittopahoをlinux上のMQTTエージェントとして使用し、クライアントはPaho MQTTライブラリを使用します.使うのは簡単ですが、細部は記録する価値があります.
ポートとプロトコル
    Mosquittopahoは、MQTTベースのプロトコルを使用してTCP上で直接MQTTパケットを受信するポート(1883および9001)を開放する.一方、9001はMQTT overベースwebsocketプロトコルを使用する.Http/websocketでMQTTパケットを受信します.Websocketはブラウザクライアントで使用するのに適しています.
Websocketポートを開くには、プロファイル(mosquitto.conf)で開く必要があります.default.confを自分で定義することもできます.実行時にdefault.confファイルを指定することもできます.
mosquitto -c/etc/mosquitto/conf.d/default.conf
mosquitto.confとdefault.confファイルの内容
listener 1883
protocol mqtt 
listener 9001
protocol websockets
 

 
Websocketを使用するには、usr/local/libにlibwebsockets.so共有ライブラリが必要です.window wslの下で、
sudo apt-get update
sudo apt-get install libwebsockets-dev

ネットワークの内容にも従って、次のコマンドを実行しました.
ln -s/usr/local/lib/libwebsockets.so.10/usr/lib/libwebsockets.so.10
結果はよかった.
 
 
Paho MQTT  クライアント
JAvascriptライブラリ
paho公式サイトで:https://projects.eclipse.org/projects/iot.paho/downloads ダウンロードしたのはpaho-mqtt.jsとpaho-mqtt-min.jsの圧縮パッケージです.
覚えておいてください.paho-mqtt.jsはwebsoketプロトコルしかサポートしていないので、9001ポートを使用します.
Cライブラリ
    私が使っているのは C client source 1.3.0  同様にpahoの公式サイトでダウンロードします.ダウンロードした後、静的ライブラリlibpahomqtt 3.c.aにコンパイルしました.  src/sampleの例では、MQTTClient_publishとMQTTClient_subscribeの2つのインスタンスを使用します.clangコンパイルを使用します.
 mqtt appファイルディレクトリ
mqtt_app
   -  pahomqtt
         libpahomqtt3.c.a
         -include
   MQTTClient_publish.c
  MQTTClient_subscribe.c
コンパイルCMD
結果
ブラウザ側のMQTTプログラムはC言語のMQTTプログラムと相互に通信することができる.