登录

登录您的账户,查询专属价格。

忘记密码?
注册

如果您已与我们取得过联系并在系统中创建过客户编号,我们会将其自动关联至您的新账号。

注册
产品
服务与支持
行业和解决方案
企业
版本 4.0
·
最后编辑日期 2025-04-08

使用 BVS CA 工业相机进行嵌入式实时流监控

1. 导言

现在,嵌入式设备拥有强大的计算能力和各种接口,使其在工业图像处理中的应用变得极为有趣。嵌入式设备可以掌握人工智能(AI)领域的应用,如机器学习(ML)或其子方面深度学习(DL)。近十年来,巴鲁夫一直为基于 ARM 的设备提供支持,并为BVS CA-IGC (USB2.0)BVS CA-SF ( USB 3. 0)BVS CA-GX0 (千兆以太网) 产品系列提供合适的驱动程序。下表概述了我们使用摄像机测试过的平台:

系统

ARM 架构

技术测试结果

性能

适用于

更多信息

USB2.0

USB3.0

千兆以太网

万兆以太网

PCIe

NVIDIA Jetson AGX Orin

Arm Cortex-A78AE v8.2

!

X

X

X

X

+++++

高要求应用

nvidia.com

英伟达™ Jetson AGX Xavier

英伟达™ Carmel ARMv8.2

X

X

X

-

X

++++

高要求应用

nvidia.com

英伟达 Jetson Xavier NX

英伟达™ Carmel ARMv8.2

X

X

X

-

X

+++

高要求应用

nvidia.com

英伟达 Jetson Nano

ARM Cortex-A57

X

X

X

-

*

+

中端应用

nvidia.com

英伟达™ Jetson TX2

英伟达™(NVIDIA®)Denver 2 和 ARM Cortex-A57

X

X

X

-

?

++

高要求应用

nvidia.com

树莓派 4

ARM Cortex-A72

X

X

!

-

-

+

价格敏感项目

raspberrypi.org

树莓派计算模块 4

ARM Cortex-A72

X

X

!

-

!

+

价格敏感项目

raspberrypi.org

i.MX8M Mini

ARM 皮质 A53

X

!

!

-

!

+

中端应用

nxp.com

X = 系统在使用此设备时性能良好。

- = 系统无法与此设备配合使用。

* = 由于开发套件不提供 PCI Express 接口,因此无法与此设备配合使用。

!= 系统与此设备的性能有限。

= 系统尚未与此设备一起测试。

Raspberry Pi 在价格敏感型应用中非常受欢迎,互联网上提供了许多与 Raspberry Pi 结合使用的生活小窍门和智能应用。

例如,本文档展示了如何使用BVS CA-SF工业相机和 Raspberry Pi 实现实时流监控。Raspberry Pi 从摄像头接收图像,并将其嵌入可在本地网络上访问的网站。有了适当的硬件,还可以使用 USB 2.0 摄像机BVS CA-IGC或千兆以太网摄像机BVS CA-GX0 实现实时流演示。

本文档涵盖以下要点:

  1. 需要哪些硬件?

  2. Raspberry Pi 上需要哪些软件组件?

  3. 应用程序实际是如何实现的?

  4. 如何设置自动启动?

2. 结构

硬件

订购代码

数量

说明

BVS CA-SF2-0016ZG-111120-001

BVS00JL

1

160 万像素 USB3 工业相机

B10M5425C

B10M5425C

1

5.4 毫米 S 卡口镜头

S-C 适配器 AD01S

1

C 卡口至 S 卡口适配器

MV 锁环

1

S 型安装锁定环

树莓派 4

1

作为主机的 ARM 设备

USB3 电缆

A74-9968-2-001

1

USB3 电缆

以太网电缆

A72-8075-5

1

以太网电缆

电源 Raspberry Pi

1

用于 Raspberry Pi 的电源

设置非常简单:

3. 安装组件

应用程序必须在 Raspberry Pi 上构建或安装以下软件包(链接指向相应的安装和设置说明):

4. 实施情况

程序结构如下

| -camera.py

| -main.py

| -模板

| -index.html

camera.py是指定cam 类的辅助文件。它用于管理图像采集,其中包括初始化摄像机(SoftwareTrigger、BGR8 像素格式等)和定义singleFrame函数。singleFrame 函数开始采集图像,并为图像提供时间戳:

  • camera.py(请将附录重命名为 *.py)

实际的 Python 主程序名为 main.py。在此导入cam类。在主函数中,创建帧(genFrame)的过程是在一个线程中使用单张图像记录开始的,并通过numpy 复制到 outputFrame 中。

然后,displayFrame函数会将 outputFrame 数据转换为 JPG 格式,然后使用video_feed函数将其显示为 HTML 格式:

  • main.py(请将附录重命名为 *.py)

相应的 index.html 调用视频源:

  • index.html(请将附件重命名为 *.html)

5. 自动启动

为了将系统用作即插即用设备,必须在启动过程结束时自动启动 Python 程序main.py。这需要在/etc/systemd/system 下运行三个文件:

  • mvIA_env.conf

  • run-script-with-delay.service

  • run-script-with-delay.timer"(名称与 .service相同,只是将 .timer 作为延迟的扩展名)

mvIA_env.conf:为 mvIMPACT Acquire 创建所需的环境变量。这是必要的,因为systemd会忽略/etc/profile.d 下的环境变量,这意味着无法使用 systemd 服务中的 Impact Acquire 软件包。

  • mvIA_env.conf(请将附录重命名为 *.conf)

run-script-with-delay.service: 定义启动时启动的服务。此处指定 Python 程序的路径:'ExecStart='.

  • run-script-with-delay.service(请将附录重命名为 *.service)

run-script-with-delay.timer: 指定启动后服务启动的延迟时间。可在此处指定延迟时间:'OnBootSec='.

  • run-script-with-delay.timer(请将附录重命名为 *.timer)

一切就绪后,就可以按如下方法重新加载systemd

$sudo systemctl daemon-reload

可以使用以下命令检查状态

$sudo systemctl status run-script-with-delay.service

如果启动成功,则可以启动服务,检查 Python 程序是否也已启动并顺利运行。

$sudo systemctl start run-script-with-delay.service

为此,必须激活延迟配置:

$sudo systemctl enable run-script-with-delay.timer

最后,必须重启系统。重启后,Python 程序会自动启动。

重新启动

能耗标签
能耗标签

EPREL - 欧洲能源标签产品数据库

免费试用产品

要在购物车中添加免费样品,我们需要删除购物车中的所有普通产品。您确定要继续