MQTT client fonctionnel

This commit is contained in:
2023-03-15 17:36:53 -04:00
parent daa887d67b
commit 35ed010db8
21 changed files with 2580 additions and 2813 deletions
+13 -4
View File
@@ -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);
};
+3 -1
View File
@@ -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;
+4 -1
View File
@@ -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;