Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8892

グローバルインストールせずにMQTTをCLIで試す

$
0
0

JavaScriptやNode.jsを書いてる人はnpmコマンドなどは通常装備だと思うのでnpxでmqttを利用する方法のメモです。
JSerやNoder向けIoTって感じですね。とはいえMQTTをとりあえず試すってときの話です。

npmが入ってない人は素直にmosquittoをインストールでも良いかも。

MQTTクライアントライブラリ(MQTT.js)を利用

mqttをcliで利用できるかつnpmにレジストリされてるツール探してました。

探しても見つからないなぁと思ってたらmqtt.jsのCLI利用のドキュメントにありました。 @youtoyさんありがとうございます :)

subscribe側

$ npx mqtt sub -h ホスト名 \
-t トピック名 \

これで待ち受けてくれます。npxは一回だけインストールして実行してくれるのでグローバルインストール(npm i -g ~~)したく無い時に使えます。

publish側

$ npx mqtt pub -h ホスト名 \
-t トピック名 \
-m '{"content":"Hello!!! from MQTT!"}'

PubNubの場合

PubNubで5分でリアルタイムWebこと初め + MQTTでデバイス連携もなど最近PubNub触ってるのでこちらもメモ。mosquittoのCLIとオプションが一緒なのでコピペで大丈夫でした。

subscribe側

$ npx mqtt sub -h mqtt.pndsn.com \
-t pub-c-xxxxxxxxxxxxxxxxxxxx/sub-c-xxxxxxxxxxxxxxxxxxxx/トピック名 \
-i pub-c-xxxxxxxxxxxxxxxxxxxx/sub-c-xxxxxxxxxxxxxxxxxxxx/クライアントID

publish側

$ npx mqtt pub -h mqtt.pndsn.com \
-t pub-c-xxxxxxxxxxxxxxxxxxxx/sub-c-xxxxxxxxxxxxxxxxxxxx/トピック名 \
-i pub-c-xxxxxxxxxxxxxxxxxxxx/sub-c-xxxxxxxxxxxxxxxxxxxx/クライアントID \
-m '{"content":"Hello!!! from MQTT!"}'

所感

subscribe側は一度実行したら実行しっぱなしというのが多いと思うので、npxでも良さそうだけど、publish側は確認で何回も実行すると思うのでnpxでの実行だと毎回インストールされてだるいかもしれませんね。

npm i -g mqttでグルーバルインストールしてしまってもよいかもしれません。

追記: 同じタイミングで記事書いてくれてたという笑

@youtoyさんも記事を書かれていたので、リンクを掲載します。

MQTTクライアントをコマンドラインで簡単に実行する(npx と MQTT.js)

同じタイミングで......わろ


Viewing all articles
Browse latest Browse all 8892

Trending Articles