Html 用于嵌入式设备的服务器端应用程序

Html 用于嵌入式设备的服务器端应用程序,html,tcp,embedded,websocket,firewall,Html,Tcp,Embedded,Websocket,Firewall,我想了解一些关于最佳服务器端代码的建议,这些代码可以处理来自设备的实时数据,并根据输入做出决策。一个简单的例子:假设我有一个支持web的温度计,运行一个轻TCP/IP客户端堆栈。当温度达到30度时,我希望设备与服务器联系,然后服务器向我发送电子邮件。我还希望服务器能够发送命令打开加热器 这里的问题是从服务器启动TCP消息,并通过各种各样的任意防火墙和路由器,一直到客户端设备的能力。我知道有一些“变通方法”,比如轮询服务器以获取更新,或者“长轮询”,在这种情况下,我会调用服务器,并保持连接处于打开

我想了解一些关于最佳服务器端代码的建议,这些代码可以处理来自设备的实时数据,并根据输入做出决策。一个简单的例子:假设我有一个支持web的温度计,运行一个轻TCP/IP客户端堆栈。当温度达到30度时,我希望设备与服务器联系,然后服务器向我发送电子邮件。我还希望服务器能够发送命令打开加热器

这里的问题是从服务器启动TCP消息,并通过各种各样的任意防火墙和路由器,一直到客户端设备的能力。我知道有一些“变通方法”,比如轮询服务器以获取更新,或者“长轮询”,在这种情况下,我会调用服务器,并保持连接处于打开状态,以防它有东西要发送。这里的问题是带宽。消息很少见,但很重要,因此标头和握手占流量的98%

我一直在阅读WebSocket,看起来它们正是我所需要的,特别是当与HTML5搭配时


有没有人知道一个现成的服务器软件包可以在云服务器上运行,并使用一些标准化的方法将数据下推到我的设备上?我真的不想在这里重新发明轮子,我不敢相信我是第一个尝试这个的人。我看到一些人用他们自己的专有解决方案来实现这一点,但我更感兴趣的是购买一站式软件包。

WebSocket是将嵌入式设备连接到后端基础设施的有效选择,因为它具有低开销、低延迟以及与Web和通用网络基础设施的兼容性。有多种服务器实现可用,如Jetty、node.js等

例如,下面是一个将Arduino设备连接到WebSocket服务器和浏览器客户端的演示,在图表中显示实时数据:

这里使用的技术AutobahnPython是一个基于Python/Twisted的WebSocket实现

  • 提供服务器和客户端实现
  • 直接在RasperryPi等嵌入式设备上运行
  • 使通过串行或CAN总线连接的传感器易于访问(因为Twisted很好地支持这一点)
  • 在WebSocket顶部提供RPC和PubSub消息模式
这项技术是开源的,所以你可以推出自己的解决方案。如果您需要帮助/服务来完成此任务,请与我联系;)我们还提供了Tavendo WebMQ,这是一种虚拟设备(VMware、EC2),它添加了功能、管理UI等,还包括一个REST API,用于将数据推送到WebSocket客户端


免责声明:我是Autobahn的作者,为Tavendo工作。

事实上,我刚刚偶然发现了Autobahn,它看起来非常有趣。我怎样才能直接联系你?给我发封邮件:tobias“dot”oberstein“tavendo”dot“deI”刚刚发邮件给联系人。。。这样行吗?好的-也发送到你建议的地址。谢谢,是的,谢谢!我很快就会回答。