Argos2D A100 SurveillanceApp Developer's Guide
Zur Navigation springen
Zur Suche springen
The Surveillance software is a ready-to-use appliance for the Argos®2D A100 camera platform.
Customers may also extend the software according to their needs. The application source code is available under the BSD license (other licenses apply to third-party tools).
Flash layout
- SPI-NOR flash contains U-Boot boot loader and U-Boot environment
- Configuration data is stored to U-Boot environment (with Linux tool fw_setenv coming with U-Boot)
- NAND flash contains Linux kernel image (2nd partition, offset 16MiB, size 5MiB)
- NAND flash also contains root file system (3rd partition, offset 21MiB, max. size 256MiB)
- Root file system alternate partition (changed with each firmware update): 4th partition, offset 277MiB, max. size 256 MiB
- Root file system type is cramfs, this is a read-only file system.
- Firmware update includes Linux kernel and Root file system, not U-Boot, nor U-Boot environment.
Firmware update image format
- ZIP file
- uImage (Linux kernel as built by LTIB)
- rootfs.cramfs (Root file system image as built by LTIB)
- version.txt (Text file, containing firmware version string, e.g. "1.0.0")
Video stream
- Created with GStreamer framework
- Threaded C application
- Pipeline overview
mfw_v4lsrc --> ismconv --> mfw_ipucsc --> clockoverlay --> videorate --> tee (1)--+-->(2) queue --> capsfilter --> videorate --> capsfilter --> mfw_vpuencoder --> multifilesink |-->(3) queue --> mfw_vpuencoder --> capsfilter --> ffmux_mp4 --> filesink '-->(4) queue --> mfw_vpuencoder --> capsfilter --> ffmux_mp4 --> filesink
- (1) Capture bin: Captures camera input, converts from Bayer to RGB, converts color space (with i.MX IPU), adds time/date overlay, harmonizes frame rate with videorate
- (2) JPEG encoding bin: Decreases frame rate to 1/2 fps, encodes JPG image with i.MX VPU, writes to file (overwriting the old)
- (3)/(4) H.264 encoding bins: Encode to H.264 with i.MX VPU, muxes into MP4 with ffmpeg library, writes to file
- (3) and (4) are running alternately, with overlapping of 1 second
Source build
- You need to have the Bluetechnix i.MX53 Linux BSP installed. The version required is listed with each SurveillanceApp software release.
- In the Source package, following the instructions in the file
INSTALL.txt
Source code overview
- build_all.sh (SH)
- Builds the application.
- install_all.sh (SH)
- Installs the demo to LTIB's rootfs.
- INSTALL.txt
- Read how to build and install the demo.
- LICENSE
- License
- LICENSE_zip30
- License file coming with InfoZip v3.0, which is used in the application.
- 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.
- gst-fsl-plugin*
- Patch for Freescale GStreamer plug-in package
- gst-plugins-base*
- Patch for GStreamer base plug-ins package
- imx5_defconfig
- Linux kernel configuration; must be copied to <ltib>/rpm/BUILD/linux/.config.
- linux.patch
- Patch for Linux kernel
- network
- pango.modules
- resolv.conf
- shadow
- sshd_config
- ssh_host_*
- Additional files for the root file system
- u-boot.patch
- Patch for U-Boot boot loader
- src/
- set-cross-envs
- Source script that sets cross-compile environment variables
- app/
- config.sh (SH)
- Configuration tool "ecamconfig"
- fwupdate.sh (SH)
- Firmware update tool "ecamfwupdate"
- ledd.sh (SH)
- Blinking LED daemon
- main.sh (SH)
- Application entry point. Starts application daemons and applications, then quits.
- ntpd.sh (SH)
- Time synchronization daemon
- passwd.sh (SH)
- Wrapper for passwd to change root password ("ecamrootpasswd")
- setuptool.sh (SH)
- setuptoolstart.sh (SH)
- Tool for camera positioning ("ecamsetuptool")
- templogger.sh (SH)
- Temperature logging daemon
- uploader.sh (SH)
- Uploading daemon
- version.sh (SH)
- Version display tool ("ecamversion")
- watchdogd.sh (SH)
- Watchdog daemon
- camctl/
- Makefile
- mt9m025-ctl.c (C)
- Camera control application that writes directly to I2C registers via I2CDEV driver.
- gst/ (C)
- GStreamer C application (implements above Pipeline)
- pwchange/ (C)
- Video password change utility
- utils/
- ledctl.sh (SH)
- LED control script.
- ubootenv/ (C)
- Linux tools for reading/writing U-Boot environment. This is part of U-Boot's source code. (GPL license!)
- zip/ (C)
- Info-Zip v3.0 (https://www.info-zip.org). Separate license!
Support
If you have questions, want to report a bug or request a feature, or need support: Contact our support team.
Bluetechnix offers custom development services! Feel free to contact office if you are interested.