如何向 Google 云服务验证 IOT 设备

How to authenticate IOT devices to Google Cloud Services

我有一台安装了 Android Things dev preview 0.6.1 的 Raspberry Pi3 设备。完成某些操作后,设备需要将数据发送到 Google 云存储。为此,它必须有一个 API 密钥来验证自己。

在 Android 设备中,可以通过集成 Google 登录选项轻松使用,但由于我的 Android Thing 设备没有任何界面,Google无法在其中实施登录。

我已经完成了 github 项目 Android Things Weather Station Sample,它使用 Google 服务帐户将数据发布到 PubSub。为此,它会生成一个 credential.json 文件并将其导入到项目中,并以某种方式从中生成凭据。

所以我的问题是,未经用户同意,我们可以使用 Google 服务帐户对 Google 云存储进行身份验证吗?如果是,我们如何从中生成访问令牌?如果没有,还有其他方法可以使用 GCS 进行身份验证吗?

如果有人遇到同样的问题,我找到了 this 文档,其中解释了在未经用户同意的情况下使用 Google 云对设备进行身份验证的方法。

正如 Shubham 所说,使用服务帐户是验证设备的一种方式。否则,您需要构建一个用于验证用户身份的移动配套应用程序。然后你必须将该令牌传输到物联网设备。

使用 Google 云验证 IoT 设备的最简单、最安全的方法是使用 Cloud IoT Core 通过 MQTT 或 HTTP 将数据发布到云 Pub/Sub。 Cloud IoT Core 是一座桥梁,旨在安全地管理大量设备并使用您的云项目对其进行身份验证。

看看GitHub上的SensorHub sample app,它类似于气象站,但使用 Cloud IoT Core 进行身份验证和发布。