rtdata use mq interface
This commit is contained in:
@@ -19,14 +19,14 @@ using namespace std;
|
|||||||
SafeMessageQueue message_queue; // ȫ<><C8AB><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
SafeMessageQueue message_queue; // ȫ<><C8AB><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
//ʱ<><CAB1>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//ʱ<><CAB1>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
time_t ConvertToTimestamp(const tagPqData_Float& data) {
|
time_t ConvertToTimestamp(const tagTime& time) {
|
||||||
struct tm t = {};
|
struct tm t = {};
|
||||||
t.tm_year = data.time.DeviceYear - 1900; // tm_year <20><> 1900 <20><>ʼ<EFBFBD><CABC>
|
t.tm_year = time.DeviceYear - 1900; // tm_year <20><> 1900 <20><>ʼ<EFBFBD><CABC>
|
||||||
t.tm_mon = data.time.DeviceMonth - 1; // tm_mon <20><> 0<><30>1<EFBFBD>£<EFBFBD><C2A3><EFBFBD>ʼ
|
t.tm_mon = time.DeviceMonth - 1; // tm_mon <20><> 0<><30>1<EFBFBD>£<EFBFBD><C2A3><EFBFBD>ʼ
|
||||||
t.tm_mday = data.time.DeviceDay;
|
t.tm_mday = time.DeviceDay;
|
||||||
t.tm_hour = data.time.DeviceHour;
|
t.tm_hour = time.DeviceHour;
|
||||||
t.tm_min = data.time.DeviceMinute;
|
t.tm_min = time.DeviceMinute;
|
||||||
t.tm_sec = data.time.DeviceSecond;
|
t.tm_sec = time.DeviceSecond;
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣩
|
// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣩
|
||||||
return mktime(&t);
|
return mktime(&t);
|
||||||
@@ -177,7 +177,7 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
|||||||
std::string cp95_base64Str = cp95_data.ConvertToBase64();
|
std::string cp95_base64Str = cp95_data.ConvertToBase64();
|
||||||
|
|
||||||
//lnk20250708ʹ<38>ýӿڷ<D3BF><DAB7><EFBFBD>
|
//lnk20250708ʹ<38>ýӿڷ<D3BF><DAB7><EFBFBD>
|
||||||
time_t data_time = ConvertToTimestamp(avg_data);
|
time_t data_time = ConvertToTimestamp(avg_data.time);
|
||||||
|
|
||||||
std::vector<DataArrayItem> arr;
|
std::vector<DataArrayItem> arr;
|
||||||
arr.push_back({1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1-<2D>ޣ<EFBFBD> 0-<2D><>Rt<52><74>,1-<2D><>Max<61><78>,2-<2D><>Min<69><6E>,3-<2D><>Avg<76><67>,4-<2D><>Cp95<39><35>
|
arr.push_back({1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1-<2D>ޣ<EFBFBD> 0-<2D><>Rt<52><74>,1-<2D><>Max<61><78>,2-<2D><>Min<69><6E>,3-<2D><>Avg<76><67>,4-<2D><>Cp95<39><35>
|
||||||
@@ -191,22 +191,22 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
|||||||
|
|
||||||
std::string js = generate_json(
|
std::string js = generate_json(
|
||||||
-1, //<2F><>Ӧ<EFBFBD><D3A6><EFBFBD>ı<EFBFBD><C4B1>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>IDӦ<44><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>롰-1<><31>
|
-1, //<2F><>Ӧ<EFBFBD><D3A6><EFBFBD>ı<EFBFBD><C4B1>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>IDӦ<44><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>롰-1<><31>
|
||||||
123456, //<2F>豸Ψһ<CEA8><D2BB>ʶLdid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>Ndid
|
123456, //<2F>豸Ψһ<CEA8><D2BB>ʶLdid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>Ndid,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
1, //<2F><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
3, //<2F><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD>1 I<><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>Ӧ 2 II<49><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>Ӧ 3 <20><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>/<2F><>Ӧ 4 <20>㲥<EFBFBD><E3B2A5><EFBFBD><EFBFBD>
|
||||||
0x1302, //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
0x1302, //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
max_data.name, //<2F><EFBFBD><DFBC><EFBFBD><EFBFBD>豸ID<49><44>0-<2D><EFBFBD><DFBC>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1
|
avg_data.name, //<2F><EFBFBD><DFBC><EFBFBD><EFBFBD>豸ID<49><44>0-<2D><EFBFBD><DFBC>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1
|
||||||
max_data.Data_Type, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
avg_data.Data_Type, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
2, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3>ޡ<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>ʵʱ<CAB5><CAB1>1<EFBFBD><31><EFBFBD><EFBFBD>ͳ<EFBFBD>ơ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
|
2, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3>ޡ<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>ʵʱ<CAB5><CAB1>1<EFBFBD><31><EFBFBD><EFBFBD>ͳ<EFBFBD>ơ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
|
||||||
1, //<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1
|
-1, //<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1
|
||||||
arr //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
arr //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
);
|
);
|
||||||
//std::cout << js << std::endl;
|
//std::cout << js << std::endl;
|
||||||
|
|
||||||
queue_data_t data;
|
queue_data_t data;
|
||||||
data.monitor_no = 1;
|
data.monitor_no = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
data.strTopic = TOPIC_STAT;
|
data.strTopic = TOPIC_STAT;//ͳ<><CDB3>topic
|
||||||
data.strText = js;
|
data.strText = js;
|
||||||
data.mp_id = "test";
|
data.mp_id = "test"; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
std::lock_guard<std::mutex> lock(queue_data_list_mutex);
|
std::lock_guard<std::mutex> lock(queue_data_list_mutex);
|
||||||
queue_data_list.push_back(data);
|
queue_data_list.push_back(data);
|
||||||
|
|
||||||
@@ -341,6 +341,37 @@ void process_received_message(string mac, string id,const char* data, size_t len
|
|||||||
|
|
||||||
std::string base64 = realdata.ConvertToBase64();
|
std::string base64 = realdata.ConvertToBase64();
|
||||||
std::cout << base64 << std::endl;
|
std::cout << base64 << std::endl;
|
||||||
|
|
||||||
|
//lnkʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>ʹ<EFBFBD>ýӿڷ<D3BF><DAB7><EFBFBD>20250711
|
||||||
|
time_t data_time = ConvertToTimestamp(realdata.time);
|
||||||
|
|
||||||
|
std::vector<DataArrayItem> arr;
|
||||||
|
arr.push_back({1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1-<2D>ޣ<EFBFBD> 0-<2D><>Rt<52><74>,1-<2D><>Max<61><78>,2-<2D><>Min<69><6E>,3-<2D><>Avg<76><67>,4-<2D><>Cp95<39><35>
|
||||||
|
data_time, //<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD>ʱ<EFBFBD>꣬<EFBFBD><EAA3AC><EFBFBD><EFBFBD>1970<37><30><EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC>Ч<EFBFBD><D0A7><EFBFBD>롰-1<><31>
|
||||||
|
-1, //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>꣬<EAA3AC><CEA2><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>롰-1<><31>
|
||||||
|
0, //<2F><><EFBFBD>ݱ<EFBFBD>ʶ<EFBFBD><CAB6>1-<2D><>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD>쳣
|
||||||
|
base64});
|
||||||
|
std::string js = generate_json(
|
||||||
|
-1, //<2F><>Ӧ<EFBFBD><D3A6><EFBFBD>ı<EFBFBD><C4B1>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>IDӦ<44><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>롰-1<><31>
|
||||||
|
123456, //<2F>豸Ψһ<CEA8><D2BB>ʶLdid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>Ndid,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
3, //<2F><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>1 I<><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>Ӧ 2 II<49><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>Ӧ 3 <20><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>/<2F><>Ӧ 4 <20>㲥<EFBFBD><E3B2A5><EFBFBD><EFBFBD>
|
||||||
|
0x1302, //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
1,//realdata.name, //<2F><EFBFBD><DFBC><EFBFBD><EFBFBD>豸ID<49><44>0-<2D><EFBFBD><DFBC>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>ʵʱ<CAB5><CAB1><EFBFBD>ݴӺλ<D3BA>ȡ
|
||||||
|
1,//realdata.Data_Type, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>ʵʱ<CAB5><CAB1><EFBFBD>ݴӺλ<D3BA>ȡ
|
||||||
|
1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3>ޡ<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>ʵʱ<CAB5><CAB1>1<EFBFBD><31><EFBFBD><EFBFBD>ͳ<EFBFBD>ơ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
|
||||||
|
-1, //<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1
|
||||||
|
arr //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
);
|
||||||
|
//std::cout << js << std::en
|
||||||
|
queue_data_t data;
|
||||||
|
data.monitor_no = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
data.strTopic = TOPIC_RTDATA; //ʵʱtopic
|
||||||
|
data.strText = js;
|
||||||
|
data.mp_id = "test"; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
std::lock_guard<std::mutex> lock(queue_data_list_mutex);
|
||||||
|
queue_data_list.push_back(data);
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD>״̬
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||||
ClientManager::instance().change_device_state(id, DeviceState::IDLE);
|
ClientManager::instance().change_device_state(id, DeviceState::IDLE);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user