连接到具有低数据流量的防火墙后面的设备

时间:2014-09-03 05:40:03

标签: sockets raspberry-pi keep-alive openvpn

我正在通过3G连接开发一个带有覆盆子pi的连接设备。我的3G优惠为我提供了50 MB的最大数据使用量限制。我希望能够与来自互联网的覆盆子Pi交换非常少量的数据(例如每天~5 kB)但我希望能够全天候与它进行通信。

当然,通过3G连接,我没有公共IP,我无法直接访问我的覆盆子。问题:如何在不超过50 MB /月的情况下与Rapsberry Pi进行通信?

我尝试过OpenVPN连接,但每月需要200 MB来保持连接。我还尝试使用node.js的socket.io来保持我的覆盆子Pi和我的服务器之间的链接,但它再次需要每月200 MB。

是否有想法在没有数据昂贵的保持连接的情况下即时发送带有小负载的某种通知?

2 个答案:

答案 0 :(得分:1)

我做过类似事情的一种方法是使用XMPP。我在Google上为我的Pi创建了一个帐户,然后写了一个小的python应用程序,它将使用此帐户登录Gtalk(XMPP)并处理收到的消息。 当然,使用这种方法确实会产生一些开销,因为Pi会不时地“ping”Google服务器,但可能不会高达50MB(但是,它可能是,我从未检查过)。

答案 1 :(得分:0)

进行了许多研究和测试,感谢Morne的回答,我找到了2个满足我需求的解决方案:

  • XMPP:用于即时消息传递的协议。保持连接〜30 MB /月
  • MQTT:protoco l用于M2M通信并由Facebook Messenger使用。经过一些测试后,它仅使用12 MB /月的keepalive。它专为小带宽通信而设计。我会用它。有一些python和node.js包