клиенты mosquitto pub-sub с платформой Watson IoT

Я создал два устройства для имитации сценария pub-sub с командами mosquitto_pub и mosquitto_sub. На приборной панели отображается статус подключения для терминала, на котором работает mosquitto_sub. На приборной панели также отображается последнее сообщение, отправленное терминалом, на котором работает mosquitto_pub. И все же терминал, на котором работает подписка, ничего не показывает.

Что мне не хватает?

Подписка

mosquitto_sub -h orgId.messaging.internetofthings.ibmcloud.com -p 8883 -i d:orgId:dType:device01 -u use-token-auth -P token --cafile messaging.pem -t iot-2/evt/data/fmt/json

Издатель

mosquitto_pub -h orgId.messaging.internetofthings.ibmcloud.com -p 8883 -i d:orgId:dType:device02 -u use-token-auth -P token --cafile messaging.pem -t iot-2/evt/data/fmt/json -f some.json

person cogitoergosum    schedule 16.07.2018    source источник


Ответы (1)


вы не можете использовать идентификатор клиента устройства (например, d:orgId:dType:device01) для подписки на тему идентификатора устройства, что не разрешено. Вам нужно использовать приложение для этих действий.

Проверьте учетные данные и аутентификацию здесь: https://console.bluemix.net/docs/services/IoT/applications/mqtt.html#mqtt

Команда должна выглядеть так:

mosquitto_sub -h orgId.messaging.internetofthings.ibmcloud.com -p 8883 -i a:orgId:myapp -u <api-key e.g a-orgId-a84ps90Ajs > -P <api-token> --cafile messaging.pem -t iot-2/type/dType/id/device01/evt/data/fmt/json
person idan    schedule 16.07.2018
comment
Итак, если бы у меня было устройство только для подписки, я должен рассматривать его как приложение? - person cogitoergosum; 17.07.2018
comment
да. Единственная тема, на которую может подписаться устройство, — это тема команды: iot-2/cmd/command_id/fmt/format_string Ref: console.bluemix.net/docs/services/IoT/devices/mqtt.html#mqtt - person idan; 17.07.2018