Difference between revisions of "10393 manual"

From ElphelWiki
Jump to: navigation, search
(Important Notes)
(39 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
* 10393 camera system
 
* 10393 camera system
 
{|
 
{|
|[[File:NC393-CS marked ports.jpeg|thumb|200px]]
+
|[[File:NC393-CS marked ports.jpeg|thumb|200px|Fig.1 10393 interfaces]]
 
|}
 
|}
 
* Power supply wall adapter (default: 18-75V, [[10393_power|more information]])
 
* Power supply wall adapter (default: 18-75V, [[10393_power|more information]])
Line 12: Line 12:
 
* μUSB-to-USB cable
 
* μUSB-to-USB cable
 
* Recovery μSD card
 
* Recovery μSD card
 +
 +
==<font color="blue">Interfaces</font>==
 +
See Fig.1:
 +
{| class="wikitable"
 +
|-
 +
! GigE
 +
| gigabit network
 +
|-
 +
! &mu;SD
 +
| micro SD card slot - boot or storage
 +
|-
 +
! console
 +
| serial console port, use &mu;USB-to-USB cable
 +
|-
 +
! eSATA+USB
 +
| 2-in-1. Connect USB or eSATA device. USB2.0 host
 +
|-
 +
! &mu;USB
 +
| USB2.0 host
 +
|-
 +
! sync
 +
| sync multiple cameras or other devices - input/output trigger signal through a 4-conductor 2.5mm audio plug (example: [http://www.digikey.com/products/en?keywords=839-1029-ND digikey])
 +
|}
  
 
==<font color="blue">Power on</font>==
 
==<font color="blue">Power on</font>==
Line 18: Line 41:
  
 
====Notes====
 
====Notes====
* Boot time: ~40s
+
* Boot time: ~30s
 
* The default boot is from the on-board NAND flash. [[Boot_options_393|More information]] on available boot options and recovery boot.
 
* The default boot is from the on-board NAND flash. [[Boot_options_393|More information]] on available boot options and recovery boot.
 
==<font color="blue">Connections</font>==
 
* Connect [[FPC_cables|sensors to system board]] - FPC cables are not symmetrical
 
* Ports:
 
{|
 
|[[File:NC393-CS marked ports.jpeg|thumb|200px]]
 
|}
 
* [[10393_power|Power supply]]
 
  
 
==<font color="blue">Defaults</font>==
 
==<font color="blue">Defaults</font>==
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 43: Line 57:
 
|}
 
|}
  
* The IP address is set in the ''/etc/elphel393/init_elphel393.py'' in the currenly mounted rootfs ("/").
+
* The default IP address is set in the ''/etc/elphel393/init_elphel393.py''.
 
 
==<font color="blue">init_elphel393.py</font>==
 
* /etc/elphel393/init_elphel393.py
 
 
 
 
 
  
 
==<font color="blue">Command line access</font>==
 
==<font color="blue">Command line access</font>==
ssh root@192.168.0.9
+
* ssh from PC terminal:
 +
$ ssh root@192.168.0.9
  
 
==<font color="blue">Serial console access</font>==
 
==<font color="blue">Serial console access</font>==
* Use a ''microUSB-USB cable'' to connect to PC - the cable's end should be thin enough otherwise interferes with the micro SD card.
+
* Use a ''microUSB-USB cable'' to connect '''console &mu;USB port''' (see Fig.1) to PC - the cable's end should be thin enough otherwise interferes with an inserted mmc ('''m'''ulti '''m'''edia '''c'''ard = &mu;SD card).
  
* Linux: '''minicom -c on'''
+
* In Linux the '''minicom''' program can be used
** likely device: <b>/dev/ttyUSB0</b>
+
$ minicom -c on
** settings: <b>115200 8N1, no</b> for hardware/software flow control
+
Most likely the device will be <b>/dev/ttyUSB0</b>. Settings:
 +
* <b>115200 8N1, no</b> for hardware/software flow control
  
==<font color="blue">web interface (camvc)</font>==
+
==<font color="blue">Web user interface (camvc)</font>==
http://192.168.0.9/closeme.html (will get changed soon)
+
http://192.168.0.9/closeme.html (type in the browser address bar - will be changed soon):
 +
* The page contains links to camvc user interface for each individual camera port.
 +
* camvc was ported from the 10353 camera series:
 +
** change parameters like image format, resolution, auto exposure, auto white balance and more.
 +
** pause compressor and search within buffered images
 +
** help tips available - see Fig.2 - select then mouse over a control element of interest
 +
{|
 +
| valign='top'|[[image:Help tips.jpeg|250px|thumb|Fig.2 enable camvc help tips]]
 +
|[[File:Controls with blank.jpeg|300px|thumb|Fig.3 camvc controls]]
 +
|}
  
==<font color="blue">Get images</font>==
+
==<font color="blue">Download live images</font>==
channel 1: http://192.168.0.9:2323/img
+
====camvc====
 +
* For a currently opened port (displayed in the window title and as "...sensor_port=0..." in the URL):
 +
{|
 +
|[[image:Camvc image capture.jpeg|250px|thumb|Fig.4 Acquire an image from the Camera Control Interface]]
 +
|}
  
channel 2: http://192.168.0.9:2324/img
+
====browser====
 +
port 0: http://192.168.0.9:2323/img
 +
port 1: http://192.168.0.9:2324/img
 +
port 2: http://192.168.0.9:2325/img
 +
port 3: http://192.168.0.9:2326/img
  
channel 3: http://192.168.0.9:2325/img
+
====command line====
 
+
wget http://192.168.0.9:2323/img -O filename.jpeg
channel 4: http://192.168.0.9:2326/img
+
wget http://192.168.0.9:2324/img -O filename.jpeg
 +
wget http://192.168.0.9:2325/img -O filename.jpeg
 +
wget http://192.168.0.9:2326/img -O filename.jpeg
  
 
==<font color="blue">Video</font>==
 
==<font color="blue">Video</font>==
Line 87: Line 117:
 
* More examples at [[Using_gstreamer#Display|Using GStreamer]]
 
* More examples at [[Using_gstreamer#Display|Using GStreamer]]
  
===Record===
+
===Record (to internal storage)===
 +
* Recording to internal storage is performed by the '''camogm''' program
 +
* <font color='red'>important:</font> Event logger (GPS, IMU, IMG, EXT) recording is started/stopped separately. See [[Tmp_manual#Record_the_Event_Logger_data_.28GPS.2CIMU.2CIMG_.26_EXT.29|instructions]] below.
 +
* For SATA devices camogm supports:
 +
** recording to a partition with a file system - up to 80MB/s
 +
** faster recording to a partition without a file system avoiding OS calls - up to 220MB/s
 +
* Can record to an mmc partiton as well.
 
* <b><font size='3' color='red'>[[Using_camogm_with_Elphel393_camera|More info]]</font></b>
 
* <b><font size='3' color='red'>[[Using_camogm_with_Elphel393_camera|More info]]</font></b>
* If the ''prefix'' parameter, which is ''absolute path + prefix'', for a channel is not set the file will be written somewhere to rootfs (likely '''/usr/local/verilog/''')
+
* If the ''prefix'' parameter, which is ''absolute path + prefix'', for a channel is not set the file will be written somewhere to rootfs
  
 
====browser====
 
====browser====
Example 1: (provide a correct media mount point)
+
Example 1: (provide a correct media mount point - /mnt/sda1/)
 
<font size='2'>
 
<font size='2'>
 
* http://192.168.0.9/camogmgui.php
 
* http://192.168.0.9/camogmgui.php
Line 107: Line 143:
 
  sync
 
  sync
 
</font>
 
</font>
 +
 +
==<font color="blue">Record the Event Logger data (GPS, IMU, IMG & EXT)</font>==
 +
* Start:
 +
http://192.168.0.9/logger_launcher.php?cmd=start&file=/mnt/sda1/test.log&index=1&n=10000000
 +
* Stop:
 +
http://192.168.0.9/logger_launcher.php?cmd=stop
 +
* Help:
 +
http://192.168.0.9/logger_launcher.php
  
 
==<font color="blue">Change parameters</font>==
 
==<font color="blue">Change parameters</font>==
* http://192.168.0.9/autocampars.php - read & write parameters (through parsedit.php), save configuration (if booted from NAND flash - "shutdown -r now" will sync changes or copy /etc/elphel393/*.xml to /tmp/rootfs.ro/etc/elphel393/ (lower layer of overlayfs), if booted from mmc - no need to reboot, just '''sync''')
+
* http://192.168.0.9/autocampars.php - read & change parameters (through parsedit.php), save configuration (if booted from NAND flash - "shutdown -r now" will sync changes or copy /etc/elphel393/*.xml to /tmp/rootfs.ro/etc/elphel393/ (lower layer of overlayfs), if booted from mmc - no need to reboot, just '''sync''')
 
* parsedit.php
 
* parsedit.php
The response is in XML form:
+
 
 +
Single call - XML response:
  
 
Read:
 
Read:
 
  http://192.168.0.9/parsedit.php?immediate&sensor_port=0&PAR1&PAR2
 
  http://192.168.0.9/parsedit.php?immediate&sensor_port=0&PAR1&PAR2
 
Change:
 
Change:
http://192.168.0.9/parsedit.php?immediate&sensor_port=0&PAR1=VAL1&PAR2=VAL2
+
* single call: http://192.168.0.9/parsedit.php?immediate&sensor_port=0&PAR1=VAL1&PAR2=VAL2
  
 
Note 1: It's just if the parameter value is specified it will be applied. The call can have mixed specified and unspecified parameters.
 
Note 1: It's just if the parameter value is specified it will be applied. The call can have mixed specified and unspecified parameters.
Line 130: Line 175:
 
==<font color="blue">Temperature monitor</font>==
 
==<font color="blue">Temperature monitor</font>==
 
* http://192.168.0.9/hwmon.html:
 
* http://192.168.0.9/hwmon.html:
** T<sub>shutdown</sub> - automatic shutdown temperature level
+
** T<sub>shutdown</sub> - automatic shutdown temperature level (default is 90&deg;C)
 
{|
 
{|
 
|[[File:10393_hwmon.jpeg|thumb|200px]]
 
|[[File:10393_hwmon.jpeg|thumb|200px]]
Line 138: Line 183:
 
* if not properly shutdown - &mu;SD might get corrupted (run '''sync''' at least)
 
* if not properly shutdown - &mu;SD might get corrupted (run '''sync''' at least)
 
  shutdown -hP now
 
  shutdown -hP now
 +
The same can be achieved by calling:
 +
http://192.168.0.9/autocampars.php?reboot
  
==<font color="blue">Firmware image</font>==
+
==<font color="blue">Firmware images</font>==
* [http://community.elphel.com/files/393/20160804/ 20160804 (new)]
 
** root/pass
 
** overlayfs enabled if rootfs is on flash - lower: ''/tmp/rootfs.ro'', upper: ''/tmp/rootfs.rw'' - changes to the filesystem are made on:
 
reboot -f
 
or
 
shutdown -hP now
 
or (most likely will work but correct work is not guaranteed)
 
overlay_sync
 
 
 
* [http://community.elphel.com/files/393/20160626/ 20160626 (old)]
 
** python scripts moved to /tmp - dependencies create ''pyc''s
 
** init_elphel393.sh moved from &mu;SD card to ''/etc'' in rootfs - boot from flash doesn't require an inserted card for '''fixed''' boards.
 
** default IP address changed to 192.168.0.9 as in the image built from our repositories.
 
* [http://community.elphel.com/files/393/20160622/ 20160622 (old)]
 
* [http://community.elphel.com/files/393/20160614/ 20160614 (old)]
 
* [http://community.elphel.com/files/393/20160607/ 20160607 (old)]
 
* [http://community.elphel.com/files/393/20160601/ 20160601 (old)]
 
* [http://community.elphel.com/files/393/20160526/ 20160526 (old)]
 
* [http://community.elphel.com/files/393/20160524/ 20160524 (old)]
 
* [http://community.elphel.com/files/393/20160519/ 20160519 (old)]
 
  
 
==<font color="blue">Known problems</font>==
 
==<font color="blue">Known problems</font>==

Revision as of 17:10, 19 December 2016

Important Notes

In the package

  • 10393 camera system
Fig.1 10393 interfaces
  • Power supply wall adapter (default: 18-75V, more information)
  • CAT6 network cable
  • μUSB-to-USB cable
  • Recovery μSD card

Interfaces

See Fig.1:

GigE gigabit network
μSD micro SD card slot - boot or storage
console serial console port, use μUSB-to-USB cable
eSATA+USB 2-in-1. Connect USB or eSATA device. USB2.0 host
μUSB USB2.0 host
sync sync multiple cameras or other devices - input/output trigger signal through a 4-conductor 2.5mm audio plug (example: digikey)

Power on

  • Plug in the power supply
  • Connect to LAN using the network cable

Notes

  • Boot time: ~30s
  • The default boot is from the on-board NAND flash. More information on available boot options and recovery boot.

Defaults

IP Address 192.168.0.9
User root
Password pass
  • The default IP address is set in the /etc/elphel393/init_elphel393.py.

Command line access

  • ssh from PC terminal:
$ ssh root@192.168.0.9

Serial console access

  • Use a microUSB-USB cable to connect console μUSB port (see Fig.1) to PC - the cable's end should be thin enough otherwise interferes with an inserted mmc (multi media card = μSD card).
  • In Linux the minicom program can be used
$ minicom -c on

Most likely the device will be /dev/ttyUSB0. Settings:

  • 115200 8N1, no for hardware/software flow control

Web user interface (camvc)

http://192.168.0.9/closeme.html (type in the browser address bar - will be changed soon):

  • The page contains links to camvc user interface for each individual camera port.
  • camvc was ported from the 10353 camera series:
    • change parameters like image format, resolution, auto exposure, auto white balance and more.
    • pause compressor and search within buffered images
    • help tips available - see Fig.2 - select then mouse over a control element of interest
Fig.2 enable camvc help tips
Fig.3 camvc controls

Download live images

camvc

  • For a currently opened port (displayed in the window title and as "...sensor_port=0..." in the URL):
Fig.4 Acquire an image from the Camera Control Interface

browser

port 0: http://192.168.0.9:2323/img
port 1: http://192.168.0.9:2324/img
port 2: http://192.168.0.9:2325/img
port 3: http://192.168.0.9:2326/img

command line

wget http://192.168.0.9:2323/img -O filename.jpeg
wget http://192.168.0.9:2324/img -O filename.jpeg
wget http://192.168.0.9:2325/img -O filename.jpeg
wget http://192.168.0.9:2326/img -O filename.jpeg

Video

Display

Multipart JPEG stream

http://192.168.0.9:2323/mimg
http://192.168.0.9:2324/mimg
http://192.168.0.9:2325/mimg
http://192.168.0.9:2326/mimg

GStreamer

gst-launch-1.0 souphttpsrc is-live=true location=http://192.168.0.9:2323/mimg ! jpegdec ! xvimagesink

Record (to internal storage)

  • Recording to internal storage is performed by the camogm program
  • important: Event logger (GPS, IMU, IMG, EXT) recording is started/stopped separately. See instructions below.
  • For SATA devices camogm supports:
    • recording to a partition with a file system - up to 80MB/s
    • faster recording to a partition without a file system avoiding OS calls - up to 220MB/s
  • Can record to an mmc partiton as well.
  • More info
  • If the prefix parameter, which is absolute path + prefix, for a channel is not set the file will be written somewhere to rootfs

browser

Example 1: (provide a correct media mount point - /mnt/sda1/)

command line

Example:

  • channel 2, /home/root, file prefix=test_, 1GB or 10min files whichever occurs first
    • setup and start (in one line):
echo "format=mov;status=/var/tmp/camogm.status;prefix=/home/root/test_;duration=600;length=1073741824;start" > /var/volatile/camogm_cmd
    • stop recording:
echo "stop" > /var/volatile/camogm_cmd
sync

Record the Event Logger data (GPS, IMU, IMG & EXT)

  • Start:

http://192.168.0.9/logger_launcher.php?cmd=start&file=/mnt/sda1/test.log&index=1&n=10000000

  • Stop:

http://192.168.0.9/logger_launcher.php?cmd=stop

  • Help:

http://192.168.0.9/logger_launcher.php

Change parameters

  • http://192.168.0.9/autocampars.php - read & change parameters (through parsedit.php), save configuration (if booted from NAND flash - "shutdown -r now" will sync changes or copy /etc/elphel393/*.xml to /tmp/rootfs.ro/etc/elphel393/ (lower layer of overlayfs), if booted from mmc - no need to reboot, just sync)
  • parsedit.php

Single call - XML response:

Read:

http://192.168.0.9/parsedit.php?immediate&sensor_port=0&PAR1&PAR2

Change:

Note 1: It's just if the parameter value is specified it will be applied. The call can have mixed specified and unspecified parameters.

Note 2: The new value is read on the next call.

Notes

  • parsedit.php and autocampars.php were ported from 353 camera series. There are a few changes from the originals related to 4x sensor ports:
    • parameters are individual for each sensor port - writing parameters to multiple port at once is controlled with a (bit-)mask input box
    • if opened w/o sensor_port specified the page will show links to available ports
    • sensor_port=x, where x=0..3 - in the address string - for a single sensor camera it is normally 0

Temperature monitor

10393 hwmon.jpeg

Proper shutdown

  • if not properly shutdown - μSD might get corrupted (run sync at least)
shutdown -hP now

The same can be achieved by calling:

http://192.168.0.9/autocampars.php?reboot

Firmware images

Known problems

  • [solved] Vertical artifacts in jpegs. Images are ok at 100% quality. Fixed, testing.
  • http://192.168.0.9:232x/noexif/mimg - multipart jpeg displays corrupted frames from time to time. Reason: network bandwidth?
  • [solved] Sometimes on power-on (NAND flash boot) cannot mount the card's rootfs partition. Kernel Panics. Power off/on. Soft "reboot -f" works ok.
...
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
...

More info

  • Changing exposure/quality/gains - can corrupt images - needs testing.
  • After rewriting rootfs to μSD card - some of the cards get a corrupted partition - re-partitioning (reformatting?) solves the problem.
On the camera the rootfs is mounted as RW and some of the files are changed (also links created) -
most of the changes are now moved to tmpfs but something might have been missed.


Notes

  • In case rootfs is on flash, it might make sense (or maybe not as the history is updated only once on session exit) to disable bash sessions command history - disable bash history