新增复合管控器(pCCU) + 惯导数据解析 + 设备控制页增强 + 0824协议文档归档
- 新增 pCCU 复合管控器程序(src/pCCU):FC/PM 双链路(UDP)、协议编解码器 (FcProtocol/PmProtocol/Frame/Message/MessageRegistry)、快照与落库(DbStore)、 内置 WebServer;挂入 src/CMakeLists.txt 与板卡 mission(h100.moos) - 惯导/深度数据:新增 uDevice_insData 消息解析,接入 UpperCommManager, pPowerMangerHost 注册监视,UpmsgTest 覆盖 - pPowerMangerHost 设备控制页增强(web/index.html) - 部署/运维脚本改为 4 个 systemd 服务(moosdb/pPowerManger/pPowerMangerHost/pCCU): deploy/clean-data/fetch-data 同步适配 - 协议文档:归档 0824 控制主机与复合管控器通信协议 xlsx 及关联 docx,移除旧 md - 测试:新增 pccu 单元/集成测试与 disSysTest Python 配电仿真 - 清理:移除未使用的 CCU 状态调试打印 coutMsg;.gitignore 补充编译产物/临时文件忽略
This commit is contained in:
+22
-19
@@ -1,18 +1,18 @@
|
||||
#!/bin/bash
|
||||
#=======================================================================
|
||||
# FILE: scripts/deploy.sh
|
||||
# DESC: 部署 pPowerManger / pPowerMangerHost(aarch64 二进制 + mission)
|
||||
# 到目标板卡 (RK3588 / Ubuntu 22.04),并用三个独立 systemd 服务
|
||||
# (moosdb / pPowerManger / pPowerMangerHost)管理。
|
||||
# 只安装服务 + daemon-reload,默认不启动、不自启。
|
||||
# DESC: 部署 pPowerManger / pPowerMangerHost / pCCU(aarch64 二进制 +
|
||||
# mission)到目标板卡 (RK3588 / Ubuntu 22.04),并用四个独立
|
||||
# systemd 服务(moosdb / pPowerManger / pPowerMangerHost / pCCU)
|
||||
# 管理。只安装服务 + daemon-reload,默认不启动、不自启。
|
||||
#
|
||||
# 用法:
|
||||
# ./scripts/deploy.sh setup-ssh 一次性:生成 ed25519 key + ssh-copy-id
|
||||
# ./scripts/deploy.sh 默认:推送二进制 + mission + 装 3 个
|
||||
# ./scripts/deploy.sh 默认:推送二进制 + mission + 装 4 个
|
||||
# systemd 服务 + daemon-reload(不启动)
|
||||
# ./scripts/deploy.sh --start 部署后按依赖顺序启动服务
|
||||
# ./scripts/deploy.sh status 板卡 3 个服务状态
|
||||
# ./scripts/deploy.sh stop 停止 3 个服务
|
||||
# ./scripts/deploy.sh status 板卡 4 个服务状态
|
||||
# ./scripts/deploy.sh stop 停止 4 个服务
|
||||
# ./scripts/deploy.sh help 显示帮助
|
||||
#
|
||||
# 参数:
|
||||
@@ -24,9 +24,9 @@
|
||||
# 板卡布局:
|
||||
# /root/work/h100/bin/ aarch64 二进制
|
||||
# /root/work/h100/missions/ 板卡 mission h100.moos
|
||||
# /root/work/h100/data/ 数据库存储目录 (power_data.db)
|
||||
# /root/work/h100/data/ 数据库存储目录 (power_data.db 等)
|
||||
# /etc/systemd/system/ moosdb.service / pPowerManger.service /
|
||||
# pPowerMangerHost.service
|
||||
# pPowerMangerHost.service / pCCU.service
|
||||
#=======================================================================
|
||||
set -uo pipefail
|
||||
|
||||
@@ -38,7 +38,7 @@ USER="root"
|
||||
BOARD_DIR="/root/work/h100"
|
||||
DO_START=0
|
||||
|
||||
SERVICES=(moosdb pPowerManger pPowerMangerHost)
|
||||
SERVICES=(moosdb pPowerManger pPowerMangerHost pCCU)
|
||||
|
||||
info() { printf '\033[1;36m[deploy]\033[0m %s\n' "$*"; }
|
||||
ok() { printf '\033[1;32m[deploy]\033[0m %s\n' "$*"; }
|
||||
@@ -91,7 +91,7 @@ cmd_setup_ssh() {
|
||||
#-------------------------------------------------------------------
|
||||
check_local() {
|
||||
local missing=0
|
||||
for b in pPowerManger pPowerMangerHost; do
|
||||
for b in pPowerManger pPowerMangerHost pCCU; do
|
||||
if [ ! -f "${PROJECT_ROOT}/bin/arm64/${b}" ]; then
|
||||
err "缺少本地 aarch64 二进制: bin/arm64/${b}(先运行 ./scripts/build-arm64.sh)"; missing=1
|
||||
elif ! file "${PROJECT_ROOT}/bin/arm64/${b}" | grep -q "aarch64"; then
|
||||
@@ -178,16 +178,17 @@ cmd_deploy() {
|
||||
info "推送 aarch64 二进制 ..."
|
||||
${SCP} -q "${PROJECT_ROOT}/bin/arm64/pPowerManger" \
|
||||
"${PROJECT_ROOT}/bin/arm64/pPowerMangerHost" \
|
||||
"${PROJECT_ROOT}/bin/arm64/pCCU" \
|
||||
"${SSH_TARGET}:${BOARD_DIR}/bin/" || { err "推送二进制失败"; return 1; }
|
||||
|
||||
info "推送 mission h100.moos ..."
|
||||
${SCP} -q "${PROJECT_ROOT}/missions/h100.moos" \
|
||||
"${SSH_TARGET}:${BOARD_DIR}/missions/" || { err "推送 mission 失败"; return 1; }
|
||||
|
||||
${SSH} "${SSH_TARGET}" "chmod +x ${BOARD_DIR}/bin/pPowerManger ${BOARD_DIR}/bin/pPowerMangerHost"
|
||||
${SSH} "${SSH_TARGET}" "chmod +x ${BOARD_DIR}/bin/pPowerManger ${BOARD_DIR}/bin/pPowerMangerHost ${BOARD_DIR}/bin/pCCU"
|
||||
ok "二进制与 mission 已推送"
|
||||
|
||||
# 2. 生成并安装 3 个 systemd unit
|
||||
# 2. 生成并安装 4 个 systemd unit
|
||||
local unit
|
||||
for s in "${SERVICES[@]}"; do
|
||||
info "生成 ${s}.service ..."
|
||||
@@ -211,8 +212,10 @@ cmd_deploy() {
|
||||
else
|
||||
echo ""
|
||||
info "部署完成。手动启动(或加 --start):"
|
||||
echo " systemctl start moosdb pPowerManger pPowerMangerHost"
|
||||
echo " 浏览器: http://${HOST}:18080"
|
||||
echo " systemctl start moosdb pPowerManger pPowerMangerHost pCCU"
|
||||
echo " 浏览器: http://${HOST}:18080 (上位机模拟)"
|
||||
echo " http://${HOST}:8090 (pPowerManger)"
|
||||
echo " http://${HOST}:8080 (pCCU)"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -220,19 +223,19 @@ cmd_deploy() {
|
||||
# 命令: start / status / stop
|
||||
#-------------------------------------------------------------------
|
||||
cmd_start() {
|
||||
info "启动服务 (moosdb -> pPowerManger -> pPowerMangerHost) ..."
|
||||
info "启动服务 (moosdb -> pPowerManger / pPowerMangerHost / pCCU) ..."
|
||||
${SSH} "${SSH_TARGET}" "systemctl start moosdb && sleep 1 && \
|
||||
systemctl start pPowerManger pPowerMangerHost" || { err "启动失败"; return 1; }
|
||||
systemctl start pPowerManger pPowerMangerHost pCCU" || { err "启动失败"; return 1; }
|
||||
ok "服务已启动"
|
||||
cmd_status
|
||||
}
|
||||
|
||||
cmd_status() {
|
||||
${SSH} "${SSH_TARGET}" "systemctl --no-pager status moosdb pPowerManger pPowerMangerHost" || true
|
||||
${SSH} "${SSH_TARGET}" "systemctl --no-pager status ${SERVICES[*]}" || true
|
||||
}
|
||||
|
||||
cmd_stop() {
|
||||
${SSH} "${SSH_TARGET}" "systemctl stop pPowerMangerHost pPowerManger moosdb" && \
|
||||
${SSH} "${SSH_TARGET}" "systemctl stop pPowerMangerHost pPowerManger pCCU moosdb" && \
|
||||
ok "服务已停止" || err "停止服务失败"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user