2 Вопрос: Google IoT Core: как узнать, с какого устройства пришло сообщение?

вопрос создан в Thu, May 2, 2019 12:00 AM

В Google Cloud у меня есть основной реестр IoT с несколькими устройствами (подключенными через MQTT) и 2 темами Pub /Sub: тема событий (для событий телеметрии устройства) и тема состояния (для событий состояния устройства). Я обрабатываю сообщения из темы событий с заданием потока данных.

Вопрос: как мне узнать, с какого устройства исходит данное сообщение? Нужно ли вручную обогащать сообщение (на стороне устройства) каким-либо идентификатором устройства или оно каким-то образом предоставляется Google Cloud?

Что если бы я использовал облачные функции вместо этого?

В конце я хотел бы иметь возможность хранить сообщения в хранилище данных (BigTable, BigQuery ...) вместе с идентификатором исходного устройства.

Спасибо!

    
0
  1. Я полагаю, вам нужно передать DeviceID. Google потенциально может иметь только другую информацию - это IP-адрес, который в случае динамической связи может не соответствовать 1: 1.
    2019-05-02 15: 46: 39Z
2 ответа                              2                         

Я забыл, если мы добавим идентификатор устройства в качестве метаданных к сообщению Pub /Sub. Вы можете попытаться вывести свойства объекта Pub /Sub, переданного в Dataflow, чтобы проверить?

ПРОСТОЙ способ сделать это - обязательно передать deviceID как добавленную стоимость в блоке телеметрии, и именно так я это делаю (в основном потому, что не хочу связываться с другими API), и я не У меня больше нет проблем с размером сети. Это было бы рассмотрение. Если вы пытаетесь сохранить свой сетевой трафик до абсолютного минимума. Если это не сложное требование, я просто передам его как дополнительные данные в BLOB-объекте отправки.

    
1
2019-05-02 18: 01: 39Z

Возможно, вы хотите подключить каждое устройство к отдельной теме, но помните, что в каждом реестре может быть не более 10 тем, у вас также могут быть подпапки для каждой темы.

Мне лично нравится использовать облачные функции для анализа и передачи данных телеметрии в другое место, например, в BigQuery или базу данных реального времени Firebase ....

    
0
2019-05-02 16: 56: 55Z
  1. Вы имеете в виду темы MQTT или Pub /Sub? Какой предел вложенных папок?
    2019-05-03 09: 44: 17Z
  2. Pub /Sub Topics; сделать тест ... вы можете иметь: device1.telemetry /subfolder1 (это тема Pub /Sub с подпапкой) Я лично использовал это для выполнения некоторых тестов, но. В облачных функциях я не уверен, как справиться с этим, не могу вспомнить, но наверняка есть способ ....
    2019-05-06 13: 56: 10Z
  3. Подключение каждого устройства к другой теме не масштабируется. Cloud Pub /Sub допускает только 10 000 тем на проект. Механизм подпапок предназначен для группировки разных типов данных со всех устройств в разные темы.
    2019-05-07 23: 24: 12Z
источник размещен Вот