Google Cloud IOT-通过Firebase /云功能进行设备配置?

时间:2018-01-22 00:54:07

标签: android node.js firebase google-cloud-functions

我已经能够使用mqtt-> pubsub-> firebase functions-> FCM从我的iot设备成功接收状态和遥测到Android应用程序。我的iot设备也已注册接收配置回调,并在设备连接时成功接收当前的配置mqtt消息。

现在,我希望能够使用我的Android应用程序启动配置消息以发送运行/停止命令。我以为我可以通过android api调用或在云函数中完成此操作。网上似乎没有任何关于此的例子。

此示例似乎打算在第三方node.js服务器上运行,而不是在云计算功能或Android应用程序内运行:https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/iot/manager/manager.js#L865

在云端功能中,很容易使用admin.firestore()和admin.messaging()来调用函数并完成我需要的工作。然而,物联网API似乎并没有以同样的方式运作。我显然遗漏了一些东西。

简而言之 - 如何从android或云功能发起IOT配置消息?如果我也可以访问其他注册表管理功能,那将是很棒的。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

你应该可以从Android应用程序调用云功能,然后将其与IOT api进行集成 - 你也可以让android客户端调用其余的api' s https://cloud.google.com/iot/docs/reference/rest/

DeviceManager还有一个JAVA接口:

https://cloud.google.com/iot/docs/samples/device-manager-samples

答案 1 :(得分:1)

Dazza5000向我指出了适用于Java的IOT核心API:

https://developers.google.com/api-client-library/java/apis/cloudiot/v1

这将允许我从Android发送配置数据到我的IOT设备。我不认为可以通过云功能调用此API。

答案 2 :(得分:0)

使用Cloud Functions for Firebase,您只需要创建一个HTTPS trigger来创建一个可以直接调用的函数。然后,当您在部署后显示其URL时,您可以使用设备上可用的任何HTTP库来调用该URL。对于Android设备,URLConnection是内置选项。应该有大量的HTTP触发器示例(特别是在functions-samples repo中)和URLConnection代码,您可以借用它来构建它。