init rk1808 docker fireleave deploy scripts
This commit is contained in:
parent
d2e9facc40
commit
e391643b15
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
lib/
|
||||||
24
Dockerfile
Normal file
24
Dockerfile
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
FROM debian:bullseye-slim
|
||||||
|
|
||||||
|
# 【极简设置时区:不装 tzdata!】
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
||||||
|
echo "Asia/Shanghai" > /etc/timezone
|
||||||
|
|
||||||
|
# 复制 deb 包到容器中
|
||||||
|
COPY mp4-merge_0.1.11-1_arm64.deb /tmp/
|
||||||
|
|
||||||
|
# 安装 deb 包(使用 dpkg 安装,如果依赖有问题会自动修复)
|
||||||
|
RUN dpkg -i /tmp/mp4-merge_0.1.11-1_arm64.deb || (apt-get update && apt-get install -f -y)
|
||||||
|
|
||||||
|
# 复制模型文件(这是必须的)
|
||||||
|
COPY models/ /usr/local/models/
|
||||||
|
|
||||||
|
# 复制启动脚本
|
||||||
|
COPY start.sh /usr/local/start.sh
|
||||||
|
RUN chmod +x /usr/local/start.sh
|
||||||
|
|
||||||
|
WORKDIR /usr/local/models
|
||||||
|
RUN chmod +x yolov5
|
||||||
|
|
||||||
|
CMD ["/usr/local/start.sh"]
|
||||||
|
|
||||||
13
Dockerfile_bak
Normal file
13
Dockerfile_bak
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
FROM debian:bullseye-slim
|
||||||
|
|
||||||
|
# 复制模型文件(这是必须的)
|
||||||
|
COPY models/ /usr/local/models/
|
||||||
|
|
||||||
|
# 复制启动脚本
|
||||||
|
COPY start.sh /usr/local/start.sh
|
||||||
|
RUN chmod +x /usr/local/start.sh
|
||||||
|
|
||||||
|
WORKDIR /usr/local/models
|
||||||
|
RUN chmod +x yolov5
|
||||||
|
|
||||||
|
CMD ["/usr/local/start.sh"]
|
||||||
37
build.sh
Normal file
37
build.sh
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "=== RK1808 NPU Docker Build Script ==="
|
||||||
|
|
||||||
|
# 清理之前的构建
|
||||||
|
echo "=== Cleaning previous build ==="
|
||||||
|
rm -rf lib
|
||||||
|
mkdir -p lib/usr/lib
|
||||||
|
mkdir -p lib/usr/bin
|
||||||
|
|
||||||
|
# 只复制 Rockchip 特定的 NPU 库(系统没有的)
|
||||||
|
echo "=== Copying NPU-specific libraries ==="
|
||||||
|
cp /usr/lib/librknn_api.so lib/usr/lib/
|
||||||
|
cp /usr/lib/librknn_runtime.so lib/usr/lib/
|
||||||
|
cp /usr/lib/librockx.so lib/usr/lib/
|
||||||
|
cp /usr/lib/libVSC.so lib/usr/lib/
|
||||||
|
cp /usr/lib/libGAL.so lib/usr/lib/
|
||||||
|
cp /usr/lib/libArchModelSw.so lib/usr/lib/
|
||||||
|
cp /usr/lib/libNN*.so lib/usr/lib/ 2>/dev/null || true
|
||||||
|
cp /usr/lib/libOpenCL.so* lib/usr/lib/ 2>/dev/null || true
|
||||||
|
cp /usr/lib/libOpenVX.so* lib/usr/lib/ 2>/dev/null || true
|
||||||
|
cp /usr/lib/librockchip_mpp.so* lib/usr/lib/ 2>/dev/null || true
|
||||||
|
cp /usr/lib/librga.so* lib/usr/lib/ 2>/dev/null || true
|
||||||
|
|
||||||
|
# 复制 ffmpeg(如果宿主机有特殊版本)
|
||||||
|
cp /usr/bin/ffmpeg lib/usr/bin/
|
||||||
|
|
||||||
|
echo "=== Copied files ==="
|
||||||
|
ls -la lib/usr/lib/
|
||||||
|
|
||||||
|
# 构建 Docker 镜像
|
||||||
|
echo "=== Building Docker image ==="
|
||||||
|
docker build -t fire_leave .
|
||||||
|
|
||||||
|
echo "=== Build successful! ==="
|
||||||
28
demo
Normal file
28
demo
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
方案1:修改挂载点,不覆盖应用目录
|
||||||
|
bash
|
||||||
|
docker run -it --rm \
|
||||||
|
--device /dev/galcore \
|
||||||
|
--device /dev/dri/card0 \
|
||||||
|
--device /dev/vpu_service \
|
||||||
|
--device /dev/rga \
|
||||||
|
-v /lib/npu:/lib/npu \
|
||||||
|
-v /usr/bin/:/usr/bin:ro \
|
||||||
|
-v /usr/lib/:/usr/lib:ro \
|
||||||
|
-v /usr/share/:/usr/share:ro \
|
||||||
|
-v /lib/:/lib:ro \
|
||||||
|
-v /etc/ld.so.cache:/etc/ld.so.cache:ro \
|
||||||
|
--privileged \
|
||||||
|
rk1808-infer
|
||||||
|
方案2:使用数据卷或绑定挂载应用目录
|
||||||
|
bash
|
||||||
|
docker run -it --rm \
|
||||||
|
--device /dev/galcore \
|
||||||
|
--device /dev/dri/card0 \
|
||||||
|
--device /dev/vpu_service \
|
||||||
|
--device /dev/rga \
|
||||||
|
-v /lib/npu:/lib/npu \
|
||||||
|
-v /usr/:/host_usr:ro \
|
||||||
|
-v /lib/:/host_lib:ro \
|
||||||
|
-v /usr/local/rk1808-docker/models/:/usr/local/models:ro \
|
||||||
|
--privileged \
|
||||||
|
rk1808-infer
|
||||||
157
deploy_fire_leave.sh
Normal file
157
deploy_fire_leave.sh
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
PROJECT_DIR="/usr/local/rk1808-docker"
|
||||||
|
IMAGE_NAME="fire_leave:latest"
|
||||||
|
|
||||||
|
echo "========== fire_leave 项目部署 =========="
|
||||||
|
|
||||||
|
if [ "$(id -u)" != "0" ]; then
|
||||||
|
echo "请使用 root 用户执行"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$PROJECT_DIR"
|
||||||
|
|
||||||
|
PROJECT_OK=1
|
||||||
|
LIB_OK=1
|
||||||
|
DEVICE_OK=1
|
||||||
|
BUILD_OK=0
|
||||||
|
RUN_SCRIPT_OK=0
|
||||||
|
|
||||||
|
echo "[1/6] 检查项目文件"
|
||||||
|
|
||||||
|
for file in Dockerfile start.sh mp4-merge_0.1.11-1_arm64.deb models/yolov5 rundocker.sh; do
|
||||||
|
if [ -e "$file" ]; then
|
||||||
|
echo "存在: $file"
|
||||||
|
else
|
||||||
|
echo "缺失: $file"
|
||||||
|
PROJECT_OK=0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$PROJECT_OK" -ne 1 ]; then
|
||||||
|
echo "项目文件不完整,终止部署"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
chmod +x start.sh
|
||||||
|
chmod +x models/yolov5
|
||||||
|
chmod +x rundocker.sh
|
||||||
|
RUN_SCRIPT_OK=1
|
||||||
|
|
||||||
|
echo "[2/6] 检查 yolov5 动态库依赖"
|
||||||
|
|
||||||
|
if ldd models/yolov5 >/tmp/yolov5_ldd.txt 2>&1; then
|
||||||
|
cat /tmp/yolov5_ldd.txt | grep -i "avformat\|avcodec\|avutil\|swscale\|swresample" || true
|
||||||
|
|
||||||
|
if grep -q "not found" /tmp/yolov5_ldd.txt; then
|
||||||
|
echo "存在缺失动态库:"
|
||||||
|
grep "not found" /tmp/yolov5_ldd.txt
|
||||||
|
LIB_OK=0
|
||||||
|
else
|
||||||
|
echo "yolov5 动态库检查通过"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "ldd 检查失败"
|
||||||
|
LIB_OK=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[3/6] 检查设备节点"
|
||||||
|
|
||||||
|
for dev in /dev/galcore /dev/rga /dev/vpu_service /dev/dri/card0; do
|
||||||
|
if [ -e "$dev" ]; then
|
||||||
|
echo "存在: $dev"
|
||||||
|
else
|
||||||
|
echo "缺失: $dev"
|
||||||
|
DEVICE_OK=0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -d /lib/npu ]; then
|
||||||
|
echo "存在: /lib/npu"
|
||||||
|
else
|
||||||
|
echo "缺失: /lib/npu"
|
||||||
|
DEVICE_OK=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$LIB_OK" -ne 1 ]; then
|
||||||
|
echo "动态库异常,终止部署"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$DEVICE_OK" -ne 1 ]; then
|
||||||
|
echo "设备节点异常,终止部署"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[4/6] 构建 Docker 镜像"
|
||||||
|
|
||||||
|
if docker build -t "$IMAGE_NAME" .; then
|
||||||
|
BUILD_OK=1
|
||||||
|
echo "Docker 镜像构建成功: $IMAGE_NAME"
|
||||||
|
else
|
||||||
|
BUILD_OK=0
|
||||||
|
echo "Docker 镜像构建失败"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[5/6] 检查 rundocker.sh"
|
||||||
|
|
||||||
|
if [ -f rundocker.sh ]; then
|
||||||
|
chmod +x rundocker.sh
|
||||||
|
RUN_SCRIPT_OK=1
|
||||||
|
echo "rundocker.sh 存在,已设置可执行权限"
|
||||||
|
else
|
||||||
|
RUN_SCRIPT_OK=0
|
||||||
|
echo "rundocker.sh 不存在"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[6/6] 检查镜像"
|
||||||
|
|
||||||
|
docker images | grep fire_leave || true
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "========== 部署结果汇总 =========="
|
||||||
|
|
||||||
|
if [ "$PROJECT_OK" -eq 1 ]; then
|
||||||
|
echo "项目文件: 正常"
|
||||||
|
else
|
||||||
|
echo "项目文件: 异常"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$LIB_OK" -eq 1 ]; then
|
||||||
|
echo "yolov5 动态库: 正常"
|
||||||
|
else
|
||||||
|
echo "yolov5 动态库: 异常"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$DEVICE_OK" -eq 1 ]; then
|
||||||
|
echo "设备节点/NPU目录: 正常"
|
||||||
|
else
|
||||||
|
echo "设备节点/NPU目录: 异常"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$BUILD_OK" -eq 1 ]; then
|
||||||
|
echo "Docker 镜像构建: 成功"
|
||||||
|
else
|
||||||
|
echo "Docker 镜像构建: 失败"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if docker image inspect "$IMAGE_NAME" >/dev/null 2>&1; then
|
||||||
|
echo "Docker 镜像存在: $IMAGE_NAME"
|
||||||
|
else
|
||||||
|
echo "Docker 镜像不存在: $IMAGE_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$RUN_SCRIPT_OK" -eq 1 ]; then
|
||||||
|
echo "启动脚本: 正常 rundocker.sh"
|
||||||
|
else
|
||||||
|
echo "启动脚本: 缺失 rundocker.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "下一步操作:"
|
||||||
|
echo " ./rundocker.sh"
|
||||||
|
|
||||||
|
echo "========== fire_leave 项目部署完成 =========="
|
||||||
235
init_host.sh
Normal file
235
init_host.sh
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "========== RK1808 Docker 宿主机初始化 =========="
|
||||||
|
|
||||||
|
if [ "$(id -u)" != "0" ]; then
|
||||||
|
echo "请使用 root 用户执行"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DOCKER_MIRROR="https://docker.1panel.live"
|
||||||
|
CODENAME=$(. /etc/os-release && echo "$VERSION_CODENAME")
|
||||||
|
ARCH=$(dpkg --print-architecture)
|
||||||
|
KERNEL=$(uname -r)
|
||||||
|
|
||||||
|
echo "[1/8] 系统信息"
|
||||||
|
uname -a
|
||||||
|
cat /etc/os-release || true
|
||||||
|
echo "ARCH=$ARCH"
|
||||||
|
echo "CODENAME=$CODENAME"
|
||||||
|
echo "KERNEL=$KERNEL"
|
||||||
|
|
||||||
|
echo "[2/8] 安装基础依赖"
|
||||||
|
apt update
|
||||||
|
apt install -y ca-certificates curl gnupg lsb-release apt-transport-https kmod
|
||||||
|
|
||||||
|
echo "[3/8] 配置 Docker APT 源"
|
||||||
|
install -m 0755 -d /etc/apt/keyrings
|
||||||
|
|
||||||
|
try_docker_repo() {
|
||||||
|
local name="$1"
|
||||||
|
local base_url="$2"
|
||||||
|
|
||||||
|
echo "尝试 Docker 源: $name -> $base_url"
|
||||||
|
|
||||||
|
rm -f /etc/apt/keyrings/docker.asc
|
||||||
|
rm -f /etc/apt/sources.list.d/docker.sources
|
||||||
|
|
||||||
|
if ! curl -L --connect-timeout 15 --retry 3 --retry-delay 2 \
|
||||||
|
"$base_url/gpg" -o /etc/apt/keyrings/docker.asc; then
|
||||||
|
echo "$name GPG 下载失败"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
chmod a+r /etc/apt/keyrings/docker.asc
|
||||||
|
|
||||||
|
cat > /etc/apt/sources.list.d/docker.sources <<EOF
|
||||||
|
Types: deb
|
||||||
|
URIs: $base_url
|
||||||
|
Suites: $CODENAME
|
||||||
|
Components: stable
|
||||||
|
Architectures: $ARCH
|
||||||
|
Signed-By: /etc/apt/keyrings/docker.asc
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if apt update; then
|
||||||
|
echo "$name Docker 源配置成功"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo "$name apt update 失败"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if try_docker_repo "清华源" "https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian"; then
|
||||||
|
echo "使用清华 Docker 源"
|
||||||
|
elif try_docker_repo "阿里源" "https://mirrors.aliyun.com/docker-ce/linux/debian"; then
|
||||||
|
echo "使用阿里 Docker 源"
|
||||||
|
elif try_docker_repo "Docker 官方源" "https://download.docker.com/linux/debian"; then
|
||||||
|
echo "使用 Docker 官方源"
|
||||||
|
else
|
||||||
|
echo "所有 Docker 源配置失败,请检查网络"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[4/8] 安装 Docker"
|
||||||
|
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||||
|
|
||||||
|
echo "[5/8] 配置 Docker 镜像加速和 overlay2 存储驱动"
|
||||||
|
mkdir -p /etc/docker
|
||||||
|
|
||||||
|
cat > /etc/docker/daemon.json <<EOF
|
||||||
|
{
|
||||||
|
"registry-mirrors": [
|
||||||
|
"$DOCKER_MIRROR"
|
||||||
|
],
|
||||||
|
"log-driver": "none",
|
||||||
|
"features": {
|
||||||
|
"containerd-snapshotter": false
|
||||||
|
},
|
||||||
|
"storage-driver": "overlay2"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable docker
|
||||||
|
systemctl restart docker
|
||||||
|
|
||||||
|
echo "当前 Docker 存储驱动:"
|
||||||
|
docker info | grep -E "Storage Driver|driver-type" -A3 || true
|
||||||
|
|
||||||
|
echo "[6/8] 检查 FFmpeg 动态库"
|
||||||
|
|
||||||
|
REQUIRED_LIBS="
|
||||||
|
/lib/libavformat.so.58
|
||||||
|
/lib/libavcodec.so.58
|
||||||
|
/lib/libavutil.so.56
|
||||||
|
/lib/libswresample.so.3
|
||||||
|
/lib/libswscale.so.5
|
||||||
|
"
|
||||||
|
|
||||||
|
for lib in $REQUIRED_LIBS; do
|
||||||
|
if [ -e "$lib" ]; then
|
||||||
|
echo "存在: $lib"
|
||||||
|
else
|
||||||
|
echo "缺失: $lib"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "查找 libswscale:"
|
||||||
|
find /lib /usr/lib -name "libswscale.so*" || true
|
||||||
|
|
||||||
|
if [ ! -e /lib/libswscale.so.5 ] && [ ! -e /usr/lib/libswscale.so.5 ]; then
|
||||||
|
if [ -e /usr/lib/libswscale.so.5.7.100 ]; then
|
||||||
|
echo "修复 libswscale.so.5 -> /usr/lib/libswscale.so.5.7.100"
|
||||||
|
ln -sf /usr/lib/libswscale.so.5.7.100 /usr/lib/libswscale.so.5
|
||||||
|
ln -sf /usr/lib/libswscale.so.5.7.100 /lib/libswscale.so.5 || true
|
||||||
|
ldconfig || true
|
||||||
|
elif [ -e /lib/libswscale.so.5.7.100 ]; then
|
||||||
|
echo "修复 libswscale.so.5 -> /lib/libswscale.so.5.7.100"
|
||||||
|
ln -sf /lib/libswscale.so.5.7.100 /lib/libswscale.so.5
|
||||||
|
ldconfig || true
|
||||||
|
else
|
||||||
|
echo "警告: 未找到 libswscale.so.5.7.100,后续可能需要手动补 FFmpeg 库"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[7/8] 检查并加载 RK1808 设备节点"
|
||||||
|
|
||||||
|
if [ ! -e /dev/galcore ]; then
|
||||||
|
echo "/dev/galcore 不存在,尝试加载 galcore.ko"
|
||||||
|
|
||||||
|
if [ -e "/lib/modules/$KERNEL/galcore.ko" ]; then
|
||||||
|
insmod "/lib/modules/$KERNEL/galcore.ko" || true
|
||||||
|
elif [ -e "/usr/lib/modules/$KERNEL/galcore.ko" ]; then
|
||||||
|
insmod "/usr/lib/modules/$KERNEL/galcore.ko" || true
|
||||||
|
else
|
||||||
|
echo "未找到 galcore.ko"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if lsmod | grep -q "galcore"; then
|
||||||
|
echo "galcore 模块已加载"
|
||||||
|
echo "galcore" > /etc/modules-load.d/galcore.conf
|
||||||
|
depmod || true
|
||||||
|
|
||||||
|
if [ -e /dev/galcore ]; then
|
||||||
|
echo "存在: /dev/galcore"
|
||||||
|
else
|
||||||
|
echo "警告: galcore 模块已加载,但 /dev/galcore 不存在"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "警告: galcore 模块未加载"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for dev in /dev/rga /dev/vpu_service /dev/dri/card0; do
|
||||||
|
if [ -e "$dev" ]; then
|
||||||
|
echo "存在: $dev"
|
||||||
|
else
|
||||||
|
echo "缺失: $dev"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -d /lib/npu ]; then
|
||||||
|
echo "存在: /lib/npu"
|
||||||
|
else
|
||||||
|
echo "缺失: /lib/npu"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[8/8] 输出 Docker 信息"
|
||||||
|
docker version
|
||||||
|
|
||||||
|
echo
|
||||||
|
docker info | grep -E "Server Version|Storage Driver|Cgroup|Kernel Version|Operating System|Architecture|Registry Mirrors" -A5 || true
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "========== 初始化结果汇总 =========="
|
||||||
|
|
||||||
|
if command -v docker >/dev/null 2>&1; then
|
||||||
|
echo "Docker: 已安装"
|
||||||
|
else
|
||||||
|
echo "Docker: 未安装"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if docker info >/dev/null 2>&1; then
|
||||||
|
echo "Docker 服务: 正常"
|
||||||
|
else
|
||||||
|
echo "Docker 服务: 异常"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if docker info 2>/dev/null | grep -q "$DOCKER_MIRROR"; then
|
||||||
|
echo "Docker 镜像加速: 已配置 $DOCKER_MIRROR"
|
||||||
|
else
|
||||||
|
echo "Docker 镜像加速: 未确认"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if docker info 2>/dev/null | grep -q "Storage Driver: overlay2"; then
|
||||||
|
echo "Docker 存储驱动: 正常 overlay2"
|
||||||
|
else
|
||||||
|
echo "Docker 存储驱动: 异常,未使用 overlay2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for lib in $REQUIRED_LIBS; do
|
||||||
|
if [ -e "$lib" ]; then
|
||||||
|
echo "FFmpeg库: 正常 $lib"
|
||||||
|
else
|
||||||
|
echo "FFmpeg库: 缺失 $lib"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for dev in /dev/galcore /dev/rga /dev/vpu_service /dev/dri/card0; do
|
||||||
|
if [ -e "$dev" ]; then
|
||||||
|
echo "设备节点: 正常 $dev"
|
||||||
|
else
|
||||||
|
echo "设备节点: 缺失 $dev"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -d /lib/npu ]; then
|
||||||
|
echo "NPU目录: 正常 /lib/npu"
|
||||||
|
else
|
||||||
|
echo "NPU目录: 缺失 /lib/npu"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "========== 初始化完成 =========="
|
||||||
2
models/20260608.txt
Normal file
2
models/20260608.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
[32m(/home/alex/work/cpp/rk1808-yolov5-inference/main.cpp:329 | main)[2026-06-08 18:14:57] DEBU > do init log[0m
|
||||||
BIN
models/fire_check.rknn
Normal file
BIN
models/fire_check.rknn
Normal file
Binary file not shown.
1
models/fire_check.txt
Normal file
1
models/fire_check.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
fire
|
||||||
1
models/fire_check_code.txt
Normal file
1
models/fire_check_code.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
BIN
models/fire_check_test.h264
Normal file
BIN
models/fire_check_test.h264
Normal file
Binary file not shown.
BIN
models/fireleave_tool
Executable file
BIN
models/fireleave_tool
Executable file
Binary file not shown.
BIN
models/fireleave_tool_old
Executable file
BIN
models/fireleave_tool_old
Executable file
Binary file not shown.
BIN
models/main_aarch64
Executable file
BIN
models/main_aarch64
Executable file
Binary file not shown.
BIN
models/model.rknn
Normal file
BIN
models/model.rknn
Normal file
Binary file not shown.
BIN
models/model.rknn.bak
Normal file
BIN
models/model.rknn.bak
Normal file
Binary file not shown.
80
models/model.txt
Normal file
80
models/model.txt
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
|
person
|
||||||
80
models/model_code.txt
Normal file
80
models/model_code.txt
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
1
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
BIN
models/release/HCNetSDKCom/libAudioIntercom.so
Normal file
BIN
models/release/HCNetSDKCom/libAudioIntercom.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libHCAlarm.so
Normal file
BIN
models/release/HCNetSDKCom/libHCAlarm.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libHCCoreDevCfg.so
Normal file
BIN
models/release/HCNetSDKCom/libHCCoreDevCfg.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libHCDisplay.so
Normal file
BIN
models/release/HCNetSDKCom/libHCDisplay.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libHCGeneralCfgMgr.so
Normal file
BIN
models/release/HCNetSDKCom/libHCGeneralCfgMgr.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libHCIndustry.so
Normal file
BIN
models/release/HCNetSDKCom/libHCIndustry.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libHCPlayBack.so
Normal file
BIN
models/release/HCNetSDKCom/libHCPlayBack.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libHCPreview.so
Normal file
BIN
models/release/HCNetSDKCom/libHCPreview.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libHCVoiceTalk.so
Normal file
BIN
models/release/HCNetSDKCom/libHCVoiceTalk.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libStreamTransClient.so
Normal file
BIN
models/release/HCNetSDKCom/libStreamTransClient.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libSystemTransform.so
Normal file
BIN
models/release/HCNetSDKCom/libSystemTransform.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libanalyzedata.so
Normal file
BIN
models/release/HCNetSDKCom/libanalyzedata.so
Normal file
Binary file not shown.
BIN
models/release/HCNetSDKCom/libiconv.so.2
Normal file
BIN
models/release/HCNetSDKCom/libiconv.so.2
Normal file
Binary file not shown.
12
models/release/HCNetSDK_Log_Switch.xml
Normal file
12
models/release/HCNetSDK_Log_Switch.xml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="GB2312"?>
|
||||||
|
<SdkLocal>
|
||||||
|
<SdkLog>
|
||||||
|
<logLevel>3</logLevel><!--req, 1-ERROR, 2-DEBUG, 3-INFO-->
|
||||||
|
<logDirectory>./SDKLOG/</logDirectory><!--the end of the string must be '/'-->
|
||||||
|
<autoDelete>true</autoDelete><!--true: There are less than 10 files in the directory, it will be auto deleted by sdk when the files are more than 10; false: No upper limit to the number of log files-->
|
||||||
|
</SdkLog>
|
||||||
|
<HeartbeatCfg>
|
||||||
|
<Interval>120</Interval> <!-- 心跳时间间隔,单位秒,等于0,使用默认值120s,取值范围为[30, 120] 小于30s,间隔为30s,大于120s,间隔为120s-->
|
||||||
|
<Count>1</Count> <!-- 触发异常回调需要心跳交互异常的次数,等于0,使用默认值1次-->
|
||||||
|
</HeartbeatCfg>
|
||||||
|
</SdkLocal>
|
||||||
5
models/release/SDKLOG/SdkLog_1_W.log
Normal file
5
models/release/SDKLOG/SdkLog_1_W.log
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[2026-06-01 17:50:04.255][INF] [0]CLongConfigSession::Stop in
|
||||||
|
[2026-06-01 17:50:04.327][INF] COM_Logout[0][0]
|
||||||
|
[2026-06-01 17:50:04.329][DBG] CUserMgr::UnRegisterHeartProxy[0]
|
||||||
|
[2026-06-01 17:50:04.332][INF] Private connect 192.168.80.64:8000 sock=7 this=0xb4421794 cmd=0x10100 port=43068
|
||||||
|
[2026-06-01 17:50:04.380][INF] CTransUnitMgr::UnloadTransUnitLib
|
||||||
BIN
models/release/libAudioRender.so
Normal file
BIN
models/release/libAudioRender.so
Normal file
Binary file not shown.
BIN
models/release/libHCCore.so
Normal file
BIN
models/release/libHCCore.so
Normal file
Binary file not shown.
BIN
models/release/libPlayCtrl.so
Normal file
BIN
models/release/libPlayCtrl.so
Normal file
Binary file not shown.
BIN
models/release/libSuperRender.so
Normal file
BIN
models/release/libSuperRender.so
Normal file
Binary file not shown.
BIN
models/release/libcrypto.so
Normal file
BIN
models/release/libcrypto.so
Normal file
Binary file not shown.
BIN
models/release/libcrypto.so.1.1
Normal file
BIN
models/release/libcrypto.so.1.1
Normal file
Binary file not shown.
BIN
models/release/libhcnetsdk.so
Normal file
BIN
models/release/libhcnetsdk.so
Normal file
Binary file not shown.
BIN
models/release/libhpr.so
Normal file
BIN
models/release/libhpr.so
Normal file
Binary file not shown.
BIN
models/release/libssl.so
Normal file
BIN
models/release/libssl.so
Normal file
Binary file not shown.
BIN
models/release/libssl.so.1.1
Normal file
BIN
models/release/libssl.so.1.1
Normal file
Binary file not shown.
BIN
models/release/libz.so
Normal file
BIN
models/release/libz.so
Normal file
Binary file not shown.
10
models/release/run_thermometry.sh
Executable file
10
models/release/run_thermometry.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 切换到脚本所在目录
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
# 设置库文件路径为当前目录
|
||||||
|
export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
|
||||||
|
|
||||||
|
# 执行程序并传递所有参数
|
||||||
|
./thermometry.exe "$@"
|
||||||
44
models/release/run_thermometry.sh-bak
Executable file
44
models/release/run_thermometry.sh-bak
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# run_thermometry.sh
|
||||||
|
|
||||||
|
# 记录启动日志
|
||||||
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Starting thermometry with args: $@" >> /data/logs/thermometry_start.log
|
||||||
|
|
||||||
|
# 解析参数
|
||||||
|
RTSP_URL=""
|
||||||
|
TCP_PORT=""
|
||||||
|
CHANNEL="0"
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
-s)
|
||||||
|
RTSP_URL="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-t)
|
||||||
|
TCP_PORT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-c)
|
||||||
|
CHANNEL="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] RTSP: $RTSP_URL, TCP Port: $TCP_PORT, Channel: $CHANNEL" >> /data/logs/thermometry_start.log
|
||||||
|
|
||||||
|
# 检查参数
|
||||||
|
if [ -z "$RTSP_URL" ] || [ -z "$TCP_PORT" ]; then
|
||||||
|
echo "Usage: $0 -s <rtsp_url> -t <tcp_port> [-c <channel>]"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 启动温度程序
|
||||||
|
cd /usr/local/rk1808-docker/models
|
||||||
|
./thermometry -s "$RTSP_URL" -t "$TCP_PORT" -c "$CHANNEL"
|
||||||
|
|
||||||
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Thermometry exited with code: $?" >> /data/logs/thermometry_start.log
|
||||||
BIN
models/release/thermometry.exe
Executable file
BIN
models/release/thermometry.exe
Executable file
Binary file not shown.
BIN
models/test_y1.h264
Normal file
BIN
models/test_y1.h264
Normal file
Binary file not shown.
BIN
models/yolov5
Executable file
BIN
models/yolov5
Executable file
Binary file not shown.
BIN
mp4-merge_0.1.11-1_arm64.deb
Normal file
BIN
mp4-merge_0.1.11-1_arm64.deb
Normal file
Binary file not shown.
0
rk1808-infer
Normal file
0
rk1808-infer
Normal file
11
rundocker.sh
Executable file
11
rundocker.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
docker run -it --rm \
|
||||||
|
--device /dev/galcore \
|
||||||
|
--device /dev/dri/card0 \
|
||||||
|
--device /dev/vpu_service \
|
||||||
|
--device /dev/rga \
|
||||||
|
-v /lib/npu:/lib/npu \
|
||||||
|
-v /lib:/lib:ro \
|
||||||
|
-v /usr/lib:/usr/lib:ro \
|
||||||
|
--privileged \
|
||||||
|
fire_leave \
|
||||||
|
/bin/bash
|
||||||
Loading…
x
Reference in New Issue
Block a user