Argos®2D A100 Software User Manual

Aus BECOM Systems Support
Version vom 22. August 2023, 20:35 Uhr von en>Peter (1 Version importiert)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Features

Argos®2D A100 comes with a pre-installed demo application that features


On-Screen Live View Web Live View H.264 RTSP Live Stream Terminal Access
Live view overlay window Embedded JPEG image stream H.264 encoding with i.MX53 VPU Telnet
Frame buffer logo JPEG encoding with i.MX53 VPU RTSP with Live555 library USB terminal emulation
On-Screen-Display Information display via CGI Receive with VLC media player Serial terminal (via eCAM-EXT-Debug board)
Font support
Datei:Ecam-demo-stream.png

Starting up

Here is how to start with your Argos®2D A100 Camera based on the CM-i.MX53 SoM.

  • Usually the camera will arrive pre-mounted
  • Configure the DIP switches on the base board for SD card boot. (If you do not want to boot the Argos®2D A100 demo application, boot Linux only from SPI-NOR).
  • Connect 12V DC to the power connector on the back panel
  • Connect a monitor or TV via HDMI on the back panel
  • If you like, connect Ethernet on the back panel
  • Optionally, connect to the serial terminal to see the board's boot messages (via eCAM-EXT-Debug board on the red extension connector X11)

Operation

