在C中为MQTT开发客户端库

时间:2014-02-06 06:38:12

标签: microcontroller mqtt

我想为MQTT开发一个c客户端库,使我的PIC 8位微控制器与MQTT代理(比如Active MQ)通信。我对这个领域比较陌生。任何人都可以建议我从哪里开始。我需要实现刚开始的CONNECT,SUBSCRIBE,UNSUBSCRIBE,PUBLISH和DISCONNECT API。

提前致谢

3 个答案:

答案 0 :(得分:2)

你需要先让以太网工作,然后才能实现协议......:)

一个好看的地方是arduino客户端(http://knolleary.net/arduino-client-for-mqtt/)应该已经解决了很多你需要做的事情。

祝你好运!

答案 1 :(得分:1)

我真的不确定AMQP客户端是否可以在像AVR这样的有限系统上运行(但是系统难度很大)。

您至少需要以下内容:   - TCP / IP堆栈;   - 足够的内存来容纳一些帧(4096字节或更小但不经常);

如果您认为arduino将处理所有这些,我将从rabbitmq-c库开始并将其剥离。

其他选项,如果rabbitmq-c不够小,并且您的目标只是发布消息,请查看STOMP以及如何将其与RabbitMQ或其他AMQP结合使用。 Stomp的占地面积非常小,可能是最好的拍摄对象。

干杯,

答案 2 :(得分:0)

您可以使用XSockets.NET,因为您可以将任何具有TCP / IP的设备连接到XSockets,然后与其他设备通信。

它基本上会像这样工作。

  1. 在某处设置XSockets服务器(以localhost开头)
  2. 从Arduino连接到XSockets
  3. 使用XSockets发布/订阅模式在arduino和连接到XSockets的任何其他设备之间发送/接收数据
  4. 此处的简单视频演示:Arduino pub/sub with XSockets

    如果你想从XSockets中混合使用其他任何技术,那么这比在Arduino上写东西更容易。

    编辑:刚看到你没说Arduino ...... 8位PIC微控制器可能是另一个故事:)我刚刚连接了Arduino和Netduino