首页 > 解决方案 > 触发 Google Nest 相机拍照

问题描述

我知道这是一个相对简单的问题,但我不清楚是否可以安排谷歌巢相机每 15 分钟拍摄一次图像并将其上传到云端。

我查看了 SDM(智能设备管理)API 并发现了以下 POST 请求:

sdm.devices.traits.CameraEventImage

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.CameraEventImage.GenerateImage",
  "params" : {
    "eventId" : "26TU35cUFaYxYbQFumKQIilunU..."
  }
}

我想知道是否有人对此有任何经验。是否使此 API 调用足以触发相机拍摄图像,或者是否需要直接在相机上进行编程。

标签: pythongoogle-cloud-platformiotgoogle-cloud-iotsmart-device

解决方案


我还没有找到直接通过该命令生成图像的方法。但是,我能够执行 GenerateRtspStream ,它会为您提供一个有效期为 5 分钟的 rtsps 链接,然后使用此堆栈溢出答案中显示的命令通过ffmpeg从该直播链接创建图像

{
  "command" : "sdm.devices.commands.CameraLiveStream.GenerateRtspStream",
  "params" : {
  }
}

返回模型的响应

{
    "results": {
        "streamUrls": {
            "rtspUrl": "rtsps://stream:xxx"
        },
        "streamExtensionToken": "xxxx",
        "streamToken": "xxxx",
        "expiresAt": "datetime"
    }
}

并执行此命令以将 rtsp(s) 转换为名称为“nest-camera-image.jpg”的图像

ffmpeg -y -i rtsp://admin:admin@192.168.10.113:554/live -vframes 1 nest-camera-image.jpg

推荐阅读