From 45f89eb57e3ed78ebed65d27306405b361b790cb Mon Sep 17 00:00:00 2001 From: GuanYuankai Date: Tue, 14 Oct 2025 16:21:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E7=90=86=E5=86=97=E4=BD=99=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/setting.json | 0 docker-compose.yml | 6 +- docker-compose.yml.bak | 41 ---------- docker/dev/Dockerfile.bak | 53 ------------- docker/dev/Dockerfile.bak2 | 79 ------------------- .../modbus_temperature_humidity.cc | 0 .../modbus_temperature_humidity.h | 0 7 files changed, 3 insertions(+), 176 deletions(-) delete mode 100644 .vscode/setting.json delete mode 100644 docker-compose.yml.bak delete mode 100644 docker/dev/Dockerfile.bak delete mode 100644 docker/dev/Dockerfile.bak2 rename src/{modbus => archive}/modbus_temperature_humidity.cc (100%) rename src/{modbus => archive}/modbus_temperature_humidity.h (100%) diff --git a/.vscode/setting.json b/.vscode/setting.json deleted file mode 100644 index e69de29..0000000 diff --git a/docker-compose.yml b/docker-compose.yml index e2bbe4e..208d611 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,6 @@ # docker-compose.yml services: edge-proxy-dev: - # 给他一个固定的名字 build: context: . dockerfile: docker/Dockerfile @@ -13,14 +12,15 @@ services: - /dev/ttyS9:/dev/ttyS9 group_add: - - "20" # 例如: "20" + - "20" volumes: - .:/app - # 端口直接映射,无需错开 + ports: - "8888:8888" - "9999:9999" + - "502:502" command: sleep infinity mqtt-broker: diff --git a/docker-compose.yml.bak b/docker-compose.yml.bak deleted file mode 100644 index 1c0805c..0000000 --- a/docker-compose.yml.bak +++ /dev/null @@ -1,41 +0,0 @@ -# ================================================================= -# Edge Proxy - Docker Compose for Development (V2) -# ================================================================= - -services: - edge-proxy-dev: - container_name: edge-proxy-dev - # 添加接口 - devices: - - /dev/ttyS9:/dev/ttyS9 - - /dev/ttyS7:/dev/ttyS7 - build: - context: . - dockerfile: docker/dev/Dockerfile - platform: linux/arm64 - - volumes: - - .:/app - - ports: - - "9999:9999" - - "8888:8888" - - command: tail -f /dev/null - - mqtt-broker: - # 使用官方的 Mosquitto 镜像,建议指定一个明确的版本 - image: eclipse-mosquitto:2.0 - container_name: mqtt-broker - # 设置容器在 Docker 守护进程启动或容器退出时自动重启 - restart: unless-stopped - ports: - # 将主机的 1883 端口映射到容器的 1883 端口 (标准 MQTT) - # 如果您需要 WebSocket 支持,可以再加一行 "- 9001:9001" - - "1883:1883" - volumes: - # 将我们创建的配置文件、数据和日志目录挂载到容器内部的对应路径 - # 这三行是实现配置、数据持久化的关键 - - ./mosquitto/config:/mosquitto/config - - ./mosquitto/data:/mosquitto/data - - ./mosquitto/log:/mosquitto/log \ No newline at end of file diff --git a/docker/dev/Dockerfile.bak b/docker/dev/Dockerfile.bak deleted file mode 100644 index a65bb0f..0000000 --- a/docker/dev/Dockerfile.bak +++ /dev/null @@ -1,53 +0,0 @@ -# ================================================================= -# Edge Proxy - Development Environment Dockerfile (V2) -# ================================================================= - - - - -FROM arm64v8/ubuntu:22.04 - -WORKDIR /app - -ENV DEBIAN_FRONTEND=noninteractive - -COPY . /tmp/build-context - - -RUN apt-get update && \ - apt-get install -y \ - build-essential \ - cmake \ - git \ - gdb \ - vim \ - libssl-dev \ - # --- 新增依赖 --- - # spdlog 开发库 - libspdlog-dev \ - # Boost C++ 开发库 (这是一个元数据包,会安装所有Boost库) - # 提醒: libboost-all-dev 体积较大,对于生产环境镜像, - # 后续可以优化为只安装需要的特定模块 (例如 libboost-system-dev)。 - # 但对于开发环境,它提供了最大的便利性。 - libboost-all-dev && \ - # Paho MQTT C++ 客户端库及其依赖 - # --- 步骤 2: 编译并安装 Paho C 库 --- - echo "--- Building and installing Paho MQTT C Library ---" && \ - cd /tmp/build-context/external/paho.mqtt.c && \ - cmake -Bbuild -H. \ - -DPAHO_WITH_SSL=ON \ - -DPAHO_BUILD_SAMPLES=OFF \ - -DPAHO_BUILD_DOCUMENTATION=OFF && \ - cmake --build build --target install && \ - \ - # libpaho-mqttpp-dev \ - echo "--- Building and installing Paho MQTT C++ Library ---" && \ - cd /tmp/build-context/external/paho.mqtt.cpp && \ - # 编译并安装 - cmake -Bbuild -H. -DPAHO_WITH_SSL=ON -DPAHO_BUILD_SAMPLES=OFF -DPAHO_BUILD_DOCUMENTATION=OFF && \ - cmake --build build --target install && \ - # 清理工作 - ldconfig && \ - rm -rf /tmp/build-context && \ - # 清理apt缓存,减小镜像体积 - rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/docker/dev/Dockerfile.bak2 b/docker/dev/Dockerfile.bak2 deleted file mode 100644 index 8643fa4..0000000 --- a/docker/dev/Dockerfile.bak2 +++ /dev/null @@ -1,79 +0,0 @@ -# ================================================================= -# Edge Proxy - Development Environment Dockerfile (V3 - Corrected) -# ================================================================= - -FROM arm64v8/ubuntu:22.04 - -# 1. 基础环境设置 -# ================================= -WORKDIR /app -ENV DEBIAN_FRONTEND=noninteractive - -# 2. 用户和组创建 -# 说明: 在这里创建所有需要的用户和组。 -# 权限将在主机端设置,而不是在Dockerfile中,因为工作目录/app将被主机目录挂载覆盖。 -# ================================= -# ================================= -RUN groupadd -r developers && \ - # 创建 'dev' 用户并添加到 'developers' 和 'sudo' 组 - useradd -ms /bin/bash -g developers -G sudo dev && \ - # 添加用户到 'dialout' 组 (GID 20) 以便访问串口设备 - # `|| true` 用于防止在 GID 已存在时出错 - groupadd -g 20 dialout || true && \ - usermod -a -G dialout dev && \ - # 为 'dev' 用户设置无密码 sudo - echo "dev ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/dev-nopasswd && \ - # 清理 apt 缓存 - rm -rf /var/lib/apt/lists/* - -RUN echo "umask 0002" > /etc/profile.d/99-shared-umask.sh && \ - chmod +x /etc/profile.d/99-shared-umask.sh - -# 3. 复制构建上下文并安装依赖 -# 说明: 将整个项目复制到临时目录,用于编译 paho 等库。 -# ================================= -COPY . /tmp/build-context - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - build-essential \ - cmake \ - git \ - gdb \ - vim \ - libssl-dev \ - # spdlog 开发库 - libspdlog-dev \ - # Boost C++ 开发库 (元数据包) - libboost-all-dev && \ - \ - # --- 从源码编译并安装 Paho MQTT C 库 --- - echo "--- Building and installing Paho MQTT C Library ---" && \ - cd /tmp/build-context/external/paho.mqtt.c && \ - cmake -Bbuild -H. \ - -DPAHO_WITH_SSL=ON \ - -DPAHO_BUILD_SAMPLES=OFF \ - -DPAHO_BUILD_DOCUMENTATION=OFF && \ - cmake --build build --target install && \ - \ - # --- 从源码编译并安装 Paho MQTT C++ 库 --- - echo "--- Building and installing Paho MQTT C++ Library ---" && \ - cd /tmp/build-context/external/paho.mqtt.cpp && \ - cmake -Bbuild -H. -DPAHO_WITH_SSL=ON -DPAHO_BUILD_SAMPLES=OFF -DPAHO_BUILD_DOCUMENTATION=OFF && \ - cmake --build build --target install && \ - \ - # --- 清理工作 --- - # 刷新动态链接库缓存 - ldconfig && \ - # 删除临时的构建上下文,减小镜像体积 - rm -rf /tmp/build-context && \ - # 清理apt缓存,减小镜像体积 - rm -rf /var/lib/apt/lists/* - -USER dev -# 4. (可选) 设置默认用户 -# 说明: 如果不设置,默认是 root。如果希望容器启动后默认是某个用户,可以取消下面的注释。 -# 但对于 VSCode attach 来说,它会使用 devcontainer.json 中指定的 remoteUser,所以此项不是必须的。 -# USER forlinx - -# CMD ["sleep", "infinity"] \ No newline at end of file diff --git a/src/modbus/modbus_temperature_humidity.cc b/src/archive/modbus_temperature_humidity.cc similarity index 100% rename from src/modbus/modbus_temperature_humidity.cc rename to src/archive/modbus_temperature_humidity.cc diff --git a/src/modbus/modbus_temperature_humidity.h b/src/archive/modbus_temperature_humidity.h similarity index 100% rename from src/modbus/modbus_temperature_humidity.h rename to src/archive/modbus_temperature_humidity.h