mq2raw
Section: WIN SYSTEM (1W)
Updated: 2023.2.23
Index
Return to Main Contents
名称
mq2raw - MQTTブローカーから RAW 形式データを受信
形式
mq2raw [-gsD] [-t topic] [-p port]
[-q qos]
[-i id]
[-c cafile]
[-d capath]
[-C certfile]
[-k keyfile]
[-u user]
[-P pswd]
host
outkey
shmsize
[
logfile
]
mq2rawd [-gs] [-t topic] [-p port]
[-q qos]
[-i id]
[-c cafile]
[-d capath]
[-C certfile]
[-k keyfile]
[-u user]
[-P pswd]
host
outkey
shmsize
[
logfile
]
解説
mq2raw は、ホスト
host
のMQTTブローカーに接続して WIN 形式データを受信 (subscribe) し、
それをキー
outkey
で与えられる共有メモリ・セグメントに巡回的に書き込みます。
受信するMQTTメッセージのトピックはデフォルトで "win/data" です。
共有メモリ・キーは32ビットの整数値です。
outkey
をもつ共有メモリ・セグメントが存在しない場合は、大きさ
shmsize
(KB) の共有メモリ・セグメントが作られます。すでに存在している場合は、
そのサイズが
shmsize
(KB) よりも小さいとエラーになります。
ブローカーから受信された1メッセージのペイロードが、
共有メモリ上の1ブロックになります。
その形式は、書き込み時刻付き・ブロック末尾のブロック長付きです。
共有メモリ上の形式については order(1W), recvt(1W) を
参照してください。
mq2rawd は daemon モードで起動します。
ログファイル名
logfile
を指定すると、ここに動作ログがとられ、指定しないとログ情報は標準出力に
送られます(ただし、daemon モードで動い
ている時は syslogd(8) に送られます)。 ログファイルは書き込みのたび毎に
オープン/クローズされます。
mq2raw は、HUPシグナルを受けると
ログファイル
logfile
に流量情報を書き出します。これには起動時、または
前回HUPシグナルを受けたときからの、
メッセージ数、バイト数、毎秒メッセージ数、毎秒バイト数
が含まれます。
mq2raw は特定のWIN チャネル番号のデータのみを選別して受信することは
できません。受信後にチャネル番号で選別するには、raw_raw(1W) 等が使えます。
mq2raw は、引数なしで起動すると簡単な使用法を表示します。
オプション
- -s
-
SSL/TLS化されたブローカーに接続します。
- -t topic
-
受信するべきMQTTメッセージのトピックを
topic
に設定します。トピックは任意の文字列で、'/'で区切って階層化することができます。
1つまたは複数の階層をそれぞれワイルドカード '+'と'#' で表現することにより、
複数のトピックを受信指定することもできます。トピックの詳細については
MQTTの資料を見てください。
- -p port
-
MQTTブローカー
host
のTCPポート番号を
port
に指定します。デフォルトは 1883 です。ただしオプション -s
で SSL/TLS化した場合のデフォルトは 8883 です。
- -q qos
-
MQTTブローカーとの間の通信品質(QoS)を
qos
に設定します。設定できる値は 0,1,2 のいずれかで、デフォルトは 0 です。
QoSの意味についてはMQTTの資料を見てください。
- -u user
-
- -P pswd
-
MQTTブローカーがユーザー認証を必要とする場合、ユーザー名
user
とパスワード
pswd
をそれぞれ設定します。
- -c cafile
-
- -d capath
-
SSL/TLS対応のブローカーの場合、CA(認証局)証明書である
PEM形式のファイル
cafile
またはそれを内容として持つディレクトリ
capath
のいずれかを指定します。
デフォルトでそれぞれ /etc/ssl/certs と /etc/ssl/cert.pem が使用され
(試され)ますが、これらがいずれもが有効ではない場合は指定が必要です。
- -C certfile
-
- -k keyfile
-
SSL/TLS対応のブローカーがクライアント認証を必要とする場合、
PEM形式の証明書ファイル
certfile
と
PEM形式の秘密鍵ファイル
keyfile
の2つをそれぞれ指定します。
- -D
-
daemon モードで起動します。
- -g
-
デバッグ情報を出力します。
ここで出力されるトピック・QoS・メッセージIDは受信された
各メッセージに付いてきたものです。
例
ホスト mybroker のMQTTブローカーからWINデータを受信してキー 21 の
共有メモリ(大きさ1000KB)に書き出します。
mq2raw mybroker 21 1000
このとき、並行してWINデータパケットをUDPポート 7000 で受信して
キー 11 の共有メモリに書き出しているとします。
recvt 7000 11 1000
これら2系統のデータを1つの共有メモリに合流させるには、
次の3つの方法があります。
(1) sendt_raw 21 localhost 7000
MQTT経由のデータをUDPに転送して共有メモリ 11 にまとめる。
(2) raw2mq 11 mybroker
UDP経由のデータをMQTTに転送して共有メモリ 21 にまとめる。
(3) rawmix 11 21 31 1000
共有メモリ 11 と 21 のデータを別の共有メモリ 31 にまとめる。
ソース
- mq2raw.c
-
関連事項
raw2mq(1W), order(1W), recvt(1W), raw_raw(1W), rawmix(1W)
Index
- 名称
-
- 形式
-
- 解説
-
- オプション
-
- 例
-
- ソース
-
- 関連事項
-
This document was created by
man2html,
using the manual pages.
Time: 07:38:35 GMT, March 23, 2025