kap*_*ppa 8 cloud azure mqtt iot
我有一个后端设备,MQTT客户端连接到开源MQTT代理(Mosquitto).另一方面,我有许多前端设备(PC,平板电脑,移动),GUI应用程序也连接到代理.所以这里Mosquitto作为后端设备和前端设备之间的通信点,只是在它们之间转发消息.有时传输的数据量可能非常高(例如1 MB/min).
一个后端设备+许多前端设备是一个安装.我需要为数千个此类安装同时工作的基础设施做好准备.所以我的服务需要非常可靠.我的公司使用Azure云解决方案,所以我开始学习这个解决方案,我必须承认我有点困惑.我已经读过我需要使用IoT Hub,但它需要MQTT网关才能与MQTT设备对话.另一方面,如果我理解得很好,网关需要在某个VM上运行,所以这里我失去了我的解决方案的可扩展性.我对吗?现在,如果我需要支持100k或500k设备,那么我将需要另一台VM?还有一件事是我需要将所有这些与一些web服务集成(用于管理后端和前端设备),所以我需要webservice和MQTT代理之间的一些连接......
在我开始使用Azure之前,我想,我将简单地启动一个MQTT代理服务,并且神奇地它将是高度可扩展的,并且能够为数千个设备提供服务.
谁能解释我怎么咬这个?
evi*_*obu 12
Azure IoT Hub现在可以本地与MQTT进行对话.不再需要协议网关. https://azure.microsoft.com/en-us/documentation/articles/iot-hub-mqtt-support/
如果您在最后一小时尝试构建MQTT用户名和密码,这将对您有所帮助:https: //github.com/Azure/azure-content/blob/master/articles/iot-hub/ iot-hub-devguide.md#示例
例:
用户名(DeviceId区分大小写):
iothubname.azure-devices.net/DeviceId密码(使用设备资源管理器生成SAS):
SharedAccessSignature sr=iothubname.azure-devices.net%2fdevices%2fDeviceId&sig=kPszxZZZZZZZZZZZZZZZZZAhLT%2bV7o%3d&se=1487709501
在Windows上使用Paho和MQTT.fx进行测试.我无法通过mosquitto进行身份验证,并且我付出了合理的努力,甚至尝试使用stunnel以防万一蚊子的TLS支持没有削减它.Mosquitto可能无法正确处理长密码或类似的东西.它会引发身份验证错误.逃避%并&没有帮助.
如果有人让Mosquitto与Azure IoT Hub合作,请睁开眼睛.
目前,Azure 中尚未正式支持 MQTT 协议,只有支持 AMQP 和 HTTP 的 IoT 中心的公共预览版。为了将 MQTT 设备连接到 IoT 中心,Microsoft 提供了一个名为 IoT 协议网关 ( https://github.com/Azure/azure-iot-protocol-gateway ) 的“框架”,用于执行 MQTT 和 AMQP 之间的协议转换。IoT 协议网关可以安装在本地或作为 Azure 辅助角色安装在云中。在第二种情况下,您拥有 Azure 提供的与辅助角色实例相关的可扩展性。由于 IoT 中心(仍处于公共预览版)和 IoT 协议网关本身的生命周期较短,因此该解决方案绝对是全新的。
您的第一个解决方案基于使用应安装在虚拟机中的第三方 MQTT 代理(如 mosquitto)。AFAIK mosquitto 不支持像 HiveMQ 代理那样的集群(请参阅此处的另一个回复:使用 Mosquitto 代理形成集群)。
关于 Web 服务和 MQTT 代理之间的连接的最后一件事。在这种情况下,Web 服务应使用您需要包含在 Web 服务本身内的 MQTT 客户端,将(从前端)对他的调用转换为在 MQTT 代理上发布的消息。
即使使用 AWS,以下链接也可能很有用: https://groups.google.com/forum/#! topic/mqtt/19jqofoPLro
保罗.
| 归档时间: |
|
| 查看次数: |
15111 次 |
| 最近记录: |