2017-02-07 6 views
1

Я пытаюсь подключить ардуино к Watson IoT. С помощью следующей команды:Arduino не подключается к Watson IoT с MQTT

mqtt.connect(0, "d6acq3.messaging.internetofthings.ibmcloud.com",1883,"d:d6acq3:Arduino_Helligkeit:1234567890","use-token-auth","<as it was provided>"); 

Это Lib я использую для MQTT и где указана команда подключения следующим образом:

bool connect (int id, String brooker, unsigned int port, String deviceId); 

bool connect ([s.o], String userName , String password); 

На Watson платформы я вижу следующие сообщения в моем журнал подключения устройства:

Closed connection from 93.231.145.115. 
The topic is not valid: use-token-auth 
The topic does not match an allowed rule 07.02.2017 11:58:16 
Closed connection from 93.231.145.115. 
The topic is not valid: use-token-auth 
The topic does not match an allowed rule 2 times in the last 5 minutes 07.02.2017 11:58:16 
Closed connection from 93.231.145.115. 
The topic is not valid: use-token-auth 
The topic does not match an allowed rule 07.02.2017 11:56:03 
Closed connection from 93.231.145.115. 
The topic is not valid: use-token-auth 
The topic does not match an allowed rule 07.02.2017 11:45:36 

Заранее благодарим за любую помощь, чтобы получить эту работу.

ответ

1

Как сказал Дэн, для платформы Woton IoT разрешены только определенные строки строк, поэтому вы должны подтвердить, что используете правильную строку темы.

для приложений, событий темы: ВГД-2/тип/{Тип устройства}/ID/{идентификатор устройства}/EVT/{тип события}/FMT/{тип формата}

Для приложений, команд тема: ВГД-2/тип/{тип устройства}/ID/{идентификатор устройства}/Cmd/{тип команды}/FMT/{тип формата}

для устройств, событий темы: ВГД-2/EVT/{тип события}/fmt/{format type}

Для устройств, команд: iot-2/cmd/{тип команды}/fmt/{format type}

Однако, что я вижу в журналах, указывает, что вы пытаетесь установить соединение с более длинным идентификатором клиента, чем указано в сообщении. Я вижу эту ошибку:

Токен аутентификации не удалось (устройство не существует): ClientID = «d: d6acq3: Arduino_Helligkeit: +12345678901486464057428»,

Таким образом, вы должны проверить, чтобы убедиться, что ваше соединение использует правильное устройство ID, который вы зарегистрировали.

+0

Дорогой Валери, насколько я могу судить, у меня даже нет связи. Итак, я полагаю, что тема еще не играет роли, верно? Между тем, я создал еще один Device-ID (18fe34a46709), с которым я не могу соединиться. –

+0

Я попытался подключить третий Идентификатор устройства с MQTTBox (клиентом Chrome), который работал. (По крайней мере, для подключения) –

+0

Я вижу, что ваши соединения MQTTBox работают нормально. При обращении к устройству 18fe34a46709 он получал эту ошибку, поэтому похоже, что это помещало неправильное значение в поле темы: тема недействительна: use-token-auth. Тема не соответствует разрешенному правилу. Reason = "Неверная тема: use-token-auth Тема не соответствует разрешенному правилу" – ValerieLampkin