我已经能够使用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配置消息?如果我也可以访问其他注册表管理功能,那将是很棒的。
提前感谢您的帮助。
答案 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代码,您可以借用它来构建它。