From 77319c3fb12ea9e9ddc29fee2238965874bed1aa Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 18 Feb 2019 17:51:50 -0600 Subject: [PATCH] apps/system/psmq/README.txt: Add a README.txt file. This is just a copy of the description accompanying that patch that added system/psmq. --- system/psmq/README.txt | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 system/psmq/README.txt diff --git a/system/psmq/README.txt b/system/psmq/README.txt new file mode 100644 index 000000000..5c74f8a4e --- /dev/null +++ b/system/psmq/README.txt @@ -0,0 +1,47 @@ +README.txt +========== + +psmq is publish subscribe message queue. It's a set of programs and libraries +to implement publish/subscribe way of inter process communication on top of +POSIX message queue. + +Manuals, source code and more info at: +https://psmq.kurwinet.pl + + +Little demo using psmqd broker, psmq_pub and psmq_sub: + +# start broker and make it log to file + nsh> psmqd -b/brok -p/sd/psmqd/psmqd.log + +# start subscribe thread that will read all messages send on /can/* topic + nsh> psmq_sub -n/sub -b/brok -t/can/* -o/sd/psmq-sub/can.log + n/connected to broker /brok + n/subscribed to /can/* + n/start receiving data + +# publish some messages + nsh> psmq_pub -b/brok -t/can/engine/rpm -m50 + nsh> psmq_pub -b/brok -t/adc/volt -m30 + nsh> psmq_pub -b/brok -t/can/room/10/temp -m23 + nsh> psmq_pub -b/brok -t/pwm/fan1/speed -m300 + +# check out subscribe thread logs + nsh> cat /sd/psmq-sub/can.log + [1970-01-01 00:00:53] topic: /can/engine/rpm, priority: 0, paylen: 3, payload: + [1970-01-01 00:00:53] 0x0000 35 30 00 50. + [1970-01-01 00:00:58] topic: /can/room/10/temp, priority: 0, paylen: 3, payload: + [1970-01-01 00:00:58] 0x0000 32 33 00 23. + +As you can see /adc/volt and /pwm/fan1/speed haven't been received by subscribe +thread. + +Content: + +* psmqd - broker, relays messages between clients +* psmq_sub - listens to specified topics, can be used as logger for + communication (optional) +* psmq_pub - publishes messages directly from shell. Can send binary data, but + requires pipes, so on nuttx it can only send ASCII. +* libpsmq - library used to communicate with the broker and send/receive + messages