我认为,无论是MQTT消息传递,它都是以太网。不幸的是,我没有以太网线。
我正在自动化我的家,想要使用mqtt作为消息服务。我的按钮给运行mqtt客户端的arduino板提供了一个信号(如灯光和#39;)。如何在串行线路上输出mqtt消息,以便mqtt代理可以直接获取传输的消息,而无需使用以太网电缆?
答案 0 :(得分:3)
我正在尝试为自己的家庭自动化实现类似的目标,虽然我的墙壁上有Cat5e,因此可以使用以太网。
以下是使用MQTT而不是串行通信的一些可能性:
我确实开始在串行实现上查看MQTT,但我没有解决的问题之一是如何处理多个设备:
所以我现在正在考虑为ENC28j60以太网控制器实现MQTT-SN ......
答案 1 :(得分:2)
由于我正在寻找相同的答案并且没有找到我喜欢的任何内容,我决定编写一个实现,使任何蓝牙,USB或纯串行端口通信能够发送MQTT消息。您可以在此处找到结果:https://github.com/vortex314/serial2mqtt 它使任何Linux机器(Raspberry Pi 1,Raspi 3,PC)都可以充当网关。 它是用C ++编写的,所以它应该足够轻巧,适合小型设备。 希望这会有所帮助。
答案 2 :(得分:0)
对于SLIP,还有向后兼容的SlipMux,它可以轻松支持MQTT数据包类型。另见:sending packets over serial comms java
您可以构建一个简单的代理,在一侧将MQTT数据包转换为SlipMux数据包,并在另一端解码数据包。 MQTT实现不应该注意任何事情。