【问题标题】:Sending message from Android application to Azure IoT Hub device从 Android 应用程序向 Azure IoT Hub 设备发送消息
【发布时间】:2017-05-03 02:43:14
【问题描述】:

我目前正在将 Azure 用于一个项目。在这个项目中,我有一个 Android 应用程序和一个 IoT(NodeMCU 1.0),我找到了一种使用 Azure 将消息从 IoT 设备发送到我的 android 应用程序的方法,但现在我必须将数据从 Android 应用程序发送到 IoT 设备.设备正在使用 IoT 中心向 Azure 发送信息。

【问题讨论】:

  • 您是如何将数据从移动应用程序发送到云端的?有链接吗?

标签: android azure iot


【解决方案1】:

您可以使用 IoT REST API 从您的 Android 应用程序向设备发送命令。详情请参考https://www.codeproject.com/Articles/1113447/Azure-IOT-Hub-REST-API

另一个参考:https://microsoft.github.io/techcasestudies/iot/2016/11/29/Agatsa.html

【讨论】:

  • 我正在尝试使用第一个链接的解决方案,但在使用 Volley 库为 android/java 发出发布请求时出现错误 400。
  • 在这个解决方案中,我可以从 Android 发送消息并接收云端到设备的消息,但我想知道如何让 Android 向另一个 IoT 设备发送消息
【解决方案2】:

根据您的描述,根据我的理解,我认为您希望通过 Azure IoTHub 的发送云到设备消息的方式将数据从 Android 应用程序发送到 IoT 设备。您需要执行两个步骤来实现需求。

首先,有两种方法可以实现向 IoTHub 发送云到设备的消息。

  1. 直接从Android App发送数据到IoTHub,可以参考Java官方教程的Send a cloud-to-device message部分来做,但是我觉得Android和IoTHub之间做这个不太好考虑到 IoTHub 的并发请求来自安装了您的应用的 Android 设备。

  2. 因此,根据我的经验,更好的方法是为 Node.js 创建一个移动应用程序,该应用程序将处理来自 Android 设备的请求并将数据通过 Send a cloud-to-device message using Node.js 转发到 IoTHub。

然后,您可以尝试在 IoT 设备上使用 eLua 或 Arduino ino 代码定期调用 REST API Receive Device Bound Notification 以接收 c2d 消息,如 Receive messages in the simulated device app 部分中的代码。

希望对你有帮助。

【讨论】:

  • 非常感谢,我会尝试使用该解决方案。
  • 如果我使用这个 Node.js 解决方案,我需要让它一直在另一台服务器上运行,对吧?有没有办法使用 Azure App Functions 来做到这一点,这个函数接收来自 Android App 的请求,然后将命令发送到 IoT Hub 设备?
  • @MarcosFelipe 对。此外,您可以将 Azure Functions 与 IoTHub SDK for Node 结合使用。
【解决方案3】:

如果您必须将数据从 Android 设备发送到 Azure IoT Hub,请遵循以下 Microsoft 文章

  1. Quickstart: Control a device connected to an IoT hub (Android)
  2. Quickstart: Send IoT telemetry from an Android device

【讨论】:

    猜你喜欢
    • 2020-02-18
    • 1970-01-01
    • 2019-07-22
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 2019-07-26
    相关资源
    最近更新 更多