mq2raw -a/-b [-gsD] [-t topic] [-p port] [-q qos] [-i id] [-c cafile] [-d capath] [-C certfile] [-k keyfile] [-u user] [-P pswd] host [ logfile ] (-a/-bを指定したときは outkeyとshmsizeを省略可)
mq2rawd [-abgs] [-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 -a/-b [-gs] [-t topic] [-p port] [-q qos] [-i id] [-c cafile] [-d capath] [-C certfile] [-k keyfile] [-u user] [-P pswd] host [ logfile ] (-a/-bを指定したときは outkeyとshmsizeを省略可)
共有メモリ・キーは32ビットの整数値です。 outkey をもつ共有メモリ・セグメントが存在しない場合は、大きさ shmsize (KB) の共有メモリ・セグメントが作られます。すでに存在している場合は、 そのサイズが shmsize (KB) よりも小さいとエラーになります。 オプション-a/-bを指定した場合には outkey と shmsize は省略可能です。
ブローカーから受信された1メッセージのペイロードが 共有メモリ上の1ブロックになります。 その形式は、書き込み時刻付き・ブロック末尾のブロック長付きです。 共有メモリ上の形式については order(1W), recvt(1W) を 参照してください。
mq2rawd は daemon モードで起動します。
ログファイル名 logfile を指定すると、ここに動作ログがとられ、指定しないとログ情報は標準出力 (オプション-a/-bを指定した場合に限り標準エラー出力) に送られます。ただし daemon モードで動いている時は syslogd(8) に送られます。 ログファイルは書き込みのたび毎にオープン/クローズされます。
mq2raw は、HUPシグナルを受けると
ログファイル
logfile
に流量情報を書き出します。これには起動時、または
前回HUPシグナルを受けたときからの、
メッセージ数、バイト数、毎秒メッセージ数、毎秒バイト数が含まれます。
mq2raw は特定のWIN チャネル番号のデータのみを選別して受信することは できません。受信後にチャネル番号で選別するには、raw_raw(1W) 等が使えます。
mq2raw は、引数なしで起動すると簡単な使用法を表示します。
ホスト mybroker のMQTTブローカーからWINデータを受信してキー 21 の 共有メモリ(大きさ1000KB)に書き出します。 MQTTのユーザー名user、パスワードpassです。
mq2raw -u user -P pass 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 -u user -P pass 11 mybroker
UDP経由のデータをMQTTに転送して共有メモリ 21 にまとめる。
(3) rawmix 11 21 31 1000
共有メモリ 11 と 21 のデータを別の共有メモリ 31 にまとめる。
ホスト mybroker のMQTTブローカーからWINデータを受信して、shmx(1W) で チャネル番号 9100,9102,9103 の3チャネルの波形をモニターします。
mq2raw -a mybroker -u user -P pass | shmx 9100 9101 9102上と同様ですが、バイナリ/ASCII変換は shmdump(1W) で行います。
mq2raw -b mybroker -u user -P pass | shmdump -tq - 9100 9101 9102 |\
shmx 9100 9101 9102