111111111111

This commit is contained in:
2022-01-06 17:25:43 +08:00
parent 23451f69b0
commit 5f9208b9e1
12 changed files with 167 additions and 34 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -84,7 +84,7 @@ int main(int argc, char *argv[])
m_mdgGrabber.Init_Normal(); m_mdgGrabber.Init_Normal();
m_mduUploader.Initialize(); m_mduUploader.Initialize();
m_mduUploader.Upload(); //m_mduUploader.UploadInfo();
m_pqDataGrabberThreadHolder->start(); m_pqDataGrabberThreadHolder->start();
m_pqTimerThreadHolder->start(); m_pqTimerThreadHolder->start();

View File

@ -37,10 +37,10 @@ void DataFileProcessor::SetData(std::vector<std::vector<DataFrame>> vecData)
bool DataFileProcessor::WriteDataFile() bool DataFileProcessor::WriteDataFile()
{ {
GenerateFilePath(); //GenerateFilePath();
WriteEnvironmentInfo(); //WriteEnvironmentInfo();
WriteDeviceInfo(); //WriteDeviceInfo();
WriteData(); //WriteData();
return 1; return 1;
} }

View File

@ -23,7 +23,7 @@ namespace ZZ_MISCDEF
{ {
typedef struct tagDataFrame typedef struct tagDataFrame
{ {
ZZ_U16 usExposureTimeInMS; ZZ_U32 usExposureTimeInMS;
ZZ_S32 lData[4096]; ZZ_S32 lData[4096];
float fTemperature = 0; float fTemperature = 0;
double dTimes = 0; double dTimes = 0;
@ -312,7 +312,7 @@ namespace ZZ_MISCDEF
typedef struct tagCalibrationFrame typedef struct tagCalibrationFrame
{ {
int iExposureTimeInMS; ZZ_U32 uiExposureTimeInMS;
float fTemperature; float fTemperature;
int iPixels; int iPixels;
float fWaveLength[4096] = { 0 }; float fWaveLength[4096] = { 0 };
@ -322,10 +322,11 @@ namespace ZZ_MISCDEF
typedef struct tagCalDataFrame typedef struct tagCalDataFrame
{ {
ZZ_U16 usExposureTimeInMS; ZZ_U32 usExposureTimeInMS;
float fTemperature = 0; float fTemperature = 0;
int iPixels; int iPixels;
double dData[4096]; float fData[4096];
QString qstrGrabDate;
}CalDataFrame; }CalDataFrame;
} }

View File

@ -1,20 +1,67 @@
#include "DataFileTransfer.h" #include "DataFileTransfer.h"
ZZ_HttpTransfer::ZZ_HttpTransfer(QObject* parent /*= nullptr*/) ZZ_HttpTransfer::ZZ_HttpTransfer(QObject* parent /*= nullptr*/)
{
m_pNetworkManager = nullptr;
}
ZZ_HttpTransfer::~ZZ_HttpTransfer()
{
if (m_pNetworkManager!= nullptr)
{
delete m_pNetworkManager;
}
}
int ZZ_HttpTransfer::SendData()
{
if (m_pNetworkManager == nullptr)
{ {
m_pNetworkManager = new QNetworkAccessManager(); m_pNetworkManager = new QNetworkAccessManager();
connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*))); connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*)));
} }
ZZ_HttpTransfer::~ZZ_HttpTransfer()
{
}
int ZZ_HttpTransfer::SendData()
{
QNetworkRequest qnRequest; QNetworkRequest qnRequest;
qnRequest.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json")); qnRequest.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
qnRequest.setUrl(QUrl("http://172.16.0.234/fileup/Data_uper.php")); qnRequest.setUrl(QUrl("http://172.16.0.234/fileup/Data_uper.php"));
QByteArray qbSend;
QString qstrSend;
for (int i = 0; i < m_struGrabberRTParams.fscParams.ucDeviceNumber; i++)
{
for (int j = 0; j < m_struGrabberRTParams.apsParams.iTotalPosition - 1; j++)
{
qstrSend.clear();
qstrSend = m_vecCalcedData[i][j].qstrGrabDate + "##";
qstrSend += /*"FS_SN:" +*/ QString::fromLocal8Bit(m_struGrabberRTParams.fscParams.strSN[i].c_str()) + "##";
qstrSend += /*"Position:" +*/ QString("%1").arg(j + 1) + "##";
qstrSend += /*"ExpTime:" +*/ QString("%1").arg(m_vecCalcedData[i][j].usExposureTimeInMS) + "##";
qstrSend += /*"Bands:" +*/ QString("%1").arg(m_vecCalcedData[i][j].iPixels) + "##";
qstrSend += /*"temp:" +*/ QString("%1").arg(m_vecCalcedData[i][j].fTemperature) + "##";
//send
qbSend.clear();
qbSend.append(qstrSend.toLatin1());
qbSend.append((char*)m_vecCalcedData[i][j].fData, sizeof(float)*m_vecCalcedData[i][j].iPixels);
m_pNetworkManager->post(qnRequest, qbSend);
iFlagIsReplied = 0;
int iCount = 0;
while (!iFlagIsReplied)
{
iCount++;
Delay_MSec(500);
if (iCount > 20)
{
iFlagIsReplied = 1;
qDebug() << "Reply Timeout:Upload Data ";
}
}
}
}
return 0; return 0;
@ -22,16 +69,25 @@ int ZZ_HttpTransfer::SendData()
int ZZ_HttpTransfer::SendInfo() int ZZ_HttpTransfer::SendInfo()
{ {
if (m_pNetworkManager == nullptr)
{
m_pNetworkManager = new QNetworkAccessManager();
connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*)));
}
QNetworkRequest qnRequest; QNetworkRequest qnRequest;
qnRequest.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json")); qnRequest.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
qnRequest.setUrl(QUrl("http://172.16.0.234/fileup/Dev_info_uper.php")); qnRequest.setUrl(QUrl("http://172.16.0.234/fileup/Dev_info_uper.php"));
QByteArray qbSend;
QString qstrSend; QString qstrSend;
QString qstrWaveLength; QString qstrWaveLength;
iFlagIsReplied = false;
for (int i = 0; i < m_struGrabberRTParams.fscParams.ucDeviceNumber; i++) for (int i = 0; i < m_struGrabberRTParams.fscParams.ucDeviceNumber; i++)
{ {
qstrSend = "Location:" + QString("%1").arg(m_struEC.qstrLocation) + "####"; qstrSend = "Location:" + QString("%1").arg(m_struEC.qstrLocation) + "####";
qstrSend += "DEV_SN:" + QString("%1").arg(m_struEC.qstrDEV_SN) + "####"; qstrSend += "DEV_SN:" + QString("%1").arg(m_struEC.qstrDEV_SN) + "####";
qstrSend += "FS_SN:" + QString::fromLocal8Bit(m_struGrabberRTParams.fscParams.strSN[i].c_str()) + "####";
qstrSend += "GPS_Longtitude:" + QString("%1").arg(m_struEC.qstrGPS_Longtitude) + "####"; qstrSend += "GPS_Longtitude:" + QString("%1").arg(m_struEC.qstrGPS_Longtitude) + "####";
qstrSend += "GPS_Latitude:" + QString("%1").arg(m_struEC.qstrGPS_Latitude) + "####"; qstrSend += "GPS_Latitude:" + QString("%1").arg(m_struEC.qstrGPS_Latitude) + "####";
qstrSend += "GPS_Altitude:" + QString("%1").arg(m_struEC.qstrGPS_Altitude) + "####"; qstrSend += "GPS_Altitude:" + QString("%1").arg(m_struEC.qstrGPS_Altitude) + "####";
@ -40,6 +96,7 @@ int ZZ_HttpTransfer::SendInfo()
qstrSend += "NameOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrNameOfMaintenanceStaff) + "####"; qstrSend += "NameOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrNameOfMaintenanceStaff) + "####";
qstrSend += "PhoneNumberOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrPhoneNumberOfMaintenanceStaff) + "####"; qstrSend += "PhoneNumberOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrPhoneNumberOfMaintenanceStaff) + "####";
qstrSend += "Bands:" + QString("%1").arg(m_struGrabberRTParams.fscParams.usPixels[i]) + "####"; qstrSend += "Bands:" + QString("%1").arg(m_struGrabberRTParams.fscParams.usPixels[i]) + "####";
qstrSend += "Positions:" + QString("%1").arg(m_struGrabberRTParams.apsParams.iTotalPosition-1) + "####";
qstrSend += "WaveLength:"; qstrSend += "WaveLength:";
for (int j=0;j< m_struGrabberRTParams.fscParams.usPixels[i];j++) for (int j=0;j< m_struGrabberRTParams.fscParams.usPixels[i];j++)
{ {
@ -47,16 +104,32 @@ int ZZ_HttpTransfer::SendInfo()
qstrSend += qstrWaveLength; qstrSend += qstrWaveLength;
if (j == m_struGrabberRTParams.fscParams.usPixels[i]-1) if (j == m_struGrabberRTParams.fscParams.usPixels[i]-1)
{ {
qstrSend += "####"; //qstrSend += "####";
} }
else else
{ {
qstrSend += ","; qstrSend += ",";
} }
} }
qbSend = qstrSend.toLatin1();
m_pNetworkManager->post(qnRequest, qbSend);
iFlagIsReplied = 0;
int iCount = 0;
while (!iFlagIsReplied)
{
iCount++;
Delay_MSec(500);
if (iCount>20)
{
iFlagIsReplied = 1;
qDebug() << "Reply Timeout:Upload Info ";
}
}
} }
qDebug() << qstrSend; //qDebug() << qstrSend;
return 0; return 0;
} }
@ -85,12 +158,30 @@ void ZZ_HttpTransfer::SetDeviceInfo(RunTimeGrabberParams struGrabberRTParams)
void ZZ_HttpTransfer::SetCalData(vector<vector<CalDataFrame>> vecCalcedData) void ZZ_HttpTransfer::SetCalData(vector<vector<CalDataFrame>> vecCalcedData)
{ {
m_vecCalcedData.clear();
m_vecCalcedData = vecCalcedData; m_vecCalcedData = vecCalcedData;
} }
void ZZ_HttpTransfer::Delay_MSec(ZZ_U16 usMS)
{
QEventLoop qeLoop;
QTimer::singleShot(usMS, &qeLoop, SLOT(quit()));
qeLoop.exec();
}
int ZZ_HttpTransfer::SlotReplyFinished(QNetworkReply* qnReply) int ZZ_HttpTransfer::SlotReplyFinished(QNetworkReply* qnReply)
{ {
QString qstrURL = qnReply->url().toString();
QByteArray qbData = qnReply->readAll(); //QString qstrURL = qnReply->url().toString();
//QByteArray qbData = qnReply->readAll();
if (qnReply->error()== QNetworkReply::NoError)
{
iFlagIsReplied = 1;
}
qnReply->abort();
qnReply->close();
qnReply->deleteLater();
qnReply = NULL;
//delete qnReply;
return 0; return 0;
} }

