我有一个运行 Windows IOT Core 的 Raspberry Pi,它正在运行我的家庭自动化应用程序。现在我需要在 RB pie 和 ESP8266 之间建立通信。
我一直在考虑 MQTT 协议,但我不想让外部服务器运行 MQTT 代理,而且我找不到 Win IOT 的代理。Windows IOT Core 是否存在 MQTT 代理?如果不是,您会为此目的推荐什么通信协议?
我有一个运行 Windows IOT Core 的 Raspberry Pi,它正在运行我的家庭自动化应用程序。现在我需要在 RB pie 和 ESP8266 之间建立通信。
我一直在考虑 MQTT 协议,但我不想让外部服务器运行 MQTT 代理,而且我找不到 Win IOT 的代理。Windows IOT Core 是否存在 MQTT 代理?如果不是,您会为此目的推荐什么通信协议?
Antonio 在 Windows IoT Core 上为您提供了一些选项
如果您正在使用 Node.js 构建应用程序,则可以使用Mosca ( http://www.mosca.io )
如果您正在使用 Python 构建应用程序,您可以查看hbmqtt ( https://github.com/beerfactory/hbmqtt )
当然,对于 .NET 应用程序,您可以搜索 Nuget。GnattMQ (www.nuget.org/packages/GnatMQ) 似乎是非常流行的 .NET 库
这是用 C# 编写的GnatMQTT,所以我想应该建立在 Window IoT 上
可能存在一些 MQTT 库或其他协议。但我假设以下情况并提出解决方案:
假设:
解决方案:
示例消息格式:
消息可以是字符串(ASCII 编码)。
ABBBEEECCCDDDD.....DDD
A: Start Header
BBB: Sender ID
EEE: Receiver ID
CCC: Payload Byte Count
D..: Payload
OR
A|BBB|EEE|DDDDD..DDDDDD|F
A: Start Header
|: Seperator
BBB: Sender ID
EEE: Receiver ID
D..: DATA payload
F: End Header.
此配置将允许您使用 DHCP,而不是记录客户端的任何 IP 地址,并且实施起来很便宜(根据资源 ram、cpu 等)。注意:我不知道 MQTT 是如何使用资源的。
有大量可用的 MQTT 代理。ActiveMQ是用 Java 构建的,可以安装在任何支持 Java 的平台上。Mosquitto和RabbitMQ有适用于 Windows 的安装程序。
但是,如果您想要比 MQTT 更轻量级的东西,您可能还想研究CoAP。