[rabbitmq-discuss] Simplest possible embedded message producer

Jerry Kuch jerryk at vmware.com
Tue Mar 20 15:49:02 GMT 2012

This answer is likely to be less interesting/applicable to many
people than Tony and Simon's suggestions which can at least be
done entirely in software, but...

You could embrace the option of offloading more of the work into
another piece of hardware the way the Ethernet shields for Arduino
boards (also based on the ATmega family of microcontrollers) work.

For your network connectivity you could use an (almost, modulo
probably power supply) all in one part like the Wiznet W5100, 
which gives you a TCP and UDP supporting IP stack baked into an 
Ethernet chip.  Your could would then talk to this thing via SPI,
something that at least will fit on the ATmega side...

If you're using Arduino, you can buy most of this stuff pre-made.
If not, it's probably a few afternoons of breadboarding and debugging,
although IIRC the Wiznet only comes in a tiny surface mount package 
that might be annoying to work with, depending on how you're equipped.

Best regards,

----- Original Message -----
From: "Tony Garnock-Jones" <tonygarnockjones+rabbitmq at gmail.com>
To: "Simon MacMullen" <simon at rabbitmq.com>
Cc: rabbitmq-discuss at lists.rabbitmq.com, "Dirk" <dirk.swart at gmail.com>
Sent: Tuesday, March 20, 2012 8:30:08 AM
Subject: Re: [rabbitmq-discuss] Simplest possible embedded message producer

The other option would be to use UDP and build a trivial UDP-accepting plugin for RabbitMQ, thus moving almost all of the complexity and memory-requirements onto the server. (Actually that'd be a nice feature to have in general.) 

On 20 March 2012 11:13, Simon MacMullen < simon at rabbitmq.com > wrote: 

And if rabbitmq-c is still too big, and all you need to do is publish messages from the tiniest client possible, you might want to look at STOMP - you could probably write a minimal publish-only client quite simply, and it would be pretty small. 

Cheers, Simon 

On 20/03/12 15:06, Alan Antonuk wrote: 

I'm not sure AMQP/rabbitmq-c client would be able to run on that 
constrained of a system (someone else on this list might correct me though). 

In general you're going to need a TCP/IP stack so you can connect to the 
broker, then enough memory to hold a couple frames (the minimum frame 
size is 4096 bytes). You could probably do it with smaller buffers but 
it's not something done with most client libraries. 

If that all will fit in your constrained system, I would probably pick 
apart the the rabbitmq-c library and pare it down to something that does 
the minimum you need. Then again I'm not experienced with development of 
embedded devices, so I'm not sure how people typically accomplish these 


On Mon, Mar 19, 2012 at 11:41 AM, Dirk < dirk.swart at gmail.com 

<mailto: dirk.swart at gmail.com >> wrote: 

- Does anyone have code for the simplest possible message producer? 

I would like to produce messages from a _very_ memory constrained 
embedded system*. Can anyone advise me on what the absolute minimum I 
have to do to produce and send a message is? 

Also, if anyone can point me towards what a simple "hello world" 
message template looks like, it would be appreciated. More details: 
I'm thinking of the sort of message that the Tutorials cover (eg: 
http://www.rabbitmq.com/ tutorials/tutorial-one-python. html ) 

Thanks in advance - I'm a Rabbit noob, apologies if this post is not 
using the correct terms. 

* ATMega 328p, same chip the Arduino uses. 
______________________________ _________________ 
rabbitmq-discuss mailing list 
rabbitmq-discuss at lists. rabbitmq.com 
<mailto: rabbitmq-discuss@ lists.rabbitmq.com > 
https://lists.rabbitmq.com/ cgi-bin/mailman/listinfo/ rabbitmq-discuss 

______________________________ _________________ 
rabbitmq-discuss mailing list 
rabbitmq-discuss at lists. rabbitmq.com 
https://lists.rabbitmq.com/ cgi-bin/mailman/listinfo/ rabbitmq-discuss 

Simon MacMullen 
RabbitMQ, VMware 

______________________________ _________________ 
rabbitmq-discuss mailing list 
rabbitmq-discuss at lists. rabbitmq.com 
https://lists.rabbitmq.com/ cgi-bin/mailman/listinfo/ rabbitmq-discuss 

Tony Garnock-Jones 
tonygarnockjones at gmail.com 

rabbitmq-discuss mailing list
rabbitmq-discuss at lists.rabbitmq.com

More information about the rabbitmq-discuss mailing list