前置新增了装置心跳传输流程,每30秒自动发送一次心跳报文

This commit is contained in:
2026-03-05 13:53:17 +08:00
parent d460816195
commit 852245f8ac
5 changed files with 53 additions and 2 deletions

View File

@@ -398,6 +398,19 @@ void process_received_message(string mac, string id,const char* data, size_t len
// 这里可以添加处理主动上报数据的逻辑
break;
case DeviceState::HEART_BEAT:
//接收到心跳报文应答
if (udata[8] == static_cast<unsigned char>(MsgResponseType::Response_HeartBeat)) {
std::cout << "heartbeat success" << mac << std::endl;
//心跳设置成功,调整为空闲,处理后续工作。
ClientManager::instance().change_device_state(id, DeviceState::IDLE);
}
else {
// 装置答非所问异常
// 接收心跳报文错误,调整为空闲状态,处理下一项工作。
ClientManager::instance().change_device_state(id, DeviceState::IDLE);
}
case DeviceState::READING_STATS:
// 读取统计数据状态
if (udata[8] == static_cast<unsigned char>(MsgResponseType::Response_Stat)) {