将数据从远程传感器传递到服务器

时间:2017-09-21 13:47:16

标签: performance sensor rrdtool

我目前正在开发一个项目,该项目涉及许多基于Linux的小型主机,这些主机从传感器读取数据并通过Open VPN链接将数据发送到服务器。该服务器是一个Ubuntu VM,随着网络的增长,它将能够扩展以满足需求。

最初,我们将在校园内分布20个传感器,但最终解决方案可能需要扩展到数千个传感器。

每个传感器每15分钟将数据传递到服务器。每个事务的数据大小大约为100个字节。

数据将被放置在服务器上的循环数据库中,并最终通过apache Web界面进行查看。

我想知道使用开源技术目前可用的最佳解决方案是从传感器到服务器实现此事务。

我们正在考虑使用ssh,scp,netcat和基于网络的解决方案,但会考虑替代方案。

1 个答案:

答案 0 :(得分:0)

这种用法的常见实现是消息传递协议;传感器,物联网等最受欢迎的是MQTT。几乎所有您需要的语言都有许多开源库,还有几个开源代理库,例如: MosQuitto

您提到的技术看起来像是同步的 - "传感器在服务器上打开SSH shell并执行BASH命令","传感器在服务器和PUTS数据上执行HTTP请求"。 这相当于通过电话联系某人 - 如果他们不在那里,您必须等待电话响铃,并且您的信息可能会丢失(为了这个例子,请忽略语音邮件)

这在大多数情况下都存在问题 - 传感器通常使用不可靠的协议进行连接,并且CPU和存储容量有限。基于消息传递的异步协议要求传感器发送带有数据的消息,并继续其生命;消息传递解决方案处理错误处理,缺少连接等。 这相当于发送电子邮件 - 即使您在发送电子邮件时不在网络上,或者收件人不在,最终邮件也会到达。

MQTT是一种非常轻量级且灵活的消息传递解决方案,专为硬件有限的客户而设计。

相关问题