如何在没有安装 MQTT 应用程序的设备的情况下在 android 上使用 MQTT 将消息推送到特定 IP?
Posted
技术标签:
【中文标题】如何在没有安装 MQTT 应用程序的设备的情况下在 android 上使用 MQTT 将消息推送到特定 IP?【英文标题】:How to use MQTT on android to push messages to a specific IP without the device having the MQTT app installed ? 【发布时间】:2017-07-29 16:57:36 【问题描述】:我在 Java android Studio 中内置了一个 Wi-Fi 扫描仪发现工具(有点像 nmap),该应用能够找到连接到我家 Wi-Fi 的 IP 和 MAC 地址。
我想使用 MQTT 向网络上的所有设备发送推送消息,询问他们是否要订阅某个主题并接收有关该主题的更新。我知道可以将 MQTT 用于推送通知(如此处所述Basic Steps for Using MQTT in android),但我只能找到有关如何创建一个应用程序的说明,该应用程序一旦安装在该手机上就会向手机发送推送通知......
所以我不知道如何让我家中的设备连接到我的 Mosquitto 代理并订阅通过 MQTT 发送的消息。我想将消息推送到 Android 手机以外的设备(比如我的 FireStick),但这可能吗?
或者除非设备也安装了 MQTT 应用程序,否则这是不可能的吗?还是因为并非所有设备都有开放端口接受传入通知?
最终目标是使用 Java 构建类似 https://home-assistant.io/ 的东西。
提前致谢
【问题讨论】:
【参考方案1】:或者,除非设备也安装了 MQTT 应用程序,否则这是不可能的吗?
如果使用“MQTT 应用程序”,我假设您的意思是您的一些代码,这些代码不仅连接到您的代理,而且订阅您想要的主题,然后对这些主题做出响应。在这种情况下,是的,这些设备需要在其上安装您的 MQTT 应用程序,前提是该特定设备可以进行此类操作。
还是因为并非所有设备都有开放端口接受传入通知?
AFAIK,MQTT 客户端不需要开放端口,这从安全角度来看是好的。
【讨论】:
以上是关于如何在没有安装 MQTT 应用程序的设备的情况下在 android 上使用 MQTT 将消息推送到特定 IP?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不配对的情况下在远程设备中安装 J2ME .jar 文件?
在没有 Apple Developer Program 的情况下在 iOS 上安装应用程序 (Xcode 7)