将消息从 Android 个移动应用程序发送到 Azure IoT 中心

Send message from Android mobile app to Azure IoT Hub

对于 IoT 项目,我们需要将消息从移动应用程序(iOS 和 Android)发送到 Azure IoT 中心。我们能够使用 MQTT 库将其连接为设备。但是,设备模拟器也作为一个设备进行连接,并且由于两者使用相同的设备 ID,因此当它们同时连接到 IoT 中心时,现有连接将被断开。

我们意识到我们需要将移动应用作为一项服务(而非设备)进行连接,为此,一些研究表明我们需要使用以下库。

https://github.com/Azure/azure-iot-sdk-java

https://github.com/Azure/azure-iot-sdk-java/blob/master/service/iot-service-samples/service-client-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ServiceClientSample.java

但是,此 java 示例使用了很多 java 特定实现,Android 不支持这些实现。

有人遇到过同样的问题吗?

  1. 我们可以使用哪个库从 Android 移动应用程序实现上述内容?
  2. 我们可以使用哪个库从 iOS 移动应用程序实现上述内容?

如果有任何替代解决方案可用,请告诉我。

您可以使用 REST API 将 D2C 消息发送到 Azure IoT 中心。以下屏幕片段显示了此调用的示例。请注意,此请求不需要库。

  • 您的场景的另一种解决方案是使用 Azure Functions 作为 Azure IoT 中心的预处理器,请参见以下示例:

谢谢 罗马

就像关于您的场景的另一个解决方案的附加内容一样。根据我的理解和经验,我认为您可以尝试创建一个应用程序服务,例如在 client & backend 旁边使用自定义 API 的移动应用程序或 WebApps 等,以接收负载,其中包括来自您的 Android 应用程序的自定义 json 属性,并使用适用于 NodeJS 的 Azure IoTHub SDK 或 Java 将负载消息转发到 IoTHub。