有人知道Google Core IoT上的设备离线时触发事件的简便方法吗?在我切换到Google的IoT实施之前,可以通过在MQTT断开连接时触发一个事件来非常轻松地解决此问题,但是Google似乎没有做到这一点的简便方法。
有人知道为此有什么计划吗?
谁回来了,我需要从头开始,让他们看到这样的事情是物联网设备管理的基本要求!
AWS和Microsoft等其他平台已经实现了此功能(或通过某种方式轻松实现):https : //docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html
我希望我在编写所有代码并使用Google的IoT平台实施设置之前就已经知道这一点,我认为这是我的错误,因为我假设如此简单,并且应该是IoT设备的标准配置。
如果您甚至无法提供基本的离线/在线活动,您将如何与其他物联网提供商竞争?
我在这个SO问题中的答复显示了我必须编写100多行代码才能创建firebase函数来检查设备是否在线(但这仍然无法处理离线事件,而只是对某些应有的东西的一种破解)是任何物联网服务提供商的本地用户!):https : //stackoverflow.com/a/54609628/378506
我希望其他人想出了一种方法,因为我花了很多天搜索SO,Google,Google Core IoT文档,但仍然没有找到任何东西。
即使MQTT Last Will得到了支持,我们也可以做到这一点,但是Google也不支持(https://cloud.google.com/iot/docs/requirements)...伙计们!
firebase google-cloud-platform google-cloud-iot google-cloud-firestore
我想就大量 Google IOT 核心设备中的任何一个缺少心跳(或收到 0 个字节)发出警报。我似乎无法在 Stackdriver 中做到这一点。相反,它似乎让我在整个设备注册表上发出警报,这并没有给我我正在寻找的东西(我怎么知道某个特定设备已断开连接?)
那么如何去做呢?
我正在使用带有paho-mqtt的Python客户端来发布Google Cloud IoT的这个特定主题:projects/my_project/topics/sm1.我的代码如下,基于Google IoT文档的示例:
import paho.mqtt.client as mqtt
import ssl, random, jwt_maker
from time import sleep
root_ca = './../roots.pem'
public_crt = './../my_cert.pem'
private_key = './../my_pr.pem'
mqtt_url = "mqtt.googleapis.com"
mqtt_port = 8883
mqtt_topic = "/projects/my_project/topics/sm1"
project_id = "my_project"
cloud_region = "us-central1"
registry_id = "sm1"
device_id = "sm1"
connflag = False
def error_str(rc):
"""Convert a Paho error to a human readable string."""
return "Some error occurred. {}: {}".format(rc, mqtt.error_string(rc))
def on_disconnect(unused_client, unused_userdata, rc):
"""Paho callback for when a device disconnects.""" …Run Code Online (Sandbox Code Playgroud)