问题标签 [google-cloud-iot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
789 浏览

mqtt - 如何使用 Google Cloud 功能和 MQTT 桥接器更新设备配置

我正在使用带有 Pub/Sub 的 Google Cloud IoT。

我有一个设备读取传感器数据并将其发送到 Pub/Sub 中的主题。

我有一个由该消息触发的主题云功能,我想更新设备配置,但​​是由于以下权限错误,我无法这样做。

index.js:

包.json:

错误:

输出记录错误

0 投票
1 回答
330 浏览

iot - Google IOT 核心-http 桥“请求缺少所需的身份验证凭据”

我正在尝试通过从命令行发布一个简单的 http 请求来开始使用 google IOT 核心。

我已经在控制台中设置了我的注册表和设备,并添加了公钥。我设置了一个遥测主题。我使用我找到的 Qt 应用程序,使用私钥生成了 JWT。我正在使用https://cloud.google.com/iot/docs/how-tos/http-bridge中指定的程序。我的命令是:

curl -X POST -H 'authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJzeWx2YW4tam91cm5leS0xOTU4MTUiLCJleHAiOiIxNTIwMzU4NjMyIiwiaWF0IjoiMTUxOTc1MzgzMiJ9.kDkwtWvfAE+AOYT2cObgh8Mux2n1DOuek1KR0YrsFSI=' -H 'content-type: application/json' --data '{"binary_data": "SGVsbG8="}' -H 'cache-控制:无缓存'' https://cloudiotdevice.googleapis.com/v1/projects/sylvan-journey-195815/locations/europe-west1/registries/MyDeviceRegistry/devices/FirstDevice:publishEvent '

当我尝试发布命令时,我收到错误 401“请求缺少所需的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据”

我不知道在哪里看。我的 JWT 有问题吗?命令的格式是否错误?我需要将公钥添加到注册表还是仅添加到设备。我如何找出问题所在?

非常感谢任何指导

0 投票
2 回答
2149 浏览

arduino - 连接到 IoT Core MQTT

我正在尝试连接到 Google 的 MQTT 服务器,但出现错误我创建了所有证书并注册了我的设备 (Adafruit huzzah32)

并且文档说您连接到mqtt.googleapis.com:8883

所以我愿意

当我尝试连接时,我使用设备路径

但它从不连接

我通过调用验证了谷歌证书, openssl s_client -showcerts -connect mqtt.googleapis.com:8883 并输入了我的 RSA 私钥和证书密钥

我究竟做错了什么?

这是连接文档 https://cloud.google.com/iot/docs/how-tos/mqtt-bridge

更新

我做了一个快速的java示例,看看我是否可以连接他们用于连接的示例,我得到一个MqttException说法Bad user name or password (4)

这是代码

正如您在此处看到的,我已将 IoT 服务帐户添加到 IAM 在此处输入图像描述

这是否意味着我使用 openssl 生成的密钥不正确?

0 投票
1 回答
182 浏览

mqtt - 谷歌物联网设备遥测到堆栈驱动程序

我想使用 Google IOT 定期发送自定义遥测数据,我想将这些遥测数据提取到 Stackdriver 中以用于提醒目的。这是可行的吗?据我所知,我似乎无法在 Stackdriver 中加载自定义事件或遥测数据。

一个简单的例子是,假设一个物联网设备(例如恒温器)并假设恒温器也可以访问其内存使用数据。我知道我可以定期将这些数据推送到 Google IOT,但我想在 Stackdriver 中绘制图表并提醒它。

0 投票
1 回答
554 浏览

google-cloud-platform - IoT Core 发布到另一个注册表上的主题

我想要做的是将消息从一个注册表中的设备发布到另一个注册表中的设备。

我发现您只能发布到您的设备所在的注册表中的主题,如果您尝试发布到另一个注册表中的主题,您会得到一个EOFException并且您与 MQTT 服务器断开连接。

我试图实现的流程是我有一个registry移动设备(电话),它们有自己的主题来做事,但他们还需要与一个hub registry与物联网设备通信的设备(获取/更新设备信息)进行通信,这些设备也有他们的自己的IoT registry

正如我所说,我可以将消息发布到注册表中的主题而不会出错,但是一旦我尝试在注册表之外执行此操作,我就会收到错误消息。

没有办法进行注册表间通信吗?

如果您不能进行跨注册表,那么通过不同主题在设备之间进行通信的“标准”方式是什么?

0 投票
2 回答
811 浏览

google-cloud-platform - 使用 Stackdriver 的 Google IOT 每设备心跳警报

我想提醒大量 Google IOT 核心设备中的任何一个都没有心跳(或收到 0 个字节)。我似乎无法在 Stackdriver 中执行此操作。相反,它似乎让我在整个设备注册表上发出警报,这并没有给我我正在寻找的东西(我怎么知道特定设备已断开连接?)

那么如何做到这一点呢?

0 投票
2 回答
1226 浏览

google-cloud-platform - 是否可以通过 Javascript 连接到 Google IOTCore MQTT Bridge?

我一直在尝试使用 Eclipse Paho MQTT 客户端的 JavaScript 版本来访问 Google IOTCore MQTT Bridge,如下所示:

https://cloud.google.com/iot/docs/how-tos/mqtt-bridge

但是,无论我做什么,任何与已知良好凭据(与其他客户端一起工作)连接的尝试都会导致此连接错误:

那里没什么可做的,所以我想知道是否有人曾经通过 Eclipse Paho 的 Javascript 成功连接到 MQTT Bridge,这是 Google 在其文档中建议的客户端实现。

我已经完成了他们的故障排除步骤,而且事情似乎正在上升,所以那里也没有帮助。

https://cloud.google.com/iot/docs/troubleshooting

我注意到在他们的文档中,他们有 Java/Python 等的示例代码,但没有 Javascript,所以我想知道它是否根本不受支持,他们的文档只是没有提及。

我已经简化了我的代码,只使用 Paho 文档中的“Hello World”示例,据我所知,我已经正确地完成了一些事情(包括使用我的设备路径作为 ClientID,使用 JWT 令牌作为密码,指定“未使用”的用户名字段并明确要求 MQTT v3.1.1)。

与此同时,我将回退到通过他们的 HTTP 桥接器进行轮询,但这具有明显的延迟和网络流量缺点。

0 投票
2 回答
782 浏览

google-cloud-platform - Google Cloud iot 核心向 qos 0 的设备发送命令

ModifyCloudToDeviceConfig 以 qos 1 发送命令。除了 ModifyCloudToDeviceConfig 之外,是否还有其他方法可以发送命令。

0 投票
2 回答
1237 浏览

python - Google Cloud IoT 使用 Python 订阅主题

我正在尝试使用我使用 Python 构建的应用程序从我的主题中收集已发布的数据。因此,当数据发布时,它由应用程序处理。

问题是:订阅似乎总是成功,但没有获取任何事件

我可以使用 MQTT 客户端连接到代理。

这是我当前处理连接和订阅的代码:

我要订阅的主题是:'projects/_project_id_/topics/_device_id_'

一些逻辑在 on_connect 和 on_subscribe 方法中。而且我知道代码不合逻辑,但我只想在继续之前读取数据。

因此,当我在客户端连接和订阅期间发布事件时,我会假设 on_message 方法会运行,但没有任何反应。

我以前从未使用过 MQTT 或 Google Cloud IoT,所以我可能会犯一些非常基本的错误。


编辑

我设法通过更改为 Google Cloud Pub Sub 库(https://cloud.google.com/pubsub/docs/reference/libraries)来获取消息。必须为 Google Cloud IoT 创建订阅,并且必须连接到主题。订阅是拉式的。

我的解决方案还不完美,但它向前迈进了一步。这是我的代码:

消息到达时调用回调。

0 投票
1 回答
270 浏览

google-cloud-iot - 关于 Google Cloud IOT 核心连接到设备

我是初学者使用谷歌云平台。我目前正在做我的最后一年项目。我想问一下谷歌云物联网核心。温度传感器等设备如何连接到设备注册表?

问候,谢谢