Получение данных по MQTT

zztop1967
Offline
Зарегистрирован: 02.01.2017

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

Arduino UNO

Подписываемся на топики:

// Setup a feed called 'onoff' for subscribing to changes.
Adafruit_MQTT_Subscribe onoffbutton = Adafruit_MQTT_Subscribe(&mqtt, "/feeds/onoff");
Adafruit_MQTT_Subscribe relay01 = Adafruit_MQTT_Subscribe(&mqtt, "/relay/onoff01");

Принимаем данные:

  Adafruit_MQTT_Subscribe *subscription;

  while ((subscription = mqtt.readSubscription(10000))) {
      Serial.println((char *)onoffbutton.lastread); 
      Serial.println((char *)relay01.lastread);        
  }

Отправляем данные в топик с терминала

mosquitto_pub -h localhost -t "/feeds/onoff" -m "On" -u "user" -P "1234"
Данные приходят. В мониторе порта вижу On
mosquitto_pub -h localhost -t "/relay/onoff01" -m "On" -u "user" -P "1234"

Данные не приходят. В мониторе порта тишина...

При этом и в majordomo данные с обоих топиков видны...

 

zztop1967
Offline
Зарегистрирован: 02.01.2017

Нашел в чем дело. Оказалось я просто забыл в сетапе прописать

mqtt.subscribe(&onoffbutton); // было в примере
mqtt.subscribe(&relay01); // а это я забыл прописать. Вот оно и не работало. Хотя скетч компилировался и загружался без ошибок.