You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派5上Python脚本启动FLIR Lepton相机失败问题排查

问题排查与解决方案

1. 脚本中的直接错误

你在执行相机启动命令时犯了笔误:process2调用的是command1(CPU性能模式设置),而非command2(相机启动命令),这导致相机启动命令根本没被执行,自然不会弹出窗口。

2. GUI程序的DISPLAY环境变量问题

树莓派上的GUI程序依赖DISPLAY环境变量确定输出显示设备。如果Python脚本通过SSH远程执行,或当前环境未正确传递该变量,即使命令执行成功,窗口也无法显示,需要在subprocess中明确指定该变量。

3. 修正后的脚本

import subprocess
import os

def start_camera():
    directory = '/LeptonModule/software/raspberrypi_video'
    command_build = 'qmake && make'
    command_cpu = 'sudo sh -c "echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor"'
    command_camera = './raspberrypi_video -tl 3'

    os.chdir(directory)

    # 仅源码改动时需要重新编译,可根据情况注释
    subprocess.run(command_build, shell=True, check=True)
    subprocess.run(command_cpu, shell=True, check=True)
    
    # 传递DISPLAY环境变量,确保GUI窗口正常显示
    env = os.environ.copy()
    env['DISPLAY'] = ':0'  # 本地主显示器通常为:0
    subprocess.run(command_camera, shell=True, check=True, env=env)

    print("Camera Started")

if __name__ == "__main__":
    start_camera()

额外注意事项

  • 编译命令优化:qmake && make无需每次启动相机都执行,仅源码改动时重新编译即可,平时可注释该行加快启动速度。
  • SSH远程执行:若通过SSH运行脚本,需启用X11转发(SSH连接时加-X参数),确保远程DISPLAY变量正确。
  • 权限配置:确保运行脚本的用户拥有sudo免密权限(通过visudo配置),避免脚本执行时卡住等待密码输入。

内容的提问来源于stack exchange,提问作者EvanFodemski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 23:15:00