Live view
Simply connect a monitor or TV via the HDMI port on the back panel. The resolution is HD720 (1280x720), so the best viewing experience is achieved with a wide screen.
Web view
Enter the IP address of the camera(displayed on screen, as well as on the serial terminal and the USB terminal) into your browser's address line.
Live streaming
Get VLC media player from VideoLAN: https://www.videolan.org
In VLC, choose Media {{#if: Open Network Stream... | Open Network Stream... {{#if: | {{{3}}} {{#if: | {{{4}}} {{#if: | {{{5}}} {{#if: | {{{6}}} {{#if: | {{{7}}} {{#if: | {{{8}}} {{#if: | {{{9}}} {{#if: | {{{10}}}| }}| }}| }}| }}| }}| }}| }}| }}| }}, and enter the rtsp:// link. The web site (see above) contains the correct link, e.g. rtsp://192.168.1.188/ecam-live.264
Terminal access
Telnet - For Telnet, use your favorite client (telnet, Putty, ...) and connect to the IP address of the camera. The default login is root.
Welcome to Freescale Semiconductor Embedded Linux Environment

bluetechnix login: root
root@bluetechnix ~$
USB terminal emulation - You may also connect a USB-mini-B cable to the USB-OTG port on the back panel (this solution only works with a Linux box). You will get a device file /dev/ttyACM0 or similar. Fire up kermit and type
set line /dev/ttyACM0
set speed 115200
connect
Serial terminal - If you have an eCAM-EXT-Debug board available, you can connect to the serial terminal of U-Boot and Linux (via the UART-to-USB converter on this board).


All connections except Telnet will print basic information about the Argos®2D A100 demo:
######################### Bluetechnix eCAM-i.MX demo ######################### 
##                                                                          ## 
##   IP address ............ 192.168.1.188                                  ## 
##   Connected camera ...... ISM-MT9M131                                    ## 
##                                                                          ## 
##   Web page URL .......... https://192.168.1.188/index.html                ## 
##   H.264 RTSP stream ..... rtsp://192.168.1.188/ecam-live.264             ## 
##                                                                          ## 
##############################################################################
Backpanel LED - informs about camera status.
  1. Flashing all colors, then green - Boot loader
  2. Turning blue - Linux booting
  3. Turning red - Argos®2D A100 demo initializing
  4. Turning green - Argos®2D A100 demo running; got IP address from DHCP
  5. Turning blue - Argos®2D A100 demo running; no IP address from DHCP, but fixed default

Versions

Release 1.2.0

Release date
2013-09-30
Targeted System-on-Module
CM-i.MX53-C-C-Q24S1024F4N2048 V2.0
Supported Image Sensor Modules
ISM-MT9M131
ISM-MT9M025 Color/Monochrome
ISM-AR0132AT Color/Monochrome
ISM-MT9P031
License
The application source code is available under the BSD license (see LICENSE* files in source package)
Other licenses apply to third-party tools.
Download path
https://support.becom-group.com/releases/imx/argos2d-a100/demo/v1.2.0/
Base board support package
Bluetechnix i.MX53 Linux BSP Release 1.8 (U-Boot: Release 1.6)
Known issues
Video capture is not always started properly with ISM-MT9M131.
ISM-MT9M025/ISM-AR0132AT: Under bright light condidions the cameras autoexposure "locks up".
Package content
File Content
eCAM-i.MX-Demo-SDCardImageMCIMX535_v1.1.bin.bz2 Compressed SD card image, including BSP (included in delivery)
eCAM-i.MX-Demo-src_v1.0.tar.bz2 Archive with demo application source code

Build and install

Restore Argos®2D A100 demo SD card

  • Download the SD card image and check its integrity.
$ md5sum -c eCAM-i.MX-Demo-SDCardImageMCIMX535_v1.1.bin.bz2.md5 
eCAM-i.MX-Demo-SDCardImageMCIMX535_v1.1.bin.bz2: OK
  • Uncompress.
$ bunzip2 eCAM-i.MX-Demo-SDCardImageMCIMX535_v1.1.bin.bz2
  • Ensure that the SD Card is not mounted.
  • Write to SD card.
$ sudo dd if=eCAM-i.MX-Demo-SDCardImageMCIMX535_v1.1.bin of=/dev/FOOBAR bs=1M
(Replace FOOBAR with the SD card's block device file, e.g., /dev/sdi, /dev/mmcblk0)

Source build

$ md5sum -c eCAM-i.MX-Demo-src_v1.0.tar.bz2.md5 
eCAM-i.MX-Demo-src_v1.0.tar.bz2: OK
  • Create a directory and unpack the source therein.
$ mkdir imx53-ecam-demo
$ cd imx53-ecam-demo
$ bunzip2 FOOBAR/eCAM-i.MX-Demo-bin_v1.0.tar.bz2
(Replace FOOBAR with your path.)
  • Now view INSTALL.txt and follow the instruction procedure there.

Install binaries

NOTE: This way is not recommended, because the demo application uses custom Linux kernel and LTIB configurations that are automatically installed with a #Source build.

$ md5sum -c eCAM-i.MX-Demo-bin_v1.0.tar.bz2.md5
eCAM-i.MX-Demo-bin_v1.0.tar.bz2: OK
  • Go to LTIB's rootfs directory.
$ cd FOOBAR/ltib/rootfs
$ ls
bin   dev  home  mnt  proc  sbin  tmp         usr
boot  etc  lib   opt  root  sys   unit_tests  var
$
(Replace FOOBAR with your path.)
  • Uncompress.
$ sudo bunzip2 eCAM-i.MX-Demo-bin_v1.0.tar.bz2
  • Ready! As soon as you boot this root file system on the Argos®2D A100 Camera next time, the demo application will launch automatically.

Source code overview

build_all.sh (SH)
Builds the demo.
INSTALL.txt
Read how to build and install the demo.
LICENSE.*
Licenses, for reference.
install_all.sh (SH)
Installs the demo to LTIB's rootfs.
config/
build-config
All configuration parameters; gets also installed on target (/opt/bluetechnix/imx53-ecam-demo/imx53-ecam-demo.config).
defconfig.dev
LTIB configuration; must be copied to <ltib>/config/platform/imx/.config.
imx5_defconfig
Linux kernel configuration; must be copied to <ltib>/rpm/BUILD/linux/.config.
u-boot.patch
Patch for U-Boot boot loader
src/
app/
jpeg-daemon.sh (SH)
Updates JPEG served by the web server regularly.
main.sh (SH)
Application entry point. Draws framebuffer background image; handles LEDs; handles DHCP/fixed IP address; starts ntpclient; enables USB-OTG terminal; detects and initializes connected camera module; starts videopipe and JPEG daemon; starts streaming (dependent on camera type); starts LIVE555 media server; starts On-Screen-Display; starts terminal notifier.
stream-mt9m025.sh (SH)
Streaming application for ISM-MT9M025. Gstreamer captures from camera, converts to YUV, encodes to JPEG, encodes to H.264, writes to frame buffer overlay (live view).
stream-mt9m131.sh (SH)
Streaming application for ISM-MT9M131. Starts live view application; Gstreamer captures from camera, encodes to JPEG, encodes to H.264.
stream-mt9p031.sh (SH)
Streaming application for ISM-MT9P031. Gstreamer captures from camera, converts to YUV, encodes to JPEG, encodes to H.264, writes to frame buffer overlay (live view).
camctl/
mt9m131.cfg
Command-line parameters for mt9m131-ctl.sh.
mt9m131-ctl.sh (SH)
Little camera control application that writes directly to I2C registers via I2CDEV driver.
images/
Frame buffer background image.
live555/ (C++)
LIVE555 source code (https://www.live555.com/liveMedia/). Separate License applies!
liveview/ (C)
Live view application for ISM-MT9M131, based on mxc_v4l2_overlay.c unit test application from Freescale Linux BSP (See here). Separate license applies!
osd/ (C)
On-Screen-Display implementation. Uses Freetype 2 font engine.
utils/
ledctl.sh (SH)
LED control script.
otg-getty-daemon.sh (SH)
Daemon to run getty for USB-OTG terminal.
terminal-notifier.sh (SH)
Writes information to terminals.
videopipe/ (C++)
Application that always reads from a named pipe, and duplicates output to 1..n named pipes (as soon as there is a reader).
webpage/
Argos®2D A100 demo web site static content.
index.html
Redirect HTML to cgi-bin/index
cgi-bin/
index (SH)
CGI script that generates index.html
set-cross-envs (SH)
Script sets cross compile and path environment for Argos®2D A100 demo application building.

Data flow diagram

ISM-MT9M131

The ISM-MT9M131 camera module sends UYVY data, 16 bit per pixel. This is a format supported natively by the i.MX53 IPU/CSI (for capturing) and VPU (for encoding).

The live view functionality (liveview application) is not included in the data flow diagram, because the real data flow does not involve the Argos®2D A100 demo application at all (just the IPU and memory). The liveview application sets the i.MX53 viewfinder-mode via the V4L camera interface.


Data Flow Diagram for ISM-MT9M131


ISM-MT9M025/ISM-AR0132AT/ISM-MT9P031

These camera modules send grayscale or RGB Bayer data, 8 bits per pixel. This is a format not supported natively by the i.MX53 IPU/CSI, so we capture "generic data" as far as the IPU is concerned.

Currently, we use the GStreamer plug-in ffmpegcolorspace to convert the generic data format to an I420 YUV format, which is natively supported by the i.MX53 VPU (for encoding) and IPU (for live view on the display). This conversion is done in software and is not ARM/NEON-optimized, so we are slowing down the frame rate to 9 fps.

Since release 1.2.0 ismconv and mfw_ipucsc plug-ins are used to convert the generic data format to an I420 YUV format. These conversions are done in software and are ARM/NEON-optimized. See the Argos®2D A100 Programmer's Guide for more information.


Data Flow Diagram for ISM-MT9M025/ISM-AR0132AT/ISM-MT9P031