MX8 Basler Camera testing: Difference between revisions

From Variscite Wiki
No edit summary
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<!-- Set release according to "release" parameter in URL and use RELEASE_SUMO_V2.2_DART-MX8M-MINI as default
<!-- Set release according to "release" parameter in URL and use RELEASE_SUMO_V2.2_DART-MX8M-MINI as default
--> {{#vardefine:RELEASE_PARAM|{{#urlget:release|RELEASE_SUMO_V2.2_DART-MX8M-MINI}}}} <!--
--> {{INIT_RELEASE_PARAM|RELEASE_SUMO_V2.2_DART-MX8M-MINI}}<!--
--> {{#lst:Yocto_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{#lst:Yocto_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{#lst:B2QT_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{#lst:B2QT_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{COMMON_YOCTO_VARS}} <!--
--> {{PageHeader|{{#var:HARDWARE_NAME}} Basler Camera}} {{DocImage|category1=Yocto|category2={{#var:HARDWARE_NAME}}}} __toc__
--> {{PageHeader|{{#var:HARDWARE_NAME}} Basler Camera}} {{DocImage|category1=Yocto|category2={{#var:HARDWARE_NAME}}}} __toc__


<!-- {{#ifeq: {{#urlget:whoami}} | DEVELOPER | -->


{{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M-PLUS |
{{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M-PLUS |
{{#ifeq: {{#var:FSL_BSP_VERSION}}|L5.4.70_2.3.0|
{{#ifeq: {{#var:FSL_BSP_VERSION}} | L5.4.70_2.3.0 |
{{#vardefine:BASLER_BRANCH|"1.2.0.12-imx8mp-5.4.70-2.3.0"}}
{{#vardefine:BASLER_BRANCH | 1.2.0.12-imx8mp-5.4.70-2.3.0 }}
{{#vardefine:BASLER_CEP_PREF_VER | 4.2.2.8+basler }}
{{#vardefine:BASLER_GST_MODE | 1 }}
{{#vardefine:BASLER_SDCARD_FOLDER | zeus-fsl-5.4.70-mx8mp-v2.1 }}
|
|
{{#vardefine:BASLER_BRANCH|"1.3.1.9-imx8mp-5.4.70-2.3.2"}}
{{#vardefine:BASLER_BRANCH| 1.3.1.9-imx8mp-5.4.70-2.3.2 }}
{{#vardefine:BASLER_CEP_PREF_VER| 4.2.2.13+basler }}
{{#vardefine:BASLER_GST_MODE | 2 }}
{{#vardefine:BASLER_SDCARD_FOLDER | zeus-fsl-5.4.70-mx8mp-v2.3 }}
}}
}}
| {{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M-MINI |
{{#ifeq: {{#var:YOCTO_NAME}} | Sumo |
<!-- BASLER_BRANCH should always be defined except for older Sumo version -->
{{#vardefine:BASLER_SDCARD_FOLDER | sumo-fsl-4.14.98-mx8mm-v2.5 }}
| {{#ifeq: {{#var:YOCTO_NAME}} | Dunfell |
| {{#ifeq: {{#var:YOCTO_NAME}} | Dunfell |
{{#vardefine:BASLER_BRANCH|"1.6.0-imx8m-5.4-2.1.x"}}
{{#vardefine:BASLER_BRANCH| 1.6.0-imx8m-5.4-2.1.x }}
}}}}
{{#vardefine:BASLER_SDCARD_FOLDER | dunfell-fsl-5.4.x-mx8mm-v6.5 }}
| {{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M |
{{#ifeq: {{#var:YOCTO_NAME}} | Sumo |
<!-- BASLER_BRANCH should always be defined except for older Sumo version -->
{{#vardefine:BASLER_SDCARD_FOLDER | sumo-fsl-4.14.98-mx8mq-v2.5 }}
| {{#ifeq: {{#var:YOCTO_NAME}} | Dunfell |
{{#vardefine:BASLER_BRANCH| 1.6.0-imx8m-5.4-2.1.x }}
{{#vardefine:BASLER_SDCARD_FOLDER | dunfell-fsl-5.4.x-mx8mq-v6.2 }}
}}}}}}}}}}}}}}


= Introduction =
= Introduction =
Line 32: Line 53:
  $ git clone https://github.com/varigit/meta-basler-tools -b {{#var:BASLER_BRANCH}} ../sources/meta-basler-tools
  $ git clone https://github.com/varigit/meta-basler-tools -b {{#var:BASLER_BRANCH}} ../sources/meta-basler-tools
|
|
<!-- if BASLER_BRANCH is correctly defined this content is displayed only with older Sumo version -->
= Download and install Basler meta layers =  
= Download and install Basler meta layers =  


  $ wget ftp://customerv:Variscite1@ftp.variscite.com/Basler/Software/basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo.tar.gz
  $ wget https://variscite-public.nyc3.cdn.digitaloceanspaces.com/Basler/Software/basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo.tar.gz
  $ mkdir basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo
  $ mkdir basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo
  $ tar xf basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo.tar.gz -C basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo
  $ tar xf basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo.tar.gz -C basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo
Line 41: Line 63:
= Download and install Variscite kernel patches =
= Download and install Variscite kernel patches =


  $ wget ftp://customerv:Variscite1@ftp.variscite.com/Basler/Software/sumo-fsl-4.14.98-cep-1.5.0/meta-variscite-imx-basler.tar.gz
  $ wget https://variscite-public.nyc3.cdn.digitaloceanspaces.com/Basler/Software/sumo-fsl-4.14.98-cep-1.5.0/meta-variscite-imx-basler.tar.gz
  $ tar xf meta-variscite-imx-basler.tar.gz -C ../sources/
  $ tar xf meta-variscite-imx-basler.tar.gz -C ../sources/
  }}
  }}


{{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M-PLUS |
{{#if: {{#var:BASLER_CEP_PREF_VER}} |
= Customize configuration files =
= Customize configuration files =


Line 59: Line 81:
<br>
<br>
Add Basler software and driver:
Add Basler software and driver:
{{#ifeq: {{#var:FSL_BSP_VERSION}}|L5.4.70_2.3.0|
 
<pre>
IMAGE_INSTALL{{#var:YOCTO_OVERRIDE_PREFIX}}append = " \
IMAGE_INSTALL_append = " \
        basler-camera-driver \
        basler-camera-driver \
        pylon \
        pylon \
        python3-pypylon \
        python3-pypylon \
        gentl-producer \
        gentl-producer \
        kernel-module-isp-vvcam \
        kernel-module-isp-vvcam \
        imx8mp-modprobe-config \
        imx8mp-modprobe-config \
        basler-camera \
        basler-camera \
        isp-imx \
        isp-imx \
        xauth \
        xauth \
"
"
PREFERRED_VERSION_isp-imx                = "{{#var:BASLER_CEP_PREF_VER}}"
PREFERRED_VERSION_isp-imx                = "4.2.2.8+basler"
PREFERRED_VERSION_basler-camera          = "{{#var:BASLER_CEP_PREF_VER}}"
PREFERRED_VERSION_basler-camera          = "4.2.2.8+basler"
PREFERRED_VERSION_kernel-module-isp-vvcam = "{{#var:BASLER_CEP_PREF_VER}}"
PREFERRED_VERSION_kernel-module-isp-vvcam = "4.2.2.8+basler"
 
</pre>
|
<pre>
IMAGE_INSTALL_append = " \
        kernel-module-basler-camera \
        pylon \
        python3-pypylon \
        gentl-producer \
        kernel-module-isp-vvcam \
        imx8mp-modprobe-config \
        basler-camera \
        isp-imx \
        xauth \
"
PREFERRED_VERSION_isp-imx                = "4.2.2.13+basler"
PREFERRED_VERSION_basler-camera          = "4.2.2.13+basler"
PREFERRED_VERSION_kernel-module-isp-vvcam = "4.2.2.13+basler"
</pre>
}}
| {{#ifeq: {{#var:YOCTO_NAME}} | Sumo |
| {{#ifeq: {{#var:YOCTO_NAME}} | Sumo |
= Customize configuration files =
= Customize configuration files =
Line 115: Line 118:
<br>
<br>
Add Basler software and driver:
Add Basler software and driver:
<pre>
 
IMAGE_INSTALL_append = " \
IMAGE_INSTALL{{#var:YOCTO_OVERRIDE_PREFIX}}append = " \
        basler-camera-driver \
        basler-camera-driver \
        pylon \
        pylon \
        python3-pypylon \
        python3-pypylon \
        gentl-producer \
        gentl-producer \
        xauth \
        xauth \
"
"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-basler-camera-driver"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-basler-camera-driver"
</pre>
}}
}}


Line 137: Line 139:
  $ /usr/bin/pylon
  $ /usr/bin/pylon


{{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M-PLUS |
{{#if: {{#var:BASLER_GST_MODE}} |
= Running gstreamer =
= Running gstreamer =


Run the following command at the shell prompt:
Run the following command at the shell prompt:
{{#ifeq: {{#var:FSL_BSP_VERSION}}|L5.4.70_2.3.0|
{{#ifeq: {{#var:BASLER_GST_MODE}} | 1 |
<br>
<br>
  $ gst-launch-1.0 -v v4l2src device=/dev/video0 ! waylandsink sync=false
  $ gst-launch-1.0 -v v4l2src device=/dev/video0 ! waylandsink sync=false
|
| {{#ifeq: {{#var:BASLER_GST_MODE}} | 2 |
<br>
<br>
* 1920x1080@30fps:
* 1920x1080@30fps:
Line 150: Line 152:
* 3840x2160@30fps:
* 3840x2160@30fps:
  # gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=3840,height=2160" ! waylandsink sync=false
  # gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=3840,height=2160" ! waylandsink sync=false
}}
}}}}}}
|}}


= Prebuilt recovery SD card image =
= Prebuilt recovery SD card image =
A prebuilt recovery SD card image with Basler camera support can be downloaded from:<br>
A prebuilt recovery SD card image with Basler camera support can be downloaded from:<br>
ftp://customerv:Variscite1@ftp.variscite.com/Basler/Software/{{#var:HARDWARE_NAME}}/<!--
sftp://customerv@ftp.variscite.com/Public/Basler/Software/{{#var:HARDWARE_NAME}}/{{#var:BASLER_SDCARD_FOLDER}}/
-->{{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M-MINI |{{#ifeq: {{#var:YOCTO_NAME}} | Sumo | sumo-fsl-4.14.98-mx8mm-v2.5 | {{#ifeq: {{#var:YOCTO_NAME}} | Dunfell | dunfell-fsl-5.4.x-mx8mm-v6.5}}}}}}<!--
<br><br>
-->{{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M      |{{#ifeq: {{#var:YOCTO_NAME}} | Sumo | sumo-fsl-4.14.98-mx8mq-v2.5 | {{#ifeq: {{#var:YOCTO_NAME}} | Dunfell |dunfell-fsl-5.4.x-mx8mq-v6.2 }}}}}}<!--
For more information about Variscite's FTP server, see: https://variwiki.com/index.php?title=FTP
-->{{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M-PLUS |{{#ifeq: {{#var:FSL_BSP_VERSION}}|L5.4.70_2.3.0|zeus-fsl-5.4.70-mx8mp-v2.1|zeus-fsl-5.4.70-mx8mp-v2.3}}}}/
<!-- }} -->
<br>
<br>
'''Note:''' Some web browsers have removed FTP support. Please see our [[FTP|FTP wiki page]].<br>

Latest revision as of 20:59, 23 August 2024

Warning: This page is designed to be used with a 'release' URL parameter.

This page is using the default release RELEASE_SUMO_V2.2_DART-MX8M-MINI.
To view this page for a specific Variscite SoM and software release, please follow these steps:

  1. Visit variwiki.com
  2. Select your SoM
  3. Select the software release


DART-MX8M-MINI Basler Camera



Introduction

The following instructions will allow you to add support for the Basler MIPI camera to your Yocto images.
This will allow you to stream images/video from a Basler camera(s) connected to a Variscite evaluation kit.

Download Variscite Yocto BSP

Please follow Build Yocto from source code.
Execute steps 1-4.3 to download the BSP sources, but don't start bitbake yet.

Download and install Basler meta layers

$ wget https://variscite-public.nyc3.cdn.digitaloceanspaces.com/Basler/Software/basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo.tar.gz
$ mkdir basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo
$ tar xf basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo.tar.gz -C basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo
$ mv basler-dart-bcon-mipi-imx8-cep_1.5.0-for-imx-4.14.98-2.0.0_ga_sumo/meta-basler* ../sources

Download and install Variscite kernel patches

$ wget https://variscite-public.nyc3.cdn.digitaloceanspaces.com/Basler/Software/sumo-fsl-4.14.98-cep-1.5.0/meta-variscite-imx-basler.tar.gz
$ tar xf meta-variscite-imx-basler.tar.gz -C ../sources/

Customize configuration files

Customize bblayers.conf

Add the following lines to conf/bblayers.conf

BBLAYERS += " ${BSPDIR}/sources/meta-basler-imx8 "
BBLAYERS += " ${BSPDIR}/sources/meta-basler-tools/meta-basler-common "
BBLAYERS += " ${BSPDIR}/sources/meta-variscite-imx-basler "

Customize local.conf

Add the following to conf/local.conf under your Yocto build directory:

Add Basler software and driver:

IMAGE_INSTALL_append = " \
        basler-camera-driver \
        pylon \
        python3-pypylon \
        gentl-producer \
        xauth \
"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-basler-camera-driver"

Build Yocto image

Continue following Build Yocto from source code from where you left off, to bitbake and install an image.

Running Basler camera application

Run the following commands at the shell prompt:

$ export DISPLAY=:0.0
$ /usr/bin/pylon


Prebuilt recovery SD card image

A prebuilt recovery SD card image with Basler camera support can be downloaded from:
sftp://customerv@ftp.variscite.com/Public/Basler/Software/DART-MX8M-MINI/sumo-fsl-4.14.98-mx8mm-v2.5/

For more information about Variscite's FTP server, see: https://variwiki.com/index.php?title=FTP