View File

@ -9,6 +9,7 @@ using namespace std;
using namespace ZZ_MISCDEF::ZZ_DATAFILE; using namespace ZZ_MISCDEF::ZZ_DATAFILE;
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS; using namespace ZZ_MISCDEF::ZZ_RUNPARAMS;
using namespace ZZ_MISCDEF::IRIS::FS; using namespace ZZ_MISCDEF::IRIS::FS;
using namespace ZZ_MISCDEF;
class ZZ_HttpTransfer :public QObject class ZZ_HttpTransfer :public QObject
{ {
@ -25,13 +26,17 @@ public:
void SetContext(EContext struEC, MEContext struMEC); void SetContext(EContext struEC, MEContext struMEC);
void SetDeviceInfo(RunTimeGrabberParams struGrabberRTParams); void SetDeviceInfo(RunTimeGrabberParams struGrabberRTParams);
void SetCalData(vector<vector<CalDataFrame>> vecCalcedData); void SetCalData(vector<vector<CalDataFrame>> vecCalcedData);
private:
void Delay_MSec(ZZ_U16 usMS);
private: private:
QNetworkAccessManager *m_pNetworkManager; QNetworkAccessManager *m_pNetworkManager;
EContext m_struEC; EContext m_struEC;
MEContext m_struMEC; MEContext m_struMEC;
RunTimeGrabberParams m_struGrabberRTParams; RunTimeGrabberParams m_struGrabberRTParams;
vector<vector<CalDataFrame>> m_vecCalcedData; vector<vector<CalDataFrame>> m_vecCalcedData;
private:
int iFlagIsReplied;
public slots: public slots:
int SlotReplyFinished(QNetworkReply* qnReply); int SlotReplyFinished(QNetworkReply* qnReply);
}; };

