fix bugs
This commit is contained in:
parent
7cc1a2326e
commit
192c121549
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
extern zlog_category_t *zct;
|
extern zlog_category_t *zct;
|
||||||
extern zlog_category_t *zbt;
|
extern zlog_category_t *zbt;
|
||||||
|
char resend_mqttData[512000] = {0};
|
||||||
// clang-format off
|
// clang-format off
|
||||||
const char *T_SENSOR_INFO1[] = {"t_sensor_info", "dataNodeNo", "dataNodeName", "initFlag", "accFlag", "zigbeeFlag", "temTopFlag", "temBotFlag", "equipSta", "hardVersion", "softVersion", "bpNo",
|
const char *T_SENSOR_INFO1[] = {"t_sensor_info", "dataNodeNo", "dataNodeName", "initFlag", "accFlag", "zigbeeFlag", "temTopFlag", "temBotFlag", "equipSta", "hardVersion", "softVersion", "bpNo",
|
||||||
"serialNo", "firstPowerTime", "configFlag", "startBrands", "stopBrands", "featureInterVal", "waveInterVal", "samplingRate", "scope", "range", "envelopeBandPass", "faultFrequency",
|
"serialNo", "firstPowerTime", "configFlag", "startBrands", "stopBrands", "featureInterVal", "waveInterVal", "samplingRate", "scope", "range", "envelopeBandPass", "faultFrequency",
|
||||||
@ -1269,7 +1269,11 @@ int SqliteDB::QueryofflineData() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float frTemp = 0.0f;
|
||||||
|
std::string sample;
|
||||||
char whereCon[1024] = {0x00};
|
char whereCon[1024] = {0x00};
|
||||||
|
char buf[30]={0};
|
||||||
sprintf(whereCon, " SendMsg = 0 ");
|
sprintf(whereCon, " SendMsg = 0 ");
|
||||||
array_t arrRetData = GetDataMultiLine("t_data_waveSend", "*", whereCon);
|
array_t arrRetData = GetDataMultiLine("t_data_waveSend", "*", whereCon);
|
||||||
zlog_info(zct, "mqttresend check wave count %d", arrRetData.size());
|
zlog_info(zct, "mqttresend check wave count %d", arrRetData.size());
|
||||||
@ -1285,28 +1289,37 @@ int SqliteDB::QueryofflineData() {
|
|||||||
while (inFile.read((char *)&fTemp, sizeof(fTemp))) {
|
while (inFile.read((char *)&fTemp, sizeof(fTemp))) {
|
||||||
vecWave.push_back(fTemp);
|
vecWave.push_back(fTemp);
|
||||||
}
|
}
|
||||||
|
memset(whereCon,0,sizeof(whereCon));
|
||||||
|
std::string MeasurementID = arrRetData[i][0].erase(arrRetData[i][0].length() - 2);
|
||||||
|
sprintf(whereCon," MeasurementID = '%s'",MeasurementID.c_str());
|
||||||
|
sample = GetData(T_SENSOR_INFO(TNAME), " samplingRate ", whereCon);
|
||||||
|
|
||||||
|
|
||||||
|
int id = 0;
|
||||||
|
memset(resend_mqttData,0,sizeof(resend_mqttData));
|
||||||
for (size_t i = 0; i < vecWave.size(); i++) {
|
for (size_t i = 0; i < vecWave.size(); i++) {
|
||||||
char buf[33] = {0x00};
|
|
||||||
memset(buf, 0x00, sizeof(buf));
|
memset(buf, 0x00, sizeof(buf));
|
||||||
sprintf(buf, "%.2f", vecWave[i]);
|
sprintf(buf, "%.2f", frTemp);
|
||||||
std::string waveTemp(buf);
|
if (i != vecWave.size() -1){
|
||||||
if (i == 0) {
|
strncpy(resend_mqttData + id ,buf,strlen(buf));
|
||||||
strWaveData = waveTemp;
|
id = id + strlen(buf);
|
||||||
|
strncpy(resend_mqttData + id,",",1);
|
||||||
|
id = id + 1;
|
||||||
|
}else{
|
||||||
|
strncpy(resend_mqttData + id ,buf,strlen(buf));
|
||||||
}
|
}
|
||||||
strWaveData = strWaveData + "," + waveTemp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inFile.close();
|
inFile.close();
|
||||||
}
|
}
|
||||||
Json::Value valWaveData;
|
Json::Value valWaveData;
|
||||||
int length = strWaveData.length();
|
valWaveData["number"] = atoi(sample.c_str());
|
||||||
valWaveData["number"] = length;
|
|
||||||
valWaveData["channelId"] = arrRetData[i][0];
|
valWaveData["channelId"] = arrRetData[i][0];
|
||||||
valWaveData["dataNodeNo"] = arrRetData[i][0].substr(0, arrRetData[i][0].length() - 2);
|
valWaveData["dataNodeNo"] = arrRetData[i][0].substr(0, arrRetData[i][0].length() - 2);
|
||||||
valWaveData["dataNodeGatewayNo"] = GlobalConfig::MacAddr_G;
|
valWaveData["dataNodeGatewayNo"] = GlobalConfig::MacAddr_G;
|
||||||
valWaveData["SensorEngineeringUnit"] = "";
|
valWaveData["SensorEngineeringUnit"] = "";
|
||||||
valWaveData["timeStamp"] = arrRetData[i][2];
|
valWaveData["timeStamp"] = arrRetData[i][2];
|
||||||
valWaveData["waveData"] = strWaveData;
|
valWaveData["waveData"] = resend_mqttData;
|
||||||
Json::FastWriter WaveValue;
|
Json::FastWriter WaveValue;
|
||||||
std::string WaveData = WaveValue.write(valWaveData);
|
std::string WaveData = WaveValue.write(valWaveData);
|
||||||
int iRet = data_publish(WaveData.c_str(), GlobalConfig::Topic_G.mPubWaveData.c_str());
|
int iRet = data_publish(WaveData.c_str(), GlobalConfig::Topic_G.mPubWaveData.c_str());
|
||||||
|
|||||||
@ -670,11 +670,11 @@ std::string JsonData::JsonCmd_Cgi_60(Param_60 ¶m){
|
|||||||
{
|
{
|
||||||
jsonVal["success"] = false;
|
jsonVal["success"] = false;
|
||||||
jsonVal["message"] = "package CRC error";
|
jsonVal["message"] = "package CRC error";
|
||||||
|
free(buffer);
|
||||||
return show_value_.write(jsonVal);
|
return show_value_.write(jsonVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("sum = %x\n",sum % 256);
|
printf("sum = %x\n",sum % 256);
|
||||||
return show_value_.write(jsonVal);
|
|
||||||
char localtimestamp[32] = {0};
|
char localtimestamp[32] = {0};
|
||||||
GetTimeNet(localtimestamp, 1);
|
GetTimeNet(localtimestamp, 1);
|
||||||
for (size_t i = 0; i < param.dataNodeNo.size(); i++)
|
for (size_t i = 0; i < param.dataNodeNo.size(); i++)
|
||||||
@ -687,6 +687,7 @@ std::string JsonData::JsonCmd_Cgi_60(Param_60 ¶m){
|
|||||||
{
|
{
|
||||||
jsonVal["success"] = false;
|
jsonVal["success"] = false;
|
||||||
jsonVal["message"] = "hardVersion error";
|
jsonVal["message"] = "hardVersion error";
|
||||||
|
free(buffer);
|
||||||
return show_value_.write(jsonVal);
|
return show_value_.write(jsonVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -694,6 +695,8 @@ std::string JsonData::JsonCmd_Cgi_60(Param_60 ¶m){
|
|||||||
sqlite_db_ctrl::instance().InsertData(" firmware_upgrade ", insertSql);
|
sqlite_db_ctrl::instance().InsertData(" firmware_upgrade ", insertSql);
|
||||||
scheduler::instance().UpgradeSensor(atoi(vecResult[3].c_str()),std::string(sensor_type),atoi(vecResult[0].c_str()),vecResult[1],std::string(sf_version));
|
scheduler::instance().UpgradeSensor(atoi(vecResult[3].c_str()),std::string(sensor_type),atoi(vecResult[0].c_str()),vecResult[1],std::string(sf_version));
|
||||||
}
|
}
|
||||||
|
free(buffer);
|
||||||
|
return show_value_.write(jsonVal);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -254,17 +254,17 @@ SensorScheduler::SensorScheduler() {
|
|||||||
seconds_per_wave_slice_ = rest_duration / wave_slice_num_per_eigen_interval_;
|
seconds_per_wave_slice_ = rest_duration / wave_slice_num_per_eigen_interval_;
|
||||||
} else {
|
} else {
|
||||||
zlog_info(zbt, "use default configuration");
|
zlog_info(zbt, "use default configuration");
|
||||||
// int eigen_value_send_interval = 300;
|
int eigen_value_send_interval = 300;
|
||||||
// int wave_form_send_interval = 7200;
|
int wave_form_send_interval = 7200;
|
||||||
// int eigen_value_send_duration = 6;
|
|
||||||
// int wave_form_send_duration = 50;
|
|
||||||
// int max_sensor_num = 32;
|
|
||||||
|
|
||||||
int eigen_value_send_interval = 120;
|
|
||||||
int wave_form_send_interval = 240;
|
|
||||||
int eigen_value_send_duration = 6;
|
int eigen_value_send_duration = 6;
|
||||||
int wave_form_send_duration = 40;
|
int wave_form_send_duration = 50;
|
||||||
int max_sensor_num = 4;
|
int max_sensor_num = 32;
|
||||||
|
|
||||||
|
// int eigen_value_send_interval = 120;
|
||||||
|
// int wave_form_send_interval = 240;
|
||||||
|
// int eigen_value_send_duration = 6;
|
||||||
|
// int wave_form_send_duration = 40;
|
||||||
|
// int max_sensor_num = 4;
|
||||||
std::string error_msg;
|
std::string error_msg;
|
||||||
Config(eigen_value_send_interval,
|
Config(eigen_value_send_interval,
|
||||||
wave_form_send_interval,
|
wave_form_send_interval,
|
||||||
|
|||||||
@ -359,7 +359,6 @@ int Uart::DealAskTask(uint16_t ushortAdd){
|
|||||||
int next_duration = 0;
|
int next_duration = 0;
|
||||||
int taskID = scheduler::instance().StartSchedule(ushortAdd,next_duration);
|
int taskID = scheduler::instance().StartSchedule(ushortAdd,next_duration);
|
||||||
ScheduleTask scheduleTask;
|
ScheduleTask scheduleTask;
|
||||||
taskID = 2;
|
|
||||||
zlog_info(zct, "taskID = %d ", taskID);
|
zlog_info(zct, "taskID = %d ", taskID);
|
||||||
if (taskID == kScheduleEigenValue) //1.特征值
|
if (taskID == kScheduleEigenValue) //1.特征值
|
||||||
{
|
{
|
||||||
@ -397,6 +396,12 @@ int Uart::DealAskTask(uint16_t ushortAdd){
|
|||||||
scheduleTask.duration = next_duration;
|
scheduleTask.duration = next_duration;
|
||||||
zlog_info(zct, "next_duration = %d ", next_duration);
|
zlog_info(zct, "next_duration = %d ", next_duration);
|
||||||
TaskResp(scheduleTask);
|
TaskResp(scheduleTask);
|
||||||
|
}else if (taskID == 13) //6.RSSI
|
||||||
|
{
|
||||||
|
scheduleTask.cmd = SIGNAL_STRENGTH;
|
||||||
|
scheduleTask.shortAddr = ushortAdd;
|
||||||
|
scheduleTask.duration = next_duration;
|
||||||
|
TaskResp(scheduleTask);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -1146,17 +1151,23 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) {
|
|||||||
zlog_info(zct, "zigbeeShortAddr = %s , ret = %02d", m_strDestShortAddr.c_str(), UartRecvBuf[i + 4] & 0xFF);
|
zlog_info(zct, "zigbeeShortAddr = %s , ret = %02d", m_strDestShortAddr.c_str(), UartRecvBuf[i + 4] & 0xFF);
|
||||||
|
|
||||||
} else if (command == 218) { // DA
|
} else if (command == 218) { // DA
|
||||||
|
char localtimestamp[32] = {0};
|
||||||
|
GetTimeNet(localtimestamp, 1);
|
||||||
char whereCon[1024] = {0};
|
char whereCon[1024] = {0};
|
||||||
char updateSql[1024] = {0};
|
char updateSql[1024] = {0};
|
||||||
char tableName[100] = {0x00};
|
char tableName[100] = {0x00};
|
||||||
|
char insertSql[100] = {0x00};
|
||||||
bZigbeeSinal = false;
|
bZigbeeSinal = false;
|
||||||
sprintf(whereCon, "zigbeeShortAddr='%s'", m_strDestShortAddr.c_str());
|
sprintf(whereCon, "zigbeeShortAddr='%02x%02x'", UartRecvBuf[i + 3] & 0xFF, UartRecvBuf[i + 4] & 0xFF);
|
||||||
vec_t vecDataNodeNo = sqlite_db_ctrl::instance().GetDataSingleLine(T_SENSOR_INFO(TNAME), " dataNodeNo,LooseValue,RSSI ", whereCon);
|
vec_t vecDataNodeNo = sqlite_db_ctrl::instance().GetDataSingleLine(T_SENSOR_INFO(TNAME), " dataNodeNo,LooseValue,RSSI ", whereCon);
|
||||||
memset(whereCon, 0x00, sizeof(whereCon));
|
memset(whereCon, 0x00, sizeof(whereCon));
|
||||||
sprintf(updateSql, "zigbeeSignal = '%02d' ", UartRecvBuf[i + 6] & 0xFF); // zigbeeRSSIType = 1 网关获取传感器信号强度
|
|
||||||
sprintf(whereCon, "dataNodeNo='%s' and timeStamp = '%s'", (char *)vecDataNodeNo[0].c_str(), strTimetamp.c_str());
|
sprintf(insertSql, "'%s','%s-S','','','','', '','','%s','','','%02d','','' ", vecDataNodeNo[0].c_str(),vecDataNodeNo[0].c_str(),localtimestamp,UartRecvBuf[i + 6] & 0xFF); // zigbeeRSSIType = 0 传感器获取网关信号强度
|
||||||
|
|
||||||
sprintf(tableName, "t_dataStatic_%s", (char *)vecDataNodeNo[0].c_str());
|
sprintf(tableName, "t_dataStatic_%s", (char *)vecDataNodeNo[0].c_str());
|
||||||
sqlite_db_ctrl::instance().UpdateTableData(tableName, updateSql, whereCon);
|
sqlite_db_ctrl::instance().InsertData(tableName, insertSql);
|
||||||
|
// zigbeeRSSIType = 1 网关获取传感器信号强度
|
||||||
|
|
||||||
Json::Value jsBody, jsonVal;
|
Json::Value jsBody, jsonVal;
|
||||||
Json::FastWriter showValue;
|
Json::FastWriter showValue;
|
||||||
char looseValue[10] = {0x00};
|
char looseValue[10] = {0x00};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user