MQTT client fonctionnel
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
CCANDataLogger::CCANDataLogger():
|
||||
mTopicDeviceString("")
|
||||
{
|
||||
|
||||
mMQTTCLient = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ int CCANDataLogger::LogNewData(const QList<CCANMessage *> *MsgList)
|
||||
|
||||
//First, clear the current list
|
||||
mMQTTMsgList.clear();
|
||||
qDebug("\n\n\n");
|
||||
//qDebug("\n\n\n");
|
||||
|
||||
for(int i = 0; i < MsgList->size(); i++)
|
||||
{
|
||||
@@ -25,7 +25,7 @@ int CCANDataLogger::LogNewData(const QList<CCANMessage *> *MsgList)
|
||||
QString MsgPayload = "{";
|
||||
QString MsgTopic = mTopicDeviceString;
|
||||
MsgTopic.append(Msg->mCANMsgName);
|
||||
MsgTopic.append("/");
|
||||
// MsgTopic.append("/");
|
||||
|
||||
//For each signal with new data, insert an entry in the JSon payload string
|
||||
for(int signal = 0; signal < Msg->mSignalsList.size(); signal++)
|
||||
@@ -54,7 +54,7 @@ int CCANDataLogger::LogNewData(const QList<CCANMessage *> *MsgList)
|
||||
}
|
||||
MsgPayload.append("}");
|
||||
|
||||
qDebug("%s",qPrintable(MsgPayload));
|
||||
// qDebug("%s",qPrintable(MsgPayload));
|
||||
|
||||
CMQTTMessage NewMessage(MsgTopic, MsgPayload);
|
||||
mMQTTMsgList.append(NewMessage);
|
||||
@@ -62,6 +62,10 @@ int CCANDataLogger::LogNewData(const QList<CCANMessage *> *MsgList)
|
||||
} //if(MsgList->at(i)->mPendingData == true)
|
||||
}
|
||||
|
||||
if(mMQTTCLient != 0)
|
||||
{
|
||||
mMQTTCLient->SendMQTTMessages(mMQTTMsgList);
|
||||
}
|
||||
return RET_OK;
|
||||
|
||||
}
|
||||
@@ -72,3 +76,8 @@ int CCANDataLogger::SetMQTTTopicDevice(QString DeviceString)
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CCANDataLogger::SetMQTTClient(CMQTTClientWrapper *MQTTClient)
|
||||
{
|
||||
mMQTTCLient = MQTTClient;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "MQTTMessage.h"
|
||||
#include <QList>
|
||||
#include "CANMessage.h"
|
||||
#include "MQTTClientWrapper.h"
|
||||
|
||||
class CCANDataLogger
|
||||
{
|
||||
@@ -16,8 +17,10 @@ public:
|
||||
//MQTT logging
|
||||
QString mTopicDeviceString;
|
||||
QList<CMQTTMessage> mMQTTMsgList;
|
||||
CMQTTClientWrapper *mMQTTCLient;
|
||||
|
||||
int SetMQTTTopicDevice(QString DeviceString);
|
||||
int SetMQTTClient(CMQTTClientWrapper *MQTTClient);
|
||||
|
||||
|
||||
};
|
||||
|
||||
@@ -19,7 +19,7 @@ CCANDevice::CCANDevice(QObject *parent)
|
||||
// mDevicePollPeriod = 0;
|
||||
}
|
||||
|
||||
CCANDevice::CCANDevice(CCANDeviceConfig &SysConfig)
|
||||
CCANDevice::CCANDevice(CCANDeviceConfig &SysConfig, CMQTTClientWrapper *MQTTClient)
|
||||
{
|
||||
mMessageList.clear();
|
||||
mMessagesListLoaded = false;
|
||||
@@ -27,6 +27,7 @@ CCANDevice::CCANDevice(CCANDeviceConfig &SysConfig)
|
||||
mProgramPtr = 0;
|
||||
|
||||
mDeviceConfigInfo = SysConfig;
|
||||
mCANMQTTClient = MQTTClient;
|
||||
|
||||
// mCANDeviceID = SysConfig.mCANDeviceID;
|
||||
// mCANDeviceBaudrate = SysConfig.mCANDeviceBaudrate;
|
||||
@@ -73,6 +74,7 @@ int CCANDevice::Init()
|
||||
}
|
||||
|
||||
mCANDataLogger.SetMQTTTopicDevice(QString("CANBus/%1/").arg(mDeviceConfigInfo.mDeviceName));
|
||||
mCANDataLogger.SetMQTTClient(mCANMQTTClient);
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Dispositif [%1] initialisé avec succès!").arg(mDeviceConfigInfo.mDeviceName),true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
return RET_OK;
|
||||
|
||||
@@ -11,7 +11,9 @@
|
||||
#include "PCANBasic.h"
|
||||
#include "CANDeviceConfig.h"
|
||||
#include "CANDataLogger.h"
|
||||
//#include "MQTTClientWrapper.h"
|
||||
|
||||
class CMQTTClientWrapper;
|
||||
class COtarcikCan;
|
||||
|
||||
class CCANDevice : public QObject
|
||||
@@ -19,7 +21,7 @@ class CCANDevice : public QObject
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit CCANDevice(QObject *parent = 0);
|
||||
CCANDevice(CCANDeviceConfig &SysConfig);
|
||||
CCANDevice(CCANDeviceConfig &SysConfig, CMQTTClientWrapper* MQTTClient = 0);
|
||||
~CCANDevice();
|
||||
|
||||
int Init(QString DatabaseFileName, TPCANHandle CANDeviceID, TPCANBaudrate CANDeviceBaudRate, QString DevDescription, QString DeviceName, unsigned int DevicePollPeriod);
|
||||
@@ -33,6 +35,7 @@ public:
|
||||
CCANAnalyzer mCANAnalyzer; //The module that handles the USB puck and decodes the data
|
||||
CCANDatabase mCANDatabase; //The device's database loaded from dbc file
|
||||
CCANDataLogger mCANDataLogger;
|
||||
CMQTTClientWrapper *mCANMQTTClient;
|
||||
|
||||
QList<CCANMessage*> mMessageList;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user