mirror of
http://172.16.0.230/r/SIF/TowerOptoSifAndSpectral.git
synced 2025-10-19 03:49:42 +08:00
111111111111
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
};
|
@ -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;
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
Reference in New Issue
Block a user