View File

@ -20,6 +20,13 @@ CMainDataUploader::~CMainDataUploader()
void CMainDataUploader::SetData(vector<vector<DataFrame>> vecData) void CMainDataUploader::SetData(vector<vector<DataFrame>> vecData)
{ {
QDateTime qdtTime = QDateTime::currentDateTime();
QString qstrAddYMD = qdtTime.toString("yyyy_MM_dd");
QString qstrAddHMS = qdtTime.toString("_hh_mm_ss");
m_qstrGrabDate.clear();
m_qstrGrabDate = qstrAddYMD + qstrAddHMS;
m_vecData = vecData; m_vecData = vecData;
} }
@ -38,29 +45,51 @@ void CMainDataUploader::Calibration()
{ {
int iScanPoints = m_struGrabberRTParams.apsParams.iTotalPosition - 1; int iScanPoints = m_struGrabberRTParams.apsParams.iTotalPosition - 1;
int iDevices = m_struGrabberRTParams.fscParams.ucDeviceNumber; int iDevices = m_struGrabberRTParams.fscParams.ucDeviceNumber;
m_vecCalcedData.clear();
m_vecCalcedData.resize(iDevices);
for (int i=0;i< iDevices;i++)
{
m_vecCalcedData[i].resize(iScanPoints);
}
for (int j = 0; j < iDevices; j++) for (int j = 0; j < iDevices; j++)
{ {
for (int i = 0; i < iScanPoints; i++) for (int i = 0; i < iScanPoints; i++)
{ {
m_vecCalcedData[j][i].usExposureTimeInMS = m_vecData[j][i].usExposureTimeInMS;
m_vecCalcedData[j][i].iPixels = m_vecCalData[j][i].iPixels;
m_vecCalcedData[j][i].fTemperature = m_vecData[j][i].fTemperature;
m_vecCalcedData[j][i].qstrGrabDate = m_qstrGrabDate;
for (int k=0;k< m_struGrabberRTParams.fscParams.usPixels[j];k++) for (int k=0;k< m_struGrabberRTParams.fscParams.usPixels[j];k++)
{ {
m_vecCalcedData[j][i].dData[k] = m_vecData[j][i].lData[k]* m_vecCalData[j][i].dCal_Gain[k]; m_vecCalcedData[j][i].fData[k] = (float)(m_vecData[j][i].lData[k]* m_vecCalData[j][i].dCal_Gain[k]);
} }
} }
} }
} }
int CMainDataUploader::Upload() int CMainDataUploader::UploadInfo()
{ {
m_pTransfer->SendInfo(); m_pTransfer->SendInfo();
return 0; return 0;
} }
int CMainDataUploader::UploadErr()
{
return 0;
}
int CMainDataUploader::UploadData()
{
m_pTransfer->SetCalData(m_vecCalcedData);
m_pTransfer->SendData();
return 0;
}
int CMainDataUploader::Initialize() int CMainDataUploader::Initialize()
{ {
m_pRadConverter->LoadCalibrationFrames(m_struGrabberRTParams,m_vecCalData); m_pRadConverter->LoadCalibrationFrames(m_struGrabberRTParams,m_vecCalData);
m_pTransfer->SetContext(m_struEC, m_struMEC); m_pTransfer->SetContext(m_struEC, m_struMEC);
m_pTransfer->SetDeviceInfo(m_struGrabberRTParams); m_pTransfer->SetDeviceInfo(m_struGrabberRTParams);
return 0; return 0;
@ -73,6 +102,8 @@ int CMainDataUploader::Initialize()
int CMainDataUploader::SlotPushOneDataFrame() int CMainDataUploader::SlotPushOneDataFrame()
{ {
Calibration();
UploadData();
m_vecData.clear(); m_vecData.clear();
return 0; return 0;
} }

View File

@ -29,7 +29,9 @@ public:
void Calibration(); void Calibration();
int Upload(); int UploadInfo();
int UploadErr();
int UploadData();
private: private:
RadConverter *m_pRadConverter = NULL; RadConverter *m_pRadConverter = NULL;
@ -41,6 +43,8 @@ private:
vector<vector<DataFrame>> m_vecData; vector<vector<DataFrame>> m_vecData;
vector<vector<CalFrame>> m_vecCalData; vector<vector<CalFrame>> m_vecCalData;
vector<vector<CalDataFrame>> m_vecCalcedData; vector<vector<CalDataFrame>> m_vecCalcedData;
QString m_qstrGrabDate;
public slots: public slots:
//int SlotPushOneDataFrame(vector<vector<DataFrame>> vecData); //int SlotPushOneDataFrame(vector<vector<DataFrame>> vecData);
int SlotPushOneDataFrame(); int SlotPushOneDataFrame();

View File

@ -48,7 +48,8 @@ int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams
QFile qfCalFile(qstrFilePath); QFile qfCalFile(qstrFilePath);
bool bRes = qfCalFile.open(QFile::ReadOnly); bool bRes = qfCalFile.open(QFile::ReadOnly);
qfCalFile.read((char *)&OneFile.iExposureTimeInMS,sizeof(int)); using namespace ZZ_MISCDEF;
qfCalFile.read((char *)&OneFile.uiExposureTimeInMS,sizeof(ZZ_U32));//U32
qfCalFile.read((char*)&OneFile.fTemperature, sizeof(float)); qfCalFile.read((char*)&OneFile.fTemperature, sizeof(float));
qfCalFile.read((char*)&OneFile.iPixels,sizeof(int)); qfCalFile.read((char*)&OneFile.iPixels,sizeof(int));
qfCalFile.read((char*)OneFile.fWaveLength, sizeof(float)*OneFile.iPixels); qfCalFile.read((char*)OneFile.fWaveLength, sizeof(float)*OneFile.iPixels);