Windows IOT Core 的 MQTT 代理?

MQTT broker for Windows IOT Core?

我有一个 Raspberry Pi 运行 Windows IOT Core,它是 运行 我的家庭自动化应用程序。现在我需要在 RB pie 和 ESP8266 之间建立通信。

我一直在考虑 MQTT 协议,但我不想拥有外部服务器 运行 MQTT 代理,而且我找不到 Win IOT 的代理。 Windows IOT Core 是否存在 MQTT 代理?如果不是,您会为此推荐什么通信协议?

这是用 C# 编写的 GnatMQTT,所以我想应该基于 Window IoT

可能存在一些 MQTT 库或其他协议。但我假设以下情况并提出解决方案:

假设:

  • Rpi 是系统的核心。
  • ESP 像卫星、传感器等一样工作
  • 所以 ESP 正在向 Rpi 报告数据
  • 它们(Rpi 和 ESP)都在同一个子网中。

解法:

  • 在 Rpi 端实现一个简单的 UDP bcast 侦听器并侦听 BROADCAST ip 上的某个特定端口。 (例如:8889)
  • 在 ESP 端实现一个 UDP 客户端将数据发送到 BROADCAST ip 和特定端口。 (例如:8889)
  • 实现一个消息格式,让ESP发送,让Rpi解析。

示例消息格式:

消息可以是字符串(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是怎么使用资源的

ton of MQTT brokers available. ActiveMQ is built with Java and can be installed on any platform that supports Java. Mosquitto and RabbitMQ 有 Windows 的安装程序。

但是,如果您想要比 MQTT 更轻量级的东西,您可能还想查看 CoAP

A​​ntonio 在 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 库