Files
archery/design_doc/command_record.md
gcw_4spBpAfv 43e7e0ba17 new shoot algo
2026-04-17 18:31:44 +08:00

4.4 KiB
Raw Blame History

  1. CPP构建命令

cd /mnt/d/code/archery/cpp_ext rm -rf build && mkdir build && cd build

TOOLCHAIN_BIN=/mnt/d/code/MaixCDK/dl/extracted/toolchains/maixcam/host-tools/gcc/riscv64-linux-musl-x86_64/bin PYDEV=/mnt/d/code/shooting/python3_lib_maixcam_musl_3.11.6 MAIXCDK=/mnt/d/code/MaixCDK

cmake .. -G Ninja
-DCMAKE_C_COMPILER="${TOOLCHAIN_BIN}/riscv64-unknown-linux-musl-gcc"
-DCMAKE_CXX_COMPILER="${TOOLCHAIN_BIN}/riscv64-unknown-linux-musl-g++"
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_FLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
-DCMAKE_CXX_FLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
-DPY_INCLUDE_DIR="${PYDEV}/include/python3.11"
-DPY_LIB="${PYDEV}/lib/libpython3.11.so"
-DPY_EXT_SUFFIX=".cpython-311-riscv64-linux-gnu.so"
-DMAIXCDK_PATH="${MAIXCDK}"

ninja

  1. Maixvision 直接跑项目的时候,是复制到板子上的这个目录:/tmp/maixpy_run

  2. 4g 模块的终端测试方法: 3.1 一个窗口 ssh 到maixcam的板子上之后通过 printf 输入命令到 /dev/ttyS2, 然后另外一个窗口通过 cat /dev/ttyS2 输出

1. 确保 PDP 激活

printf 'AT+CGPADDR=1\r\n' > /dev/ttyS2

2. 开启日志监听(另一个 SSH 窗口)

cat /dev/ttyS2

3. 发送下载命令(原窗口)

printf 'AT+MHTTPDLFILE="http://static.shelingxingqiu.com/shoot/v1/main.py","downloaded.py",5120\r\n' > /dev/ttyS2

  1. wifi的启动条件在 /boot 目录下,看看是否有 wifi.sta 和 wifi.ssid wifi.pass 这些文件。其中 wifi.sta 是开关文件。 如果没有了它就不会启动wifi流程。具体的wifi流程 由 /etc/init.d/S30wifi 控制。它会判断 wifi.sta 是否存在然后是否启动wifi还是启动热点。

  2. 给自己的程序打包到基础镜像中,参考:https://wiki.sipeed.com/maixpy/doc/zh/pro/compile_os.html 5.1. 按照链接中的步骤去github上获取了基础镜像这次使用的是 v4.12.4把Assets中的下面几样东西下载下来我是在windows的wsl中执行的注意 假如是在windows中下载的文件在wsl中编译会很慢所以我采用的是直接在wsl中下载放到wsl的自己的文件系统中。 1maixcam-2025-12-31-maixpy-v4.12.4.img.xz 2maixcam_builtin_files.tar.xz 3MaixPy-4.12.4-py3-none-any.whl 4Source code(zip) 5.2. 把自己的文件放到 buildtin_files中 1我把项目文件目录 t11 放到了 maixcam_builtin_files\maixapp\apps 这个目录下。 2为了能让它自启动我把 auto_start.txt 放到了 maixcam_builtin_files\maixapp 这个目录下。

    5.3. 然后在解压后的源码中找到tools/os目录下 /home/saga/maixcam/MaixPy-4.12.4/tools/os/maixcam 执行 export MAIXCDK_PATH=/home/saga/maixcam/MaixCDK 编译: ./gen_os.sh ../../../../../maixcam/maixcam-2025-12-31-maixpy-v4.12.4.img ../../../../../maixcam/MaixPy-4.12.4-py3-none-any.whl ../../../../../maixcam/maixcam_builtin_files 0 maixcam 注意,在编译过程中,也会去 github 下载内容,所以需要打开梯子。 5.4. 等待编译完成,会编译成镜像文件,然后根据 https://wiki.sipeed.com/hardware/zh/maixcam/os.html 这个指引来烧录系统。 5.5. 烧录完系统后,需要安装 runtime 可以按照 https://wiki.sipeed.com/maixpy/doc/zh/README_no_screen.html 这个来升级运行库,或者直接在 Maixvision 中链接的时候安装 runtime。 5.6. 安装 runtime 之后,重启,我们的系统就会自己启动起来了。

    遇到问题: /mnt/d/code/shooting/compile_maixcam/MaixPy-4.12.4/MaixPy-4.12.4/tools/os/maixcam/fuse2fs: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory 解决办法: 安装 libfuse2 sudo apt update sudo apt install libfuse2

    遇到问题: python 缺少 yaml 解决办法: pip install pyyaml

    遇到问题: ./build_all.sh: line 56: maixtool: command not found 解决办法: export PATH="/mnt/d/code/MaixCDK/.venv/bin:$PATH"

    遇到问题: ./update_img.sh: line 80: mcopy: command not found 解决办法: sudo apt update sudo apt install mtools

  3. 相机标定: set OPENCV_FFMPEG_CAPTURE_OPTIONS="rtsp_transport;tcp" opencv_interactive-calibration -t=chessboard -w=9 -h=6 -sz=0.025 -v="http://192.168.1.55:8000/stream"