iot-smart-home-cloudgcp项目注册的设备未出现在fluter应用程序和Angular / web中

问题描述

我在github上打开此问题已有10天了:https://github.com/GoogleCloudPlatform/iot-smart-home-cloud/issues/20

我可以看到在Firestore中注册的设备(请看下面的照片),但是它们没有出现在移动屏幕或Angular / Web应用程序中。在后一种情况下,设备已正确注册到GCP / Cloud Iot Core Api / PubSub中。

我已经使用以下教程注册了1台设备,该设备也没有出现 http://nilhcem.com/iot/cloud-iot-core-with-the-esp32-and-arduino

如何解决

enter image description here

enter image description here

解决方法

即使屏幕快照中的错误消息提到了身份验证问题,但真正的错误消息是“找不到设备”。

问题是代码正在寻找由于注册表名称不匹配而导致的特定注册表设备。

作为参考,quickstart的步骤3中提到了Firebase中的物联网设置的配置:

将您的Cloud IoT Core项目信息添加为Firebase配置环境变量:

$ firebase functions:config:set \
cloudiot.region=$REGION \
cloudiot.registry=$REGISTRY
,

您正在使用的Device Manager sample app将设备QR码扫描的数据注册到pending Firestore集合中,直到后端可以确定提供的数据与Cloud IoT Core中的现有有效设备匹配为止(请参见relevant code)。

如果您能够成功将设备注册到pending,但从未将其从该集合中删除,则问题出在该代码路径中的某个地方。云功能日志应提供有关代码为何在那里失败的一些见解(例如无效的凭证,错误的配置等)

您可能还会发现this blog post很有帮助,它概述了示例代码用例的体系结构。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...