Я использую библиотеку pubsub из NodeMCU ESP8266 и Arduino IDE.
https://github.com/knolleary/pubsubclient/tree/master/examples/mqtt_esp8266
Мое устройство зарегистрировано в IBM Bluemix IoT Foundation (IoTF).
Имя клиента, которое я использую,
char* myclient = "d:ORGID:Devicetype:Deviceid";
Где orgid — это мой orgID из Bluemix, а тип и идентификатор устройства — это устройство, которое я создал и зарегистрировал в IoTF. Тема, в которую я пишу, находится в этой строке моего кода:
client.publish("iot-2/evt/status/fmt/json", msg);
В Node-RED у меня есть узел IOT-in, который просматривает состояние устройства и использует службу Bluemix для аутентификации.
Я вижу эту ошибку, когда помещаю узел отладки, просматривающий полный объект сообщения из узла IoT-in (примечание: я изменил свой orgid на ORGID в этом выводе отладки):
{
"_msgid": "9f433f7b.60bcc",
"deviceId": "InterConnect",
"deviceType": "nodeMCU",
"payload": {
"Action": "Disconnect",
"ClientAddr": "24.47.149.38",
"ClientID": "d:ORGID:nodeMCU:InterConnect",
"CloseCode": 276,
"ConnectTime": "2016-02-14T18:32:19.328Z",
"Port": 1883,
"Protocol": "mqtt4-tcp",
"ReadBytes": 111,
"ReadMsg": 0,
"Reason": "The topic is not valid.",
"SecureConnection": false,
"Time": "2016-02-14T18:32:19.397Z",
"User": "use-token-auth",
"WriteBytes": 4,
"WriteMsg": 0
},
"topic": "iot-2/type/nodeMCU/id/InterConnect/mon"
}
Мне интересно, как моя тема изменилась на то, что она показывает здесь. Любые идеи?