Files
banban/factory_host

EG800 FT1 工厂烧录与产测上位机

本目录包含上位机源码、默认配置、测试、构建脚本和发布文档。最终交付物统一生成到 factory_host/dist/,工厂不需要接触项目源码。

工程结构

factory_host/
├─ src/                         # Python 上位机源码
│  ├─ factory_host.py
│  └─ ft1_protocol.py
├─ config/                      # 开发和发布使用的默认配置
│  └─ factory_host_config.json
├─ scripts/                     # 音频、固件和 release 构建脚本
│  ├─ build_factory_audio_package.py
│  ├─ build_factory_firmware.ps1
│  └─ build_release.ps1
├─ tests/                       # 自动测试
│  └─ test_factory_host.py
├─ docs/
│  ├─ USAGE.md                  # 工厂现场操作说明
│  └─ DEVELOPMENT.md            # 开发、换包和发布说明
├─ firmware/                    # 默认产测与正式固件
├─ vendor/                      # 本地 Aboot 厂商工具,不提交
├─ build/                       # 中间产物和开发日志,不提交
├─ dist/                        # 最终交付目录,每次发布会重建
├─ requirements.txt
└─ README.md

build/ 和 dist/ 都被 Git 忽略。发布脚本只会清理 dist/,不会修改 src/、 config/、docs/、tests/ 或 build/。

功能

  • 产测固件与正式固件独立保存并醒目标识。
  • 持续检测烧录串口,支持多工位自动等待设备上电后烧录。
  • 同一设备烧录成功后锁定,端口断开并重新出现后才允许烧录下一台。
  • 自动识别 DBG UART,解析设备每 500 ms 广播的 FT1 状态。
  • 显示六个测试节点、IMEI、ICCID、NFC UID、失败码和实时日志。
  • 自动保存汇总 CSV 与单机 JSON,烧录和扫描过程不弹出控制台黑框。

快速验证

在项目根目录执行:

python -m pip install -r .\factory_host\requirements.txt
python -B -m unittest discover -s .\factory_host\tests -p "test_*.py" -v
python -B .\factory_host\src\factory_host.py

源码模式会读取 factory_host/config/factory_host_config.json,运行日志写入 factory_host/build/logs/,固件和下载器从现有 factory_host/dist/ 解析。

生成 Release

默认使用项目中的以下输入:

factory_host/firmware/test/EG800AKCN_11LG-FT1-factory-test.zip
factory_host/firmware/official/EG800AKCN_11LG-official-fac.zip
factory_host/vendor/aboot-tools-2024.08.08-win-x64/

执行:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\factory_host\scripts\build_release.ps1

生成:

factory_host/dist/
├─ START-EG800-FACTORY-TOOL.exe
├─ firmware/
│  ├─ EG800AKCN_11LG-FT1-factory-test.zip
│  └─ EG800AKCN_11LG-official-fac.zip
├─ .runtime/                    # Windows 隐藏目录
│  ├─ burn_tool/
│  ├─ docs/USAGE.md
│  ├─ factory_host_config.json
│  ├─ release_manifest.json
│  └─ logs/
└─ EG800-Factory-Tool-Full-Package.zip

交付工厂时只发送 EG800-Factory-Tool-Full-Package.zip。解压后双击醒目的 START-EG800-FACTORY-TOOL.exe;不要单独移动 EXE、固件或 .runtime。

默认配置使用相对于发布目录的路径:

firmware/EG800AKCN_11LG-FT1-factory-test.zip
firmware/EG800AKCN_11LG-official-fac.zip
.runtime/burn_tool/aboot-tools-2024.08.08-win-x64/adownload.exe

文档