【问题标题】:Connect an android device to PC (usbc-ethernet) using MQTT使用 MQTT 将安卓设备连接到 PC (usbc-ethernet)
【发布时间】:2021-08-14 21:44:58
【问题描述】:

背景:

  • 我是 MQTT 新手,目前正在做一个项目,我需要通过适配器将 Android 设备连接到 PC。
  • 计划使用 MQTT 协议连接它们,实现 MQTT 客户端并使用开源 MQTT 代理。

我的问题:

对 MQTT 代理有什么建议吗?我找到了mosquittomoquette。虽然第二个二进制监听器的下载链接已经死了。

  1. 是否有任何示例项目使用 USBC -> 以太网用于 MQTT 客户端和 MQTT 代理? (最好在Java中,因为这应该是 在 Android 设备上使用)
  2. 我在网上找到的所有示例都使用 URL 来订阅和发布主题,我假设它们依赖于 Internet/网络连接。我想知道如果组件应该通过 usbc-ethernet 连接,流程将如何?是否需要使用以下示例中的任何包装器,其中本地主机 url 用于在 MQTT 代理和 MQTT 客户端之间进行通信(借用以下示例 git-repository)。

使用 localhost 进行连接的示例实现:

  //publish 

    MqttClient client = new MqttClient("tcp://localhost:1883", MqttClient.generateClientId());
     client.connect(); MqttMessage message = new MqttMessage(); 
     message.setPayload(messageString.getBytes());
     client.publish("iot_data", message);
     System.out.println("\tMessage '"+ messageString +"' to 'iot_data'");
     client.disconnect(); 

    //subscribe

     MqttClient client=new MqttClient("tcp://localhost:1883", MqttClient.generateClientId());
     client.setCallback( new SimpleMqttCallBack() );
     client.connect();
     client.subscribe("iot_data");

【问题讨论】:

  • 对于您的第一个问题,我与emqx.io 合作过,它在性能和易用性方面都很完美。关于你的第二个问题,我不太清楚,但是 MQTT 是一种网络协议(通过 TCP/IP 运行),类似于 HTTP。
  • @khesam109 谢谢,我会试试 emqx.io。但不确定它是否在 Erlang 中实现是否重要。我认为使用 Java 实现的可能更灵活。同样关于第二个问题,我假设通过使用 USB 以太网电缆将 Android 设备连接到 PC,Android 设备应该获得一个 IP 地址,并且我可以将它用作我的端点。但目前还不确定,因为我还没有物理设备。

标签: java android usb mqtt ethernet


【解决方案1】:

通过将 android 设备连接到 PC,您的 android 设备应该获得一个 IP。您可以使用该 IP 地址将 mqtt 客户端连接到 android 设备(mqtt 代理)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多