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。
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 库
我有一个 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。
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 库