Подключите локального брокера Mosquitto MQTT к Google Cloud IoT - PullRequest
0 голосов
/ 19 ноября 2018

В моей текущей настройке я читаю данные, используя ebusd из моей системы отопления, которая прекрасно работает. На следующем шаге я хотел бы отправить эти данные в основное устройство Google IoT. К сожалению, ebusd не поддерживает внешнюю настройку clientid.

Чтобы обойти это, я установил локального брокера Mosquitto, который принимает незащищенные сообщения в моем Raspberry Pi и связывает их с базовым брокером Google IoT. Вот как я настроил мой локальный брокер Mosquitto:

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_type all
log_dest file /var/log/mosquitto/mosquitto.log

# Goolge IoT Core Configuration

connection bridge-to-gcp

address mqtt.googleapis.com:8883

bridge_attempt_unsubscribe false
bridge_certfile /home/pi/certificates/rsa_cert.pem
bridge_keyfile /home/pi/certificates/rsa_private.pem
bridge_cafile /home/pi/certificates/roots.pem
bridge_protocol_version mqttv311
bridge_insecure false

tls_version tlsv1.2
try_private true

start_type automatic
cleansession true
notifications false

local_clientid local-to-remote-gcp-bridge

remote_username unused
remote_password <JWT Token generated using jwt.io>
remote_clientid projects/project-251313/locations/europe-west1/registries/prot/devices/ebusd12345

topic # both

include_dir /etc/mosquitto/conf.d

Хотя эта настройка работает с AWS IoT с Google Cloud IoT, я получаю

1542622526: Connecting bridge bridge-to-gcp (mqtt.googleapis.com:8883)
1542622526: Bridge projects/project-251313/locations/europe-west1/registries/prot/devices/ebusd12345 sending CONNECT
1542622526: Socket error on client local.projects/project-251313/locations/europe-west1/registries/prot/devices/ebusd12345, disconnecting.

После поиска в Google, я нашел этот блог (см. http://community.onion.io/topic/2858/omega-onion-connecting-to-cloud-cloud-iot/2), в котором говорится, что Google Cloud IoT Core не поддерживает соединения со стороны «субброкеров», но я не нашел второго утверждения, в котором утверждалось то же самое.

Кто-нибудь может подтвердить, что я пытаюсь сделать что-то невозможное, или помочь с правильной настройкой брокера?

1 Ответ

0 голосов
/ 20 ноября 2018

Я обратился к автору этого блога и другим людям, работающим с Cloud IoT Core, и, к сожалению, похоже, что мостовые соединения MQTT действительно в настоящее время не поддерживаются.Между тем, похоже, что вы связываетесь с владельцем ebusd на Github, чтобы добавить настраиваемую функцию clientid, которая была бы хорошим временным исправлением.

С учетом сказанного у нас естьфункция, которая скоро войдет в бета-версию, поможет вам конкретно решить эту проблему, так что следите за обновлениями!

...