0

我对物联网世界有点陌生,并试图了解一些有关 GCP 产品的知识。我制作了一个简单的 python 应用程序,它使用 PAHO 向 IOT 主题(GCP 中的 IOT Core)发送消息。显然,一切都很好。但我想知道是否可以在堆栈驱动程序上看到设备发送的消息的内容。

我已经为它启用了调试日志,但是消息没有出现。

在 stackdriver 中发布日志:

{
 insertId:  "78178yfwnl"  
 jsonPayload: {
  eventType:  "PUBLISH"   
  protocol:  "MQTT"   
  publishFromDeviceTopicType:  "EVENTS"   
  resourceName:  "projects/demoiot/locations/us-central1/registries/iotchicago/devices/2753540639583"   
  serviceName:  "cloudiot.googleapis.com"   
  status: {
   code:  0    
  }
 }
 labels: {
  device_id:  "us_chi"   
 }
 logName:  "projects/demoiot/logs/cloudiot.googleapis.com%2Fdevice_activity"  
 receiveTimestamp:  "2018-11-20T11:10:01.123928203Z"  
 resource: {
  labels: {
   device_num_id:  "2753540639583"    
   device_registry_id:  "iotchicago"    
   location:  "us-central1"    
   project_id:  "demoiot-223010"    
  }
  type:  "cloudiot_device"   
 }
 severity:  "DEBUG"  
 timestamp:  "2018-11-20T11:10:01.104415969Z"  
}

4

1 回答 1

1

我们的系统不会记录任何遥测数据。由于日志权限与遥测本身的权限导致隐私问题的可能性是我们不想触及的。

不过,您可以显式写入 Stackdriver,因此一种方法是将云函数绑定到正在写入遥测数据的 Pub/Sub 主题,然后让该函数使用有效负载数据将消息写入 Stackdriver。如果 Java 更适合您,也可以使用 DataFlow 来完成。

一位队友也给我指出,使用/state/ MQTT 主题写出设备的状态并在GCP 控制台中查看也是一个快速测试/检查的好方法。在设备详细信息中,有一个“配置和状态历史”选项卡将显示给您。

于 2018-11-26T23:42:20.930 回答