新增信号质量上报
This commit is contained in:
parent
35f41e9f05
commit
4e115b45ca
@ -30,3 +30,5 @@ void stop_serial_at();
|
||||
|
||||
void start_http_server(int port);
|
||||
void stop_http_server();
|
||||
|
||||
RadioInfo get_radio_info();
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
|
||||
#include "record_manager.hpp"
|
||||
#include "rtmp_manager.hpp"
|
||||
#include "serial_AT.hpp"
|
||||
|
||||
std::shared_ptr<MQTTClient> mqtt_client;
|
||||
|
||||
@ -59,6 +60,20 @@ static void send_heartbeat()
|
||||
: (running_count == total ? 1 : 2); // 全部正常 or 部分异常
|
||||
hb["channels"] = channels;
|
||||
|
||||
// ===== 新增:读取 radio 信息(线程安全,返回拷贝)=====
|
||||
RadioInfo ri = get_radio_info();
|
||||
|
||||
nlohmann::json hb;
|
||||
hb["timestamp"] = ms;
|
||||
hb["status"] = (running_count == 0) ? 0 : (running_count == total ? 1 : 2);
|
||||
hb["channels"] = channels;
|
||||
|
||||
// ===== 新增:把 radio 塞进心跳 =====
|
||||
hb["radio"] = {
|
||||
{"state", ri.state}, {"rat", ri.rat}, {"pci", ri.pci}, {"band", ri.band}, {"arfcn", ri.arfcn},
|
||||
{"rsrp", ri.rsrp}, {"rsrq", ri.rsrq}, {"sinr", ri.sinr}, {"raw", ri.raw},
|
||||
};
|
||||
|
||||
// 发布心跳
|
||||
mqtt_client->publish(g_app_config.mqtt.topics.heartbeat_up, hb.dump(), 0);
|
||||
// LOG_INFO("[MQTT] Sent video heartbeat (" + std::to_string(running_count) + "/" + std::to_string(total) +
|
||||
|
||||
@ -20,6 +20,12 @@ std::mutex imei_mutex;
|
||||
RadioInfo g_radio_info;
|
||||
static std::mutex radio_mutex;
|
||||
|
||||
RadioInfo get_radio_info()
|
||||
{
|
||||
std::lock_guard<std::mutex> lk(radio_mutex);
|
||||
return g_radio_info;
|
||||
}
|
||||
|
||||
// ================== 运行控制 ==================
|
||||
static std::atomic<bool> serial_at_running{false};
|
||||
|
||||
@ -151,10 +157,11 @@ static void parse_qeng_servingcell(const std::string& line)
|
||||
g_radio_info.rat = rat;
|
||||
|
||||
g_radio_info.pci = pci;
|
||||
g_radio_info.band = band;
|
||||
g_radio_info.arfcn = arfcn;
|
||||
g_radio_info.rsrp = rsrp;
|
||||
g_radio_info.rsrq = rsrq;
|
||||
g_radio_info.sinr = sinr;
|
||||
g_radio_info.arfcn = arfcn;
|
||||
g_radio_info.raw = line;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user