在防火墙后面使用 Azure 服务总线进行工业控制 (Windows CE)



我正在研究一种工业控制系统设计,它要求嵌入式计算机(无头Windows CE 5.x盒)在NAT后面运行,以控制各种工具(例如打印机,安全灯,单镜头相机等)。

这些设备由 Azure 上托管的系统控制,通常位于 NAT 后面,这意味着它们需要建立与 Azure 服务总线的出站连接,我认为

这些基于 Windows CE 的嵌入式计算机既是客户端(将报告数据发送回服务总线),又提供自己的服务(例如,控制灯光的无外设计算机将具有服务通过服务总线调用的TurnLightsOn()服务方法)。

问题是双重的:

  1. 据我所知,Azure 服务总线功能仅支持 WCF 服务。
  2. Windows CE 不能承载 WCF 服务,它只能是 WCF 的客户端。

如何使用Windows Azure服务来解决这个问题?

存在解决方法:将 TCP 与我自己设计的应用程序协议一起使用,该协议直接连接到我的辅助角色,它们之间没有任何服务总线(但 Azure 在辅助角色实例之间提供自动负载均衡)。

另一种选择是从Windows CE迁移到Windows Embedded,

但这会增加复杂性(由于使用的许多计算机都有内置的Windows CE计算机,使用Windows Embedded将需要添加需要维护的新物理计算机)。

与此同时,有一个Azure IoT Device SDK,Toradex也为WinCE移植了它,也许这会有所帮助。

http://developer.toradex.com/knowledge-base/azure-iot

https://github.com/Azure/azure-iot-sdks/blob/develop/c/doc/run_sample_on_toradex_wec2013.md

最新更新