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

View File

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

View File

@ -1,4 +1,4 @@
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>ļ<EFBFBD>
//////////////////////////////////////////////////////////////////////////
#pragma once
@ -23,7 +23,7 @@ namespace ZZ_MISCDEF
{
typedef struct tagDataFrame
{
ZZ_U16 usExposureTimeInMS;
ZZ_U32 usExposureTimeInMS;
ZZ_S32 lData[4096];
float fTemperature = 0;
double dTimes = 0;
@ -312,7 +312,7 @@ namespace ZZ_MISCDEF
typedef struct tagCalibrationFrame
{
int iExposureTimeInMS;
ZZ_U32 uiExposureTimeInMS;
float fTemperature;
int iPixels;
float fWaveLength[4096] = { 0 };
@ -322,10 +322,11 @@ namespace ZZ_MISCDEF
typedef struct tagCalDataFrame
{
ZZ_U16 usExposureTimeInMS;
ZZ_U32 usExposureTimeInMS;
float fTemperature = 0;
int iPixels;
double dData[4096];
float fData[4096];
QString qstrGrabDate;
}CalDataFrame;
}

View File

@ -1,20 +1,67 @@
#include "DataFileTransfer.h"
ZZ_HttpTransfer::ZZ_HttpTransfer(QObject* parent /*= nullptr*/)
{
m_pNetworkManager = new QNetworkAccessManager();
connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*)));
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();
connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*)));
}
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"));
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;
@ -22,24 +69,34 @@ int ZZ_HttpTransfer::SendData()
int ZZ_HttpTransfer::SendInfo()
{
if (m_pNetworkManager == nullptr)
{
m_pNetworkManager = new QNetworkAccessManager();
connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*)));
}
QNetworkRequest qnRequest;
qnRequest.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
qnRequest.setUrl(QUrl("http://172.16.0.234/fileup/Dev_info_uper.php"));
QByteArray qbSend;
QString qstrSend;
QString qstrWaveLength;
iFlagIsReplied = false;
for (int i = 0; i < m_struGrabberRTParams.fscParams.ucDeviceNumber; i++)
{
qstrSend = "Location:" + QString("%1").arg(m_struEC.qstrLocation) + "####";
qstrSend += "DEV_SN:" + QString("%1").arg(m_struEC.qstrDEV_SN) + "####";
qstrSend += "GPS_Longtitude:" + QString("%1").arg(m_struEC.qstrGPS_Longtitude) + "####";
qstrSend += "GPS_Latitude:" + QString("%1").arg(m_struEC.qstrGPS_Latitude) + "####";
qstrSend += "GPS_Altitude:" + QString("%1").arg(m_struEC.qstrGPS_Altitude) + "####";
qstrSend += "GPS_North:" + QString("%1").arg(m_struEC.qstrGPS_North) + "####";
qstrSend += "InstallationTime:" + QString("%1").arg(m_struMEC.qstrInstallationTime) + "####";
qstrSend += "NameOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrNameOfMaintenanceStaff) + "####";
qstrSend += "PhoneNumberOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrPhoneNumberOfMaintenanceStaff) + "####";
qstrSend += "Bands:" + QString("%1").arg(m_struGrabberRTParams.fscParams.usPixels[i]) + "####";
qstrSend = "Location:" + QString("%1").arg(m_struEC.qstrLocation) + "####";
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_Latitude:" + QString("%1").arg(m_struEC.qstrGPS_Latitude) + "####";
qstrSend += "GPS_Altitude:" + QString("%1").arg(m_struEC.qstrGPS_Altitude) + "####";
qstrSend += "GPS_North:" + QString("%1").arg(m_struEC.qstrGPS_North) + "####";
qstrSend += "InstallationTime:" + QString("%1").arg(m_struMEC.qstrInstallationTime) + "####";
qstrSend += "NameOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrNameOfMaintenanceStaff) + "####";
qstrSend += "PhoneNumberOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrPhoneNumberOfMaintenanceStaff) + "####";
qstrSend += "Bands:" + QString("%1").arg(m_struGrabberRTParams.fscParams.usPixels[i]) + "####";
qstrSend += "Positions:" + QString("%1").arg(m_struGrabberRTParams.apsParams.iTotalPosition-1) + "####";
qstrSend += "WaveLength:";
for (int j=0;j< m_struGrabberRTParams.fscParams.usPixels[i];j++)
{
@ -47,16 +104,32 @@ int ZZ_HttpTransfer::SendInfo()
qstrSend += qstrWaveLength;
if (j == m_struGrabberRTParams.fscParams.usPixels[i]-1)
{
qstrSend += "####";
//qstrSend += "####";
}
else
{
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;
}
@ -85,12 +158,30 @@ void ZZ_HttpTransfer::SetDeviceInfo(RunTimeGrabberParams struGrabberRTParams)
void ZZ_HttpTransfer::SetCalData(vector<vector<CalDataFrame>> vecCalcedData)
{
m_vecCalcedData.clear();
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)
{
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;
}

View File

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

View File

@ -20,6 +20,13 @@ CMainDataUploader::~CMainDataUploader()
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;
}
@ -38,29 +45,51 @@ void CMainDataUploader::Calibration()
{
int iScanPoints = m_struGrabberRTParams.apsParams.iTotalPosition - 1;
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 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++)
{
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();
return 0;
}
int CMainDataUploader::UploadErr()
{
return 0;
}
int CMainDataUploader::UploadData()
{
m_pTransfer->SetCalData(m_vecCalcedData);
m_pTransfer->SendData();
return 0;
}
int CMainDataUploader::Initialize()
{
m_pRadConverter->LoadCalibrationFrames(m_struGrabberRTParams,m_vecCalData);
m_pTransfer->SetContext(m_struEC, m_struMEC);
m_pTransfer->SetDeviceInfo(m_struGrabberRTParams);
return 0;
@ -73,6 +102,8 @@ int CMainDataUploader::Initialize()
int CMainDataUploader::SlotPushOneDataFrame()
{
Calibration();
UploadData();
m_vecData.clear();
return 0;
}

View File

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

View File

@ -48,7 +48,8 @@ int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams
QFile qfCalFile(qstrFilePath);
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.iPixels,sizeof(int));
qfCalFile.read((char*)OneFile.fWaveLength, sizeof(float)*OneFile.iPixels);