使用MCU上的C,通过UDP(低数据计划)向Xively发送500个字节

时间:2013-09-11 12:41:14

标签: c tcp udp embedded xively

我们有自己的运行MQX RTOS的Freescale K60微控制器板。我们可以通过TCP向Xively发送POST(并且很可能是GET)数据,但我们的数据计划有限,TCP重新发送并且节省了大量开销。我听说UDP似乎是我们最好的解决方案。我们很难知道如何通过UDP到Xively进行GET和POST。我们知道我们必须编写自己的图层,任何获取提示?另外,有没有让Xively回到微控制器客户端的技巧?

1 个答案:

答案 0 :(得分:0)

Xively目前仅支持基于TCP的协议,它们是:

  • HTTP和HTTPS
  • WebSocket,Telnet和MQTT(每个都有和没有TLS)

您应该首先尝试使用带有CSV数据格式的HTTP,TCP有效负载很可能会变得足够小。为此,您可以使用非常便携的Xively C library。我已经检查了飞思卡尔Application Note AN3907,看起来像C库的移植应该是微不足道的,因为“MQX RTCS套接字与Unix BSD 4.4兼容”。因此,您应该能够使用现有的POSIX通信层,尽管您可能需要包含一些不同的标头,并确保已初始化堆栈以及使用静态IP或使用DHCP配置设备。要考虑发送的数据量,请参阅RTCS提供的RX / TX计数器。

但是,您可以选择使用MQTT。你最终会发送更小的数据包。 MQTT的基本功能应该很快就会添加到Xively C库中。

如果你说你需要一种你称之为“ack回到我们的控制器”的方法,那么MQTT就是你需要的。它是一个发布/订阅协议,但您需要保持持久连接。