问题标签 [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 投票
2 回答
510 浏览

google-cloud-pubsub - 如何使用 MQTT 和 C 代码订阅遥测事件?

如何使用 MQTT 和 C 代码订阅遥测事件?(这是一个微控制器代码)我可以将数据发送到指定的主题,但是当我尝试订阅这个主题时,我收到了错误消息

这是来自日志“mqttTopic”的消息:“/devices/my-device/events/my_telem_topic1”,

这是来自日志
“消息”的错误消息:“订阅:订阅主题失败:'/devices/my-device/events/my_telem_topic1'。”

0 投票
2 回答
1528 浏览

google-cloud-iot - 谷歌云物联网核心证书

我对与谷歌云物联网核心相关的认证感到困惑。在注册表级别使用哪个 CA 证书以及如何生成它。以及用于使用 mqtt 桥在设备和云 iot 核心之间进行通信的“roots.pem”证书,我从这个链接“https://pki.google.com/roots.pem”获得。它与与注册表级别证书相关联的证书不同吗?

我尝试添加roots.pem 证书,但它会引发文件太大的错误。我还添加了公钥,用于使用已成功添加的公钥/私钥对验证设备。但我对使用哪一个、在哪里使用以及如何生成一个感到困惑。

如何使用注册表级别 ca 证书验证设备以提高安全性?

我正在使用以下命令,

获取roots.pem证书'https://pki.google.com/roots.pem'

用于获取公钥/私钥对

0 投票
2 回答
116 浏览

error-code - GCP IoT 发送新设备配置时出错:“错误 413(请求实体太大)!!”

我正在尝试向我的 GCP IoT 设备发送新配置。Base64 编码的二进制字符串的长度约为 15k 字节。根据文档,GCP IoT 设备配置大小限制为 64k 。但我仍然收到 413(请求实体太大)错误。我究竟做错了什么?15k 似乎非常小,会产生这样的错误。谢谢你的帮助。

这是发送配置数据的 JavaScript 代码:

...以及部分 HTML 格式(wtf?)错误响应:

0 投票
1 回答
69 浏览

python - 使用 Python API 向注册表添加主题

我需要一些有关 Python 的 Google IoT Core API 的帮助...

现在,我可以根据需要创建和删除注册表,但我还需要编辑注册表以向其中添加更多主题。

我研究了很多文档但没有运气,也许这里有人有类似的问题或要求?我需要能够将主题添加到具有活动设备的现有注册表中(不能删除和重新创建?)

非常感谢任何帮助

编辑:我找到了这个参考:链接到 API 参考

但我无法正确发出命令:(一个例子可能很有用

0 投票
3 回答
842 浏览

google-cloud-functions - Google IoT Core:我如何知道消息来自哪个设备?

在 Google Cloud 中,我有一个 IoT Core Registry,其中包含许多设备(通过 MQTT 连接)和 2 个 Pub/Sub 主题:事件主题(用于设备遥测事件)和状态主题(用于设备状态事件)。我正在使用数据流作业处理来自事件主题的消息。

问题:我如何知道给定消息来自哪个设备?我是否需要使用某种设备 ID 手动丰富消息(在设备端),还是由 Google Cloud 以某种方式提供?

如果我改用 Cloud Functions 会怎样?

最后,我希望能够将消息及其源设备 ID 存储在数据存储(BigTable、BigQuery ...)中。

谢谢!

0 投票
1 回答
62 浏览

google-cloud-iot - GCP iot Core 到 pubsub 消息未显示

我正在尝试使用 LorixOne 网关将 GCP 与 loraserver 集成,我正在遵循https://www.loraserver.io/guides/google-cloud-platform/上的指南 但是我的消息没有通过 pubsub 到达 loraserver。

我的设置如下:lora 终端设备—>LorixOne Gateway with Lora base OS —> GCP IoT core -> GCP Pubsub —> VM running loraserver

我可以看到所有消息都到达 IoT 核心,但在 pubsub 或 lora-app-server 上看不到任何消息。

我正在遵循指南https://www.loraserver.io/guides/google-cloud-platform/ 但是 GCP PUBSUB 无法正常工作这是来自 GCP 日志的图片,我正在向 IOT 核心发送消息但是没有任何内容虚拟机通过 pubsub

0 投票
1 回答
256 浏览

lora - 如何在 google-iot 核心中设置 LORA/LORAWAN 终端设备

我正在尝试在注册表下的 google-cloud-iot 和绑定到网关的设备上设置 LORAWAN 终端设备。

LoRaWAN 指定安全密钥:NwkSKey、AppSKey 和 AppKey。所有密钥的长度均为 128 位。但是 google-cloud-iot 需要以下密钥,

有没有人直接用 google-cloud-iot 使用 LORAWAN 终端设备?我们如何设置绑定到支持 LORAWAN 的网关的 LORAWAN 终端设备?我们使用 LorixOne 作为网关。

非常感谢您的支持。

问候杰伊什

目前,我在 VM 上使用 Lora-App-Server 来处理终端设备,但这些终端设备不适合作为物联网产品的整体解决方案。

0 投票
0 回答
374 浏览

google-cloud-functions - 如何从谷歌云功能向物联网设备发送发送命令

我正在尝试从用 python 编写的谷歌云函数中使用谷歌 cloudiot api。当我向 Cloud IoT api 发出 http 请求时,我收到 403“禁止”错误。我已使用具有完全权限的服务帐户进行了身份验证。

从烧瓶导入 os 导入 json 导入 base64

从 firebase_admin import db 导入 firebase_admin

从 googleapiclient 导入 googleapiclient 从 google.oauth2 导入发现导入 service_account

default_app = firebase_admin.initialize_app(options={'databaseURL': ' https://lucid-v2-1.firebaseio.com/ '})

def get_client(service_account_json): """通过发现 IoT API 并使用服务帐户凭据 JSON 创建服务对象来返回授权的 API 客户端。""" api_scopes = [' https://www.googleapis.com/auth/云平台', ' https://www.googleapis.com/auth/cloudiot '] api_version = 'v1' discovery_api = ' https://cloudiot.googleapis.com/ $discovery/rest' service_name = 'cloudiotcore'

def request_posted(事件,上下文):

0 投票
1 回答
342 浏览

mqtt - Google MQTT 代理 - 来自 mqtt.googleapis.com 的 IP 地址稳定

O2 的新 NBIOT 演示模块 - 我们正在测试 - 它们只接受 IP 地址作为代理主机,而不是 URL [mqtt.googleapis.com]。如果我运行 DNS 查找,这很好 - 但是与 mqtt.googleapis.com 关联的 IP 地址有多稳定?

我在这里有 DNS 查找 74.125.201.206

它将保持稳定/相同多长时间?

我想插入 IP 地址而不是 mqtt url

0 投票
1 回答
59 浏览

google-cloud-iot - 如何使用在 Google Linux 实例上运行的服务器向 IoT 网关发送消息

我正在尝试将消息从我的 mac 发送到在 Google VM linux 实例上运行的 Google IoT Gateway。无法让在 linux 实例中运行的网关服务器确认从我的 mac 上的脚本发送的消息。

设置 Google VM linux 实例并按照以下说明操作: https ://codelabs.developers.google.com/codelabs/cloud-iot-core-gateways/index.html#0

我确实尝试通读了https://cloud.google.com/community/tutorials/cloud-iot-gateways-rpi。我设置GOOGLE_CLOUD_PROJECT指向我的项目。

我更新了ADDR脚本thermostat.py中的指向 linux 实例的地址。但我不太确定要使用哪个地址。通过在 linux 实例上运行 ifconfig 获得的地址无法从我的 mac ping 通。我使用分配给 linux 实例的静态地址,虽然我可以 ping 那个,但我没有看到网关上运行的服务器确认脚本发送的消息。

在 linux 实例上我运行网关服务器,如果我thermostat.py在同一个实例上运行,我会看到网关和 Google IoT 控制台收到的消息。

但是我无法thermostat.py从我的本地机器(mac)运行。我想在我的嵌入式设备上尝试之前让它工作。我可以看到脚本尝试发送消息,但我没有看到服务器上收到任何消息。

我应该使用哪个 IP 地址与我的 linux 实例上的网关服务器通信?

除了设置ADDRand之外GOOGLE_CLOUD_PROJECT,我还需要对其进行任何其他更改thermostat.py吗?