12-18-2011 08:39 AM - edited 12-18-2011 08:42 AM
RabbitMQ (http://www.rabbitmq.com/) is an open source message broker based on the AMQP protocol (http://www.amqp.org/). I plan to use it to connect data processing modules written in different programming languages (LabVIEW, Ruby, Python and Java) and running on different computers.
As I couldn't find any LabVIEW wrappers so far, I would like to share my first success with the community. Under the hood of the attached example, I use the .NET client according to the example given at https://github.com/rabbitmq/rabbitmq-tutorials/tree/master/dotnet.
The example simply sends a string from send.vi to receive.vi, both on localhost (it can be easily modified to send messages from one computer to another). Read the readme.txt to try it out.
I'll post further examples while working my way deeper into the topic.
12-18-2011 09:15 AM
Awwwww!
I was curious by you description and discovered it is latter than 2009 (only version I have on this machine, bummer).
IT does sound interesting.
Don't back-save it for me since Olivia will be visitng shortly but others may want to look at an older version.
Ben
12-18-2011 09:29 AM - edited 12-18-2011 09:30 AM
Good hint (the above file is LV2011)! Here are the LV2009 and LV2010 versions...
12-18-2011 09:45 AM - edited 12-18-2011 09:49 AM
Too cool, this stuff!!! Just managed to send a message from LabVIEW to Ruby!
The Ruby script can be found at: https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/ruby/receive.rb
Procedure:
1.) Install JRuby http://jruby.org/ or Ruby http://www.ruby-lang.org/de/downloads/
2.) Install the amqp gem. For JRuby, enter jruby -S gem install amqp in the console. For Ruby, enter gem install amqp.
3.) In the console, start the ruby script: jruby -rubygems receive.rb or ruby -rubygems receive.rb, respectively.
4.) Start send.rb from the posts above and send a message.
01-06-2012 04:10 PM
I'm so glad to find your example here, and used it to send a message to python/pika.
Though I don't know anything about ruby, I'm wondering when you receive the message from lv, can you do it with a event-driving style? I mean can you make it listen to the mq while still perfom other task in ruby?
I'm currently stuck inside the listening loop in python/pika, and I wish to find a way out.
Thanks,
Lei
08-20-2014 01:38 AM
Distrio made a LabVIEW wrapper for RabbitMQ: http://sine.ni.com/nips/cds/view/p/lang/en/nid/211065
08-09-2017 09:12 AM
09-02-2020 05:24 PM
Could you help me setting an address and API KEY??
10-07-2020 09:13 AM - edited 10-07-2020 09:14 AM
@Marcos.eletrica wrote:
You can't use it with CRIO because it is based on .NET library provided by the RabbitMQ team. .NET library calls are still not supported on NI RT Linux platforms.
You could however try to use the C library provided by RabbitMQ team (or any other MQTT or AMQP C library), compile it for ARMv7 (32 or 64 bit for CRIO) and then use it. There is a lot of work to create wrappers for that said C library though 🙂