datacollectorsub.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include "datacollectorsub.h"
  2. #include "../ytDataCollectorDog/datacollector.h"
  3. DataCollectorSub::DataCollectorSub(QObject *parent) : QThread(parent)
  4. {
  5. timer = new QTimer(this);
  6. connect(timer,&QTimer::timeout,this,&DataCollectorSub::time_out);
  7. timer->start(1000);
  8. m_client = new QMQTT::Client(QHostAddress("47.98.201.73"),1883,this);
  9. m_client->setUsername("usky");
  10. m_client->setPassword("usky");
  11. m_client->setCleanSession(true);
  12. connect(m_client,&QMQTT::Client::connected,this,&DataCollectorSub::onConnected);
  13. connect(m_client,&QMQTT::Client::received,this,&DataCollectorSub::onReceived);
  14. m_client->connectToHost();
  15. }
  16. void DataCollectorSub::run()
  17. {
  18. }
  19. void DataCollectorSub::time_out()
  20. {
  21. if((m_client->connectionState()==QMQTT::STATE_DISCONNECTED)||(m_client->connectionState()==QMQTT::STATE_INIT)){
  22. m_client->connectToHost();
  23. }
  24. }
  25. void DataCollectorSub::onConnected()
  26. {
  27. m_client->subscribe("/usky/ytDP0001/+/+/info",0);
  28. m_client->subscribe("/usky/ytDP0002/+/+/info",0);
  29. m_client->subscribe("/usky/ytDP0003/+/+/info",0);
  30. m_client->subscribe("/usky/ytDP0006/+/+/info",0);
  31. m_client->subscribe("/usky/ytDP0007/+/+/info",0);
  32. m_client->subscribe("/usky/ytDP0008/+/+/info",0);
  33. m_client->subscribe("/usky/ytDP00033/+/+/info",0);
  34. }
  35. void DataCollectorSub::onReceived(const QMQTT::Message &message)
  36. {
  37. dataColShm->time = QDateTime::currentDateTime().toTime_t();
  38. QString topic = message.topic();
  39. QByteArray data = message.payload();
  40. //printf("data_collector topic: %s, commData: %s\n",topic.toUtf8().data(),data.data());
  41. emit sendDevData(topic,data);
  42. }