diff --git a/jsonparse/web_cmd_parse2.cpp b/jsonparse/web_cmd_parse2.cpp index 51be2ca..7dfc7db 100644 --- a/jsonparse/web_cmd_parse2.cpp +++ b/jsonparse/web_cmd_parse2.cpp @@ -19,8 +19,14 @@ std::string JsonData::JsonCmd_Cgi_26(Param_26 ¶m) { jsonVal["dataNodeGatewayNo"] = GlobalConfig::MacAddr_G; jsonVal["success"] = true; jsonVal["message"] = " "; - + int lowSignal = -1, signalThreshold = -1, lowBatteryLevel = -1, batteryLevelThreshold = -1; + lowSignal = readIntValue("config", "lowSignal", (char *)GlobalConfig::Config_G.c_str()); + signalThreshold = readIntValue("config", "signalThreshold", (char *)GlobalConfig::Config_G.c_str()); + lowBatteryLevel = readIntValue("config", "lowBatteryLevel", (char *)GlobalConfig::Config_G.c_str()); + batteryLevelThreshold = readIntValue("config", "batteryLevelThreshold", (char *)GlobalConfig::Config_G.c_str()); char looseValue[10] = {0x00}; + char whereCon[100] = {0}; + std::string effect = "" ,rssi = "",batteryPower = ""; readStringValue("config", "loose", looseValue, (char *)GlobalConfig::Config_G.c_str()); Json::Value jsArray; array_t arrRes; @@ -552,6 +558,7 @@ std::string JsonData::JsonCmd_Cgi_30(Param_30 ¶m) { while (inFile.read((char *)&fTemp, sizeof(fTemp))) { vecWave.push_back(fTemp); } + zlog_info(zct,"LF vecWave size %zu",vecWave.size()); //进行傅立叶变换 Calculation::FFTSpec(vecWave, fftWave); sampleRateReference = 1024; diff --git a/jsonparse/web_cmd_parse3.cpp b/jsonparse/web_cmd_parse3.cpp index 6acc126..99a528e 100644 --- a/jsonparse/web_cmd_parse3.cpp +++ b/jsonparse/web_cmd_parse3.cpp @@ -709,6 +709,7 @@ std::string JsonData::JsonCmd_Cgi_60(Param_60 ¶m){ char file_path[64]={0}; char cmd[128]={0}; sprintf(cmd, "mv /opt/%s /opt/DataNode/",param.fileName.c_str()); + zlog_info(zct,"cmd = %s",cmd); system(cmd); sprintf(file_path, "/opt/DataNode/%s",param.fileName.c_str()); zlog_info(zct,"file_path = %s",file_path); diff --git a/localserver/web_cmd.cpp b/localserver/web_cmd.cpp index a8ba43f..778e42a 100644 --- a/localserver/web_cmd.cpp +++ b/localserver/web_cmd.cpp @@ -420,7 +420,7 @@ std::string LocalServer::HandleCgi_cmd(std::string &pData) { case kTransducerUpgrade:{ JsonData jd; Param_60 param; - std::string type = recvBody["type"].asString(); + std::string type = recvBody["cmd"].asString(); if (0 == type.compare("UPDATE")) { param.mMode = 0; param.fileName = recvBody["fileName"].asString(); diff --git a/uart/uart_feature_parse.cpp b/uart/uart_feature_parse.cpp index f14b328..6305350 100644 --- a/uart/uart_feature_parse.cpp +++ b/uart/uart_feature_parse.cpp @@ -76,6 +76,11 @@ void Uart::RecordBattery(std::string &strLongAddr, DataRecvStatic &dataStatic, s sprintf(whereCon, "dataNodeNo='%s' and timeStamp = '%s'", strLongAddr.c_str(), res_static[8].c_str()); sprintf(updateSql, "comprehensiveRSSI = '%f'", comprehensiveRSSI); sqlite_db_ctrl::instance().UpdateTableData(tableName, updateSql, whereCon); + memset(whereCon,0x00,sizeof(whereCon)); + memset(updateSql,0x00,sizeof(updateSql)); + sprintf(whereCon,"MeasurementID = '%s'", strLongAddr.c_str()); + sprintf(updateSql,"RSSI = '%f'", comprehensiveRSSI); + sqlite_db_ctrl::instance().UpdateTableData(T_SENSOR_INFO(TNAME), updateSql, whereCon); zlog_info(zct, "dataNodeNo='%s',zigbeeSignal=%d,zigbeeSignalNode=%d,actualRate=%f,comprehensiveRSSI=%f", strLongAddr.c_str(), zigbeeSignal, zigbeeSignalNode, actualRate, comprehensiveRSSI); } } @@ -936,15 +941,15 @@ std::vector Uart::DealData(int iChannel, float coe, unsigned int sampleRa memcpy(dealdata, data, j * 92); deallen = j * 92; } - // if(iChannel == WAVE_X){ - // for (size_t i = 0; i < 200; i++) { - // float fTemp = 0.0f; - // memset(buf, 0, 8); - // sprintf(buf, "%02x%02x", dealdata[2 * i + 1], dealdata[i * 2]); - // printf("%s ", buf); - // } - // printf("\n"); - // } + if(iChannel == WAVE_LF_X){ + for (size_t i = 0; i < 200; i++) { + float fTemp = 0.0f; + memset(buf, 0, 8); + sprintf(buf, "%02x%02x", dealdata[2 * i + 1], dealdata[i * 2]); + printf("%s ", buf); + } + printf("\n"); + } for (size_t i = 0; i < deallen; i++) { float fTemp = 0.0f; memset(buf, 0, 8); @@ -1014,7 +1019,7 @@ void Uart::DealWave() { std::string strFileName = ""; std::string strProduct = ""; std::string softVersion = ""; - int version = 0; + int version = 0;// 0 新版本 1 旧版本 std::vector vecDataX, vecDataY, vecDataZ,vecDataVolX, vecDataVolY, vecDataVolZ; bool z = false; if (wave_trans_) { //对每个传感器的每个通道进行遍历然后处理数据,例如:传感器1x轴的数据处理完后,再去处理y轴的。传感器1的所有数据处理完后,再处理传感器2的 @@ -1063,11 +1068,6 @@ void Uart::DealWave() { accSampleTimeZ = (float)ACCSampleTime; version = 1; } - if (compareVersions(softVersion, "2.6") == -1 && strProduct == "01") { - accSampleTimeXY = (float)ACCSampleTime; - accSampleTimeZ = (float)ACCSampleTime; - version = 1; - } if (m_waveCountX > 0 || VecWaveDataX.size() > 0) { zlog_info(zct, "m_waveCountX = %d,VecWaveData = %zu", m_waveCountX, VecWaveDataX.size()); coe = Calcoe(n, WAVE_X, strProduct, range); @@ -1292,37 +1292,10 @@ void Uart::WriteDatFile(int sampleRate, std::string &strMeasurementID, int iChan fwrite(localtimestamp,sizeof(localtimestamp),1,fp); zlog_info(zct, " vecData.size : %zu,start ", vecData.size()); int id = 0; - for (size_t i = 0; i < vecData.size(); i++) { - frTemp = vecData[i] - mean; - memset(buf, 0x00, sizeof(buf)); - sprintf(buf, "%.2f", frTemp); - fwrite(&frTemp,sizeof(float),1,fp); - if (iChannel == WAVE_X){ - wave_channel.WaveChannelX[i] = frTemp; - }else if (iChannel == WAVE_Y){ - wave_channel.WaveChannelY[i] = frTemp; - }else if (iChannel == WAVE_Z){ - wave_channel.WaveChannelZ[i] = frTemp; - }else if (iChannel == WAVE_LF_X){ - wave_vol_channel.WaveChannelVolX[i] = frTemp; - }else if (iChannel == WAVE_LF_Y){ - wave_vol_channel.WaveChannelVolY[i] = frTemp; - }else if (iChannel == WAVE_LF_Z){ - wave_vol_channel.WaveChannelVolZ[i] = frTemp; - } - if (i != vecData.size() -1){ - strncpy(mqttData + id ,buf,strlen(buf)); - id = id + strlen(buf); - strncpy(mqttData + id,",",1); - id = id + 1; - }else{ - strncpy(mqttData + id ,buf,strlen(buf)); - } - } - fclose(fp); - if ((product == "02" && sampleRate == 24000 && iChannel == WAVE_Z && version == 0) || + + if ((product == "02" && sampleRate == 24000 && iChannel == WAVE_Z && version == 1) || (iChannel == WAVE_Z && version == 1) || - ((iChannel == WAVE_LF_X || iChannel == WAVE_LF_Y|| iChannel == WAVE_LF_Z) && version == 1)){ + ((iChannel == WAVE_LF_X || iChannel == WAVE_LF_Y|| iChannel == WAVE_LF_Z) && version == 0)){ sampleRate = 25600; zlog_info(zct, " sampleRate = %d,product = %s,ACCSampleTime = %f ", sampleRate,product.c_str(),ACCSampleTime); size_t outSize = 25600; @@ -1353,7 +1326,49 @@ void Uart::WriteDatFile(int sampleRate, std::string &strMeasurementID, int iChan frTemp = outputData[i] - mean; memset(buf, 0x00, sizeof(buf)); sprintf(buf, "%.2f", frTemp); - if(i != outputData.size() -1){ + fwrite(&frTemp,sizeof(float),1,fp); + if (iChannel == WAVE_X){ + wave_channel.WaveChannelX[i] = frTemp; + }else if (iChannel == WAVE_Y){ + wave_channel.WaveChannelY[i] = frTemp; + }else if (iChannel == WAVE_Z){ + wave_channel.WaveChannelZ[i] = frTemp; + }else if (iChannel == WAVE_LF_X){ + wave_vol_channel.WaveChannelVolX[i] = frTemp; + }else if (iChannel == WAVE_LF_Y){ + wave_vol_channel.WaveChannelVolY[i] = frTemp; + }else if (iChannel == WAVE_LF_Z){ + wave_vol_channel.WaveChannelVolZ[i] = frTemp; + } + if (i != outputData.size() -1){ + strncpy(mqttData + id ,buf,strlen(buf)); + id = id + strlen(buf); + strncpy(mqttData + id,",",1); + id = id + 1; + }else{ + strncpy(mqttData + id ,buf,strlen(buf)); + } + } + }else{ + for (size_t i = 0; i < vecData.size(); i++) { + frTemp = vecData[i] - mean; + memset(buf, 0x00, sizeof(buf)); + sprintf(buf, "%.2f", frTemp); + fwrite(&frTemp,sizeof(float),1,fp); + if (iChannel == WAVE_X){ + wave_channel.WaveChannelX[i] = frTemp; + }else if (iChannel == WAVE_Y){ + wave_channel.WaveChannelY[i] = frTemp; + }else if (iChannel == WAVE_Z){ + wave_channel.WaveChannelZ[i] = frTemp; + }else if (iChannel == WAVE_LF_X){ + wave_vol_channel.WaveChannelVolX[i] = frTemp; + }else if (iChannel == WAVE_LF_Y){ + wave_vol_channel.WaveChannelVolY[i] = frTemp; + }else if (iChannel == WAVE_LF_Z){ + wave_vol_channel.WaveChannelVolZ[i] = frTemp; + } + if (i != vecData.size() -1){ strncpy(mqttData + id ,buf,strlen(buf)); id = id + strlen(buf); strncpy(mqttData + id,",",1); @@ -1363,6 +1378,7 @@ void Uart::WriteDatFile(int sampleRate, std::string &strMeasurementID, int iChan } } } + fclose(fp); zlog_info(zct, "fopen file vecData.size : %zu end ", vecData.size()); wave_channel.wave_timestamp = nowTimetamp; g_mapWaveChannel[strMeasurementID] = wave_channel;