This commit is contained in:
zhangsheng 2024-11-10 19:22:16 +08:00
parent 7cc1a2326e
commit 192c121549
4 changed files with 53 additions and 26 deletions

View File

@ -9,7 +9,7 @@
extern zlog_category_t *zct;
extern zlog_category_t *zbt;
char resend_mqttData[512000] = {0};
// clang-format off
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",
@ -1269,7 +1269,11 @@ int SqliteDB::QueryofflineData() {
}
}
}
float frTemp = 0.0f;
std::string sample;
char whereCon[1024] = {0x00};
char buf[30]={0};
sprintf(whereCon, " SendMsg = 0 ");
array_t arrRetData = GetDataMultiLine("t_data_waveSend", "*", whereCon);
zlog_info(zct, "mqttresend check wave count %d", arrRetData.size());
@ -1285,28 +1289,37 @@ int SqliteDB::QueryofflineData() {
while (inFile.read((char *)&fTemp, sizeof(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++) {
char buf[33] = {0x00};
memset(buf, 0x00, sizeof(buf));
sprintf(buf, "%.2f", vecWave[i]);
std::string waveTemp(buf);
if (i == 0) {
strWaveData = waveTemp;
sprintf(buf, "%.2f", frTemp);
if (i != vecWave.size() -1){
strncpy(resend_mqttData + id ,buf,strlen(buf));
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();
}
Json::Value valWaveData;
int length = strWaveData.length();
valWaveData["number"] = length;
valWaveData["number"] = atoi(sample.c_str());
valWaveData["channelId"] = arrRetData[i][0];
valWaveData["dataNodeNo"] = arrRetData[i][0].substr(0, arrRetData[i][0].length() - 2);
valWaveData["dataNodeGatewayNo"] = GlobalConfig::MacAddr_G;
valWaveData["SensorEngineeringUnit"] = "";
valWaveData["timeStamp"] = arrRetData[i][2];
valWaveData["waveData"] = strWaveData;
valWaveData["waveData"] = resend_mqttData;
Json::FastWriter WaveValue;
std::string WaveData = WaveValue.write(valWaveData);
int iRet = data_publish(WaveData.c_str(), GlobalConfig::Topic_G.mPubWaveData.c_str());

View File

@ -670,11 +670,11 @@ std::string JsonData::JsonCmd_Cgi_60(Param_60 &param){
{
jsonVal["success"] = false;
jsonVal["message"] = "package CRC error";
free(buffer);
return show_value_.write(jsonVal);
}
printf("sum = %x\n",sum % 256);
return show_value_.write(jsonVal);
char localtimestamp[32] = {0};
GetTimeNet(localtimestamp, 1);
for (size_t i = 0; i < param.dataNodeNo.size(); i++)
@ -687,6 +687,7 @@ std::string JsonData::JsonCmd_Cgi_60(Param_60 &param){
{
jsonVal["success"] = false;
jsonVal["message"] = "hardVersion error";
free(buffer);
return show_value_.write(jsonVal);
}
@ -694,6 +695,8 @@ std::string JsonData::JsonCmd_Cgi_60(Param_60 &param){
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));
}
free(buffer);
return show_value_.write(jsonVal);
}

View File

@ -254,17 +254,17 @@ SensorScheduler::SensorScheduler() {
seconds_per_wave_slice_ = rest_duration / wave_slice_num_per_eigen_interval_;
} else {
zlog_info(zbt, "use default configuration");
// int eigen_value_send_interval = 300;
// 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_interval = 300;
int wave_form_send_interval = 7200;
int eigen_value_send_duration = 6;
int wave_form_send_duration = 40;
int max_sensor_num = 4;
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 wave_form_send_duration = 40;
// int max_sensor_num = 4;
std::string error_msg;
Config(eigen_value_send_interval,
wave_form_send_interval,

View File

@ -359,7 +359,6 @@ int Uart::DealAskTask(uint16_t ushortAdd){
int next_duration = 0;
int taskID = scheduler::instance().StartSchedule(ushortAdd,next_duration);
ScheduleTask scheduleTask;
taskID = 2;
zlog_info(zct, "taskID = %d ", taskID);
if (taskID == kScheduleEigenValue) //1.特征值
{
@ -397,6 +396,12 @@ int Uart::DealAskTask(uint16_t ushortAdd){
scheduleTask.duration = next_duration;
zlog_info(zct, "next_duration = %d ", next_duration);
TaskResp(scheduleTask);
}else if (taskID == 13) //6.RSSI
{
scheduleTask.cmd = SIGNAL_STRENGTH;
scheduleTask.shortAddr = ushortAdd;
scheduleTask.duration = next_duration;
TaskResp(scheduleTask);
}
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);
} else if (command == 218) { // DA
char localtimestamp[32] = {0};
GetTimeNet(localtimestamp, 1);
char whereCon[1024] = {0};
char updateSql[1024] = {0};
char tableName[100] = {0x00};
char insertSql[100] = {0x00};
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);
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());
sqlite_db_ctrl::instance().UpdateTableData(tableName, updateSql, whereCon);
sqlite_db_ctrl::instance().InsertData(tableName, insertSql);
// zigbeeRSSIType = 1 网关获取传感器信号强度
Json::Value jsBody, jsonVal;
Json::FastWriter showValue;
char looseValue[10] = {0x00};