Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
eyesis4pi-393-gui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
eyesis4pi-393-gui
Commits
28517d8b
Commit
28517d8b
authored
Oct 13, 2016
by
Oleg Dzhimiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more changes
parent
9362d75a
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
299 additions
and
191 deletions
+299
-191
camogm.js
camogm.js
+10
-3
client.php
client.php
+47
-13
eyesis4pi.js
eyesis4pi.js
+58
-58
eyesis4pi_get_sensors.php
eyesis4pi_get_sensors.php
+1
-4
eyesis_daemon.php
eyesis_daemon.php
+32
-6
recorder_single.php
recorder_single.php
+32
-7
tabs.js
tabs.js
+10
-9
tests.js
tests.js
+89
-71
tests.php
tests.php
+20
-19
index.js
tests393/index.js
+0
-1
No files found.
camogm.js
View file @
28517d8b
...
...
@@ -56,9 +56,11 @@ function camogm_create_table(){
if
(
camogm_en
)
{
table_html
=
"<tr>
\n
\
t<td></td>
\n
\
t<td align='center'>SSD free space</td>
\n
<td> Buffer (important when recording)</td></tr>"
;
for
(
var
i
=
0
;
i
<
n
;
i
++
)
{
table_html
+=
"<tr>
\n
\
t<td>camera "
+
(
i
+
1
)
+
"</td><td id='cam"
+
(
i
+
1
)
+
"_hdd' align='right'></td><td><div id='buffer"
+
(
i
+
1
)
+
"_sum' class='buffer'><div id='buffer"
+
(
i
+
1
)
+
"' style='width:200px;' class='buffer_free'>free</div></div></td></tr>"
;
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
)
{
table_html
+=
"<tr>
\n
\
t<td>channel "
+
(
i
+
1
)
+
"</td><td id='cam"
+
i
+
"_hdd' align='right'></td><td><div id='buffer"
+
i
+
"_sum' class='buffer'><div id='buffer"
+
i
+
"' style='width:200px;' class='buffer_free'>free</div></div></td></tr>"
;
}
}
$
(
"#hdd_free_space"
).
html
(
table_html
);
...
...
@@ -110,7 +112,12 @@ function camogm_parse_status(data){
var
buf_used
;
var
buf_sum
;
for
(
var
i
=
0
;
i
<
n
;
i
++
)
{
//$(data).find('cam')
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
)
{
buf_free
=
+
$
(
data
).
find
(
'cam'
+
(
i
+
1
)).
find
(
'camogm_state'
).
find
(
'buffer_free'
).
text
();
buf_used
=
+
$
(
data
).
find
(
'cam'
+
(
i
+
1
)).
find
(
'camogm_state'
).
find
(
'buffer_used'
).
text
();
buf_sum
=
buf_free
+
buf_used
;
...
...
client.php
View file @
28517d8b
...
...
@@ -4,20 +4,41 @@ $cmd = "do_nothing";
if
(
isset
(
$_GET
[
'cmd'
]))
$cmd
=
$_GET
[
'cmd'
];
if
(
isset
(
$_GET
[
'interval'
]))
$interval
=
$_GET
[
'interval'
];
if
(
isset
(
$_GET
[
'master_ip'
]))
$master_ip
=
$_GET
[
'master_ip'
];
else
$master_ip
=
"221"
;
if
(
isset
(
$_GET
[
'n'
]))
$n
=
$_GET
[
'n'
];
//skip mask isnot needed
if
(
isset
(
$_GET
[
'mask'
]))
$mask
=
$_GET
[
'mask'
];
if
(
$cmd
==
"launch"
)
launch
();
else
if
(
$cmd
==
"set_path"
)
set_path
(
$cmd
,
$_GET
[
'path'
],
$master_ip
,
$n
,
$mask
,
$_GET
[
'subfolder'
],
$_GET
[
'limit'
]);
else
get_state
(
$cmd
,
$interval
,
$n
,
$mask
,
$master_ip
);
// keys assign
//example: rq=192.168.0.161:2323:0:0,192.168.0.162:2324:1:1
$cams
=
array
();
if
(
isset
(
$_GET
[
'rq'
])){
$pars
=
explode
(
","
,
$_GET
[
'rq'
]);
foreach
(
$pars
as
$val
){
$ip
=
strtok
(
$val
,
":"
);
$port
=
strtok
(
":"
);
$channel
=
strtok
(
":"
);
$master
=
strtok
(
":"
);
array_push
(
$cams
,
array
(
'ip'
=>
$ip
,
'port'
=>
$port
,
'channel'
=>
$channel
,
'master'
=>
$master
));
if
(
$master
==
"1"
){
$master_ip
=
$ip
;
$master_port
=
$port
;
$master_channel
=
$channel
;
}
}
}
if
(
$cmd
==
"launch"
)
{
launch
();
}
else
if
(
$cmd
==
"set_path"
){
set_path
(
$cmd
,
$_GET
[
'path'
],
$mask
,
$_GET
[
'subfolder'
],
$_GET
[
'limit'
]);
}
else
{
get_state
(
$cmd
,
$interval
,
$mask
);
}
function
launch
(){
$status
=
system
(
"./eyesis_daemon.php >
>
/data/footage/daemon_log.txt &"
);
$status
=
system
(
"./eyesis_daemon.php > /data/footage/daemon_log.txt &"
);
echo
"
d
aemon started"
;
echo
"
D
aemon started"
;
// if (!$status) {
// $response = "fail";
...
...
@@ -38,16 +59,29 @@ function launch(){
}
function
get_state
(
$cmd
,
$interval
,
$n
,
$mask
,
$ip
){
$cmd
=
"<msg><cmd>
$cmd
</cmd><interval>
$interval
</interval><ip>
$ip
</ip><n>
$n
</n><mask>
$mask
</mask></msg>"
;
function
get_camstr
(){
global
$cams
;
$msg
=
""
;
for
(
$i
=
0
;
$i
<
count
(
$cams
);
$i
++
){
$msg
.=
"<cam>
\n
"
;
$msg
.=
" <ip>
{
$cams
[
$i
][
'ip'
]
}
</ip>"
;
$msg
.=
" <port>
{
$cams
[
$i
][
'port'
]
}
</port>"
;
$msg
.=
" <channel>
{
$cams
[
$i
][
'channel'
]
}
</channel>"
;
$msg
.=
" <master>
{
$cams
[
$i
][
'master'
]
}
</master>"
;
$msg
.=
"</cam>
\n
"
;
}
return
$msg
;
}
function
get_state
(
$cmd
,
$interval
,
$mask
){
$cmd
=
"<msg><cmd>
$cmd
</cmd><interval>
$interval
</interval>"
.
get_camstr
()
.
"<mask>
$mask
</mask></msg>"
;
send_msg
(
$cmd
);
}
function
set_path
(
$cmd
,
$path
,
$
ip
,
$n
,
$
mask
,
$subfolder
,
$limit
){
function
set_path
(
$cmd
,
$path
,
$mask
,
$subfolder
,
$limit
){
$msg
=
"<msg>
\n
"
;
$msg
.=
"<cmd>
$cmd
</cmd>
\n
"
;
$msg
.=
"<n>
$n
</n>
\n
"
;
$msg
.=
"<ip>
$ip
</ip>
\n
"
;
$msg
.=
get_camstr
();
$msg
.=
"<mask>
$mask
</mask>
\n
"
;
$msg
.=
"<path>
$path
</path>
\n
"
;
$msg
.=
"<subfolder>
$subfolder
</subfolder>
\n
"
;
...
...
eyesis4pi.js
View file @
28517d8b
...
...
@@ -34,18 +34,27 @@ var pc_gps_imu_device_name = "/dev/sda1";
var
camogm_rec_delay
=
5
;
var
cams
=
new
Array
(
Array
(
1
,
1
,
1
),
Array
(
1
,
1
,
1
),
Array
(
1
,
1
,
1
),
Array
(
1
,
1
,
1
),
Array
(
1
,
1
,
1
),
Array
(
1
,
1
,
1
),
Array
(
1
,
1
,
1
),
Array
(
1
,
1
,
1
),
Array
(
1
,
0
,
0
),
Array
(
1
,
0
,
0
)
);
var
cams
=
[
{
"ip"
:
"192.168.0.161"
,
"port"
:
2326
,
"channel"
:
3
,
"master"
:
0
},
{
"ip"
:
"192.168.0.161"
,
"port"
:
2325
,
"channel"
:
2
,
"master"
:
0
},
{
"ip"
:
"192.168.0.161"
,
"port"
:
2323
,
"channel"
:
0
,
"master"
:
0
},
{
"ip"
:
"192.168.0.161"
,
"port"
:
2324
,
"channel"
:
1
,
"master"
:
0
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2326
,
"channel"
:
3
,
"master"
:
0
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2325
,
"channel"
:
2
,
"master"
:
0
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2323
,
"channel"
:
0
,
"master"
:
0
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2324
,
"channel"
:
1
,
"master"
:
0
},
{
"ip"
:
"192.168.0.163"
,
"port"
:
2325
,
"channel"
:
2
,
"master"
:
1
},
{
"ip"
:
"192.168.0.163"
,
"port"
:
2326
,
"channel"
:
3
,
"master"
:
0
}
];
function
get_master_index
(){
for
(
var
i
=
0
;
i
<
cam
.
length
;
i
++
){
if
(
cams
[
i
].
master
==
1
){
return
i
;
}
}
return
-
1
;
}
function
check_footage_path
(){
$
.
ajax
({
...
...
@@ -120,13 +129,12 @@ function init(){
camogm_cmd
(
"run_status"
,
false
,
camogm_parse_state
);
}
//master_ip = $("#address_field1").val().substr(-3,3);
var
tmp
=
"192.168.0."
+
master_ip
;
var
tmp
=
cams
[
get_master_index
()]
;
master_ip
=
tmp
.
substr
(
-
3
,
3
);
var
param_string
=
"/parsedit.php?title=Parameters&COLOR&AUTOEXP_ON&EXPOS&AUTOEXP_EXP_MAX&AEXP_LEVEL&AEXP_FRACPIX&QUALITY&CORING_INDEX&MULTI_MODE&MULTI_SELECTED&MULTI_FLIPH&MULTI_FLIPV&TRIG&TRIG_PERIOD&HISTWND_RLEFT&HISTWND_RTOP&HISTWND_RWIDTH&HISTWND_RHEIGHT&HDR_DUR&HDR_VEXPOS&EXP_AHEAD'>Parameters page</a> "
;
for
(
var
i
=
0
;
i
<
n
;
i
++
)
{
$
(
"#cam"
+
(
i
+
1
)
+
"_parameters"
).
html
(
" <a href='http://192.168.0."
+
(
+
master_ip
+
i
)
+
param_string
);
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
)
{
var
param_string
=
"/parsedit.php?title=Parameters&sensor_port="
+
cams
[
i
].
channel
+
"&COLOR&AUTOEXP_ON&EXPOS&AUTOEXP_EXP_MAX&AEXP_LEVEL&AEXP_FRACPIX&QUALITY&CORING_INDEX&MULTI_MODE&MULTI_SELECTED&MULTI_FLIPH&MULTI_FLIPV&TRIG&TRIG_PERIOD&HISTWND_RLEFT&HISTWND_RTOP&HISTWND_RWIDTH&HISTWND_RHEIGHT&HDR_DUR&HDR_VEXPOS&EXP_AHEAD'>Parameters page</a> "
;
$
(
"#cam"
+
i
+
"_parameters"
).
html
(
" <a href='http://"
+
(
cams
[
i
].
ip
)
+
param_string
);
}
$
(
"#input_skip_frames"
).
attr
(
'title'
,
"Lower 8-bits set the mask, where 1=enabled, 0=disabled (the sequence period is 8 frames). For example, to skip every second frame apply 0x155"
);
...
...
@@ -159,6 +167,7 @@ function init(){
//update_cf_index();
master_ip_change_init
();
$
(
"#single_shots_div"
).
attr
(
"href"
,
"single.html?ip="
+
master_ip
+
"&n="
+
n
+
"&mode=5"
+
"&period="
+
(
$
(
"#input_trigger_period"
).
val
()
*
96000
));
$
(
"#system_tests_div"
).
attr
(
"href"
,
"tests.html?master_ip="
+
master_ip
+
"&n="
+
n
);
...
...
@@ -291,7 +300,7 @@ function send_cmd(cmd){
}
else
{
console
.
log
(
"Trigger interval is "
+
download_interval
);
$
.
ajax
({
url
:
"client.php?cmd="
+
cmd
+
"&
master_ip="
+
master_ip
+
"&n="
+
n
+
"&interval="
+
download_interval
+
"&mask="
+
mask
,
url
:
"client.php?cmd="
+
cmd
+
"&
rq="
+
get_rq_str
()
+
"&interval="
+
download_interval
+
"&mask="
+
mask
,
success
:
function
(
data
){
$
(
"#status"
).
html
(
data
);
$
(
"#daemon_state"
).
html
(
data
);
...
...
@@ -314,6 +323,17 @@ function send_cmd(cmd){
}
}
function
get_rq_str
(){
var
rq_str
=
""
;
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
){
if
(
i
!=
0
){
rq_str
+=
","
;
}
rq_str
+=
cams
[
i
].
ip
+
":"
+
cams
[
i
].
port
+
":"
+
cams
[
i
].
channel
+
":"
+
cams
[
i
].
master
;
}
return
rq_str
;
}
function
settings_activate
()
{
if
(
!
$
(
"#settings"
).
is
(
":visible"
))
{
$
(
"#settings"
).
css
({
top
:
'50px'
,
left
:
'10px'
,
'z-index'
:
3
}).
fadeToggle
(
300
,
function
(){
...
...
@@ -525,37 +545,25 @@ function refresh_images(){
refresh_images_eyesis
();
}
function
convert_source_393
(
mip
,
mip_index
){
var
d
=
new
Date
();
var
curr_time
=
d
.
getTime
();
//var cam = 0,1,2,3, 4,5,6,7, 8
var
tmp_port
=
2323
+
Math
.
floor
(
mip_index
/
4
);
var
tmp_ip
=
"http://192.168.0."
+
(
+
mip
+
(
Math
.
floor
(
mip_index
/
4
)))
+
":"
+
tmp_port
+
"/bimg?"
+
curr_time
;
return
tmp_ip
;
}
function
refresh_images_eyesis
(){
var
d
=
new
Date
();
var
curr_time
=
d
.
getTime
();
var
pic
=
new
Object
();
for
(
i
=
0
;
i
<
n
;
i
++
)
{
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
){
pic
[
i
]
=
new
Image
();
//add ip increment here
//pic[i].src="http://192.168.0."+(+master_ip+i)+":8081/bimg?"+curr_time;
pic
[
i
].
src
=
convert_source_393
(
master_ip
,
i
);
pic
[
i
].
src
=
"http://"
+
cams
[
i
].
ip
+
":"
+
cams
[
i
].
port
+
"/bimg?"
+
curr_time
;
pic
[
i
].
index
=
i
;
pic
[
i
].
onload
=
function
(){
var
w
=
200
;
var
h
=
150
;
var
W
=
2592
;
var
H
=
1944
;
var
cnv
=
document
.
getElementById
(
'cam'
+
(
this
.
index
+
1
)
+
'_canvas'
);
var
cnv
=
document
.
getElementById
(
"cam_"
+
this
.
index
+
"_canvas"
);
var
cContext
=
cnv
.
getContext
(
'2d'
);
cnv
.
setAttribute
(
'width'
,
h
);
cnv
.
setAttribute
(
'height'
,
3
*
w
);
cContext
.
rotate
(
90
*
Math
.
PI
/
180
);
...
...
@@ -566,28 +574,20 @@ function refresh_images_eyesis(){
//if ((this.index==0)||(this.index==1)||(this.index==7)) k = 3;
if
(
this
.
index
%
2
==
0
)
{
if
(
cams
[
this
.
index
][
0
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
0
*
H
,
W
,
H
,
0
*
w
,
-
1
*
h
,
w
,
h
);
if
(
cams
[
this
.
index
][
1
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
1
*
H
,
W
,
H
,
1
*
w
,
-
1
*
h
,
w
,
h
);
//for those who has 3 images
if
(
k
==
3
)
{
cContext
.
scale
(
-
1
,
1
);
if
(
cams
[
this
.
index
][
2
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
2
*
H
,
W
,
H
,
-
3
*
w
,
-
1
*
h
,
w
,
h
);
}
cContext
.
drawImage
(
this
,
0
,
0
*
H
,
W
,
H
,
0
*
w
,
-
1
*
h
,
w
,
h
);
cContext
.
drawImage
(
this
,
0
,
1
*
H
,
W
,
H
,
1
*
w
,
-
1
*
h
,
w
,
h
);
cContext
.
scale
(
-
1
,
1
);
cContext
.
drawImage
(
this
,
0
,
2
*
H
,
W
,
H
,
-
3
*
w
,
-
1
*
h
,
w
,
h
);
}
else
{
cContext
.
scale
(
1
,
-
1
);
//mirror is needed
if
(
cams
[
this
.
index
][
0
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
0
*
H
,
W
,
H
,
0
*
w
,
0
*
h
,
w
,
h
);
if
(
cams
[
this
.
index
][
1
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
1
*
H
,
W
,
H
,
1
*
w
,
0
*
h
,
w
,
h
);
//for those who has 3 images
if
(
k
==
3
)
{
cContext
.
scale
(
-
1
,
1
);
if
(
cams
[
this
.
index
][
2
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
2
*
H
,
W
,
H
,
-
3
*
w
,
h
*
(
0
),
w
,
h
);
}
cContext
.
drawImage
(
this
,
0
,
0
*
H
,
W
,
H
,
0
*
w
,
0
*
h
,
w
,
h
);
cContext
.
drawImage
(
this
,
0
,
1
*
H
,
W
,
H
,
1
*
w
,
0
*
h
,
w
,
h
);
cContext
.
scale
(
-
1
,
1
);
cContext
.
drawImage
(
this
,
0
,
2
*
H
,
W
,
H
,
-
3
*
w
,
h
*
(
0
),
w
,
h
);
}
};
}
}
}
function
refresh_images_triclops
(){
...
...
@@ -624,10 +624,10 @@ function refresh_histograms(){
var
d
=
new
Date
();
var
curr_time
=
d
.
getTime
();
for
(
var
i
=
0
;
i
<
n
;
i
++
){
var
src
=
"http://
192.168.0."
+
((
+
master_ip
)
+
i
)
+
"/pnghist.cgi?
sqrt=1&scale=5&average=5&height=128&fillz=1&linterpz=0&draw=2&colors=41&_time="
+
curr_time
;
$
(
"#cam"
+
(
i
+
1
)
+
"_hist"
).
attr
(
"src"
,
src
);
$
(
"#cam"
+
(
i
+
1
)
+
"_hist_front"
).
attr
(
"src"
,
src
);
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
){
var
src
=
"http://
"
+
cams
[
i
].
ip
+
"/pnghist.cgi?sensor_port="
+
cams
[
i
].
channel
+
"&
sqrt=1&scale=5&average=5&height=128&fillz=1&linterpz=0&draw=2&colors=41&_time="
+
curr_time
;
$
(
"#cam"
+
i
+
"_hist"
).
attr
(
"src"
,
src
);
$
(
"#cam"
+
i
+
"_hist_front"
).
attr
(
"src"
,
src
);
}
}
...
...
eyesis4pi_get_sensors.php
View file @
28517d8b
...
...
@@ -44,13 +44,10 @@ if (isset($elp_const["elphel"])) {
}
//defaults
$master_ip
=
221
;
$n
=
1
;
$res_xml
=
""
;
$cams
=
array
();
// keys assign
$cams
=
array
();
if
(
isset
(
$_GET
[
'rq'
])){
$pars
=
explode
(
","
,
$_GET
[
'rq'
]);
foreach
(
$pars
as
$val
){
...
...
eyesis_daemon.php
View file @
28517d8b
...
...
@@ -21,7 +21,10 @@ $socket = stream_socket_server("tcp://$address:$port", $errno, $errstr);
$status
=
"idle"
;
$ip
=
221
;
$master_ip
=
""
;
$master_port
=
""
;
$master_channel
=
""
;
$interval
=
1000
;
$old_status_en
=
true
;
...
...
@@ -43,8 +46,20 @@ if (!$socket) {
$cmd
=
$xml
->
cmd
;
$interval
=
$xml
->
interval
;
$ip
=
$xml
->
ip
;
$n
=
$xml
->
n
;
$cams
=
array
();
foreach
(
$xml
->
cam
as
$item
){
array_push
(
$cams
,
array
(
'ip'
=>
(
$item
->
ip
),
'port'
=>
(
$item
->
port
),
'channel'
=>
(
$item
->
channel
),
'master'
=>
(
$item
->
master
)));
if
(
$item
->
master
==
"1"
){
$master_ip
=
$item
->
ip
;
$master_port
=
$item
->
port
;
$master_channel
=
$item
->
channel
;
}
}
//$ip = $xml->ip;
//$n = $xml->n;
$mask
=
$xml
->
mask
;
if
(
$cmd
==
"set_path"
)
{
...
...
@@ -68,8 +83,10 @@ if (!$socket) {
if
(
$cmd
==
"stop"
)
{
system
(
"killall -9 recorder.php"
);
$ci
=
$interval
*
96000
;
$fp
=
fopen
(
"http://192.168.0.
$ip
/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue="
.
(
$ci
+
1
),
'r'
);
$fp
=
fopen
(
"http://192.168.0.
$ip
/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue="
.
(
$ci
),
'r'
);
$fp
=
fopen
(
"http://
$master_ip
/camogmgui/camogm_interface.php?sensor_port=
$master_channel
&cmd=set_parameter&pname=TRIG_PERIOD&pvalue="
.
(
$ci
+
1
),
'r'
);
$fp
=
fopen
(
"http://
$master_ip
/camogmgui/camogm_interface.php?sensor_port=
$master_channel
&cmd=set_parameter&pname=TRIG_PERIOD&pvalue="
.
(
$ci
),
'r'
);
$status
=
"idle"
;
}
...
...
@@ -105,7 +122,7 @@ if (!$socket) {
$footage_index
=
update_subsubdir
(
"
$footage_root_path
/
$footage_subfolder
"
,
$footage_index
,
$footage_file_limit
,
$index_max
=
1
);
if
(
$footage_index
>=
0
)
{
passthru
(
"./recorder.php
"
.
$ip
.
" "
.
$n
.
" "
.
$interval
.
" "
.
$mask
.
" "
.
$footage_root_path
.
" "
.
$footage_subfolder
.
" "
.
$footage_file_limit
.
" "
.
$footage_index
.
" >
> /dev/null 2>&1 &"
);
passthru
(
"./recorder.php
'"
.
get_rq_str
(
$cams
)
.
"'
$interval
$mask
$footage_root_path
$footage_subfolder
$footage_file_limit
$footage_index
> /dev/null 2>&1 &"
);
}
}
...
...
@@ -116,4 +133,13 @@ if (!$socket) {
fclose
(
$socket
);
}
function
get_rq_str
(
$a
){
$rq_str
=
""
;
for
(
$i
=
0
;
$i
<
count
(
$a
);
$i
++
){
if
(
$i
!=
0
)
$rq_str
.=
","
;
$rq_str
.=
"
{
$a
[
$i
][
'ip'
]
}
:
{
$a
[
$i
][
'port'
]
}
:
{
$a
[
$i
][
'channel'
]
}
:
{
$a
[
$i
][
'master'
]
}
"
;
}
return
$rq_str
;
}
?>
\ No newline at end of file
recorder_single.php
View file @
28517d8b
...
...
@@ -2,14 +2,34 @@
include
'filesystem.php'
;
$ip
=
$_GET
[
'ip'
];
$n
=
$_GET
[
'n'
];
$root_path
=
$_GET
[
'root_path'
];
$subfolder
=
$_GET
[
'subfolder'
];
$index
=
0
;
$file_limit
=
3000
;
$master_ip
=
""
;
$master_port
=
""
;
$master_channel
=
""
;
// keys assign
$cams
=
array
();
if
(
isset
(
$_GET
[
'rq'
])){
$pars
=
explode
(
","
,
$_GET
[
'rq'
]);
foreach
(
$pars
as
$val
){
$ip
=
strtok
(
$val
,
":"
);
$port
=
strtok
(
":"
);
$channel
=
strtok
(
":"
);
$master
=
strtok
(
":"
);
array_push
(
$cams
,
array
(
'ip'
=>
$ip
,
'port'
=>
$port
,
'channel'
=>
$channel
,
'master'
=>
$master
));
if
(
$master
==
"1"
){
$master_ip
=
$ip
;
$master_port
=
$port
;
$master_channel
=
$channel
;
}
}
}
$path
=
$root_path
.
"/"
.
$subfolder
;
$error
=
false
;
...
...
@@ -28,10 +48,15 @@ if (!is_dir($path)) {
umask
(
$old
);
}
if
(
$fp
=
@
simplexml_load_file
(
"http://192.168.0.
$ip
:8081/trig/pointers"
))
{
$system_status
=
system
(
"./images.sh
$ip
$n
$path
"
);
$fp
=
fopen
(
"http://192.168.0.
$ip
/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=192000001"
,
'r'
);
$fp
=
fopen
(
"http://192.168.0.
$ip
/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=192000000"
,
'r'
);
if
(
$fp
=
simplexml_load_file
(
"http://
$master_ip
:
$master_port
/trig/pointers"
))
{
//$system_status = system("./images.sh $ip $n $path");
for
(
$i
=
0
;
$i
<
count
(
$cams
);
$i
++
){
exec
(
"./get_image.sh
\"
{
$cams
[
$i
][
'ip'
]
}
:
{
$cams
[
$i
][
'port'
]
}
/bimg
\"
\"
${path}
\"
\"
${i}.jp4
\"
> /dev/null 2>&1 &"
);
}
//why fopen?
$fp
=
fopen
(
"http://
$master_ip
/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=192000001&sensor_port=
$master_channel
"
,
'r'
);
$fp
=
fopen
(
"http://
$master_ip
/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=192000000&sensor_port=
$master_channel
"
,
'r'
);
//$fp = fopen("http://192.168.0.221:8081/trig/pointers",'r');
//$fp = fopen("http://192.168.0.221:8081/trig/pointers",'r');
//$fp = fopen("http://192.168.0.221:8081/trig/pointers",'r');
...
...
tabs.js
View file @
28517d8b
...
...
@@ -79,12 +79,13 @@ function tab1_init(mode){
function
tab3_init
(){
var
c
=
"<table>
\n
"
;
var
tmp
=
""
;
for
(
var
i
=
0
;
i
<
(
n
);
i
++
)
{
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
)
{
//reset tmp
tmp
=
"<tr>
\n
"
;
tmp
+=
"
\
t<td><div class='fixed_height'>C
amera "
+
(
i
+
1
)
+
" "
+
((
i
==
0
)?
"master"
:
""
)
+
"</div></td>"
;
tmp
+=
"
\
t<td><div class='fixed_height'><input id='address_field"
+
(
i
+
1
)
+
"' type='text' style='width:200px;' value='192.168.0."
+
(
+
master_ip
+
i
)
+
"' disabled></div></td>
\n
"
;
tmp
+=
"
\
t<td><div id='cam"
+
(
i
+
1
)
+
"_parameters'></div></td>
\n
"
;
tmp
+=
"
\
t<td><div class='fixed_height'>C
hannel "
+
(
i
+
1
)
+
"</div></td>"
;
tmp
+=
"
\
t<td><div class='fixed_height'><input id='address_field"
+
i
+
"' type='text' style='width:150px;' value='"
+
(
cams
[
i
].
ip
)
+
"' disabled><input id='address_field_chn"
+
i
+
"' type='text' style='width:150px;' value='"
+
(
cams
[
i
].
channel
)
+
"' disabled></div></td>
\n
"
;
tmp
+=
"
\
t<td><div id='cam"
+
i
+
"_parameters'></div></td>
\n
"
;
c
+=
tmp
;
}
c
+=
"</table>"
;
...
...
@@ -97,7 +98,7 @@ function tab3_init(){
function
previews_init
(){
console
.
log
(
"number of previews is "
+
n
);
console
.
log
(
"number of previews is "
+
cams
.
length
);
var
c
=
$
(
"#previews"
).
html
();
var
hist_front
=
""
;
...
...
@@ -105,18 +106,18 @@ function previews_init(){
c
+=
"<div style='padding:2px 5px 2px 5px;width:310px;'><button id='btn_refresh' onclick='refresh_previews()' >refresh</button> (disabled while recording)</div>
\n
<table id='prevs_images' >
\n
"
;
c
+=
"<tr valign=top>
\n
"
;
for
(
var
i
=
1
;
i
<
(
n
+
1
)
;
i
++
)
{
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
)
{
c
+=
"<td><img id='cam"
+
i
+
"_hist' class='histograms' width='150' height='75'></td>"
;
hist_front
+=
"<td style='padding:0px;'><img id='cam"
+
i
+
"_hist_front' class='histograms' width='70' height='35'></td>"
;
}
c
+=
"</tr>
\n
<tr valign=top>
\n
"
;
for
(
var
i
=
1
;
i
<
(
n
+
1
)
;
i
++
)
{
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
)
{
c
+=
"<td><canvas id='cam"
+
i
+
"_canvas' class='prevs'></canvas></td>"
;
}
c
+=
"</tr>
\n
<tr valign=top>
\n
"
;
for
(
var
i
=
1
;
i
<
(
n
+
1
)
;
i
++
)
{
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
)
{
var
extra
=
""
;
if
(
i
==
9
)
extra
=
" (stereo)"
;
//
if (i==9) extra = " (stereo)";
c
+=
"<td align='center'>"
+
i
+
extra
+
"</td>"
;
}
c
+=
"</tr></table>"
;
...
...
tests.js
View file @
28517d8b
...
...
@@ -9,18 +9,27 @@ var working_intvl = false;
var
eyesis4pi_en
=
true
;
var
cams
=
[
{
"ip"
:
"192.168.0.161"
,
"port"
:
2326
,
"channel"
:
3
},
{
"ip"
:
"192.168.0.161"
,
"port"
:
2325
,
"channel"
:
2
},
{
"ip"
:
"192.168.0.161"
,
"port"
:
2323
,
"channel"
:
0
},
{
"ip"
:
"192.168.0.161"
,
"port"
:
2324
,
"channel"
:
1
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2326
,
"channel"
:
3
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2325
,
"channel"
:
2
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2323
,
"channel"
:
0
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2324
,
"channel"
:
1
},
{
"ip"
:
"192.168.0.163"
,
"port"
:
2325
,
"channel"
:
2
},
{
"ip"
:
"192.168.0.163"
,
"port"
:
2326
,
"channel"
:
3
}
{
"ip"
:
"192.168.0.161"
,
"port"
:
2326
,
"channel"
:
3
,
"master"
:
0
},
{
"ip"
:
"192.168.0.161"
,
"port"
:
2325
,
"channel"
:
2
,
"master"
:
0
},
{
"ip"
:
"192.168.0.161"
,
"port"
:
2323
,
"channel"
:
0
,
"master"
:
0
},
{
"ip"
:
"192.168.0.161"
,
"port"
:
2324
,
"channel"
:
1
,
"master"
:
0
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2326
,
"channel"
:
3
,
"master"
:
0
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2325
,
"channel"
:
2
,
"master"
:
0
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2323
,
"channel"
:
0
,
"master"
:
0
},
{
"ip"
:
"192.168.0.162"
,
"port"
:
2324
,
"channel"
:
1
,
"master"
:
0
},
{
"ip"
:
"192.168.0.163"
,
"port"
:
2325
,
"channel"
:
2
,
"master"
:
1
},
{
"ip"
:
"192.168.0.163"
,
"port"
:
2326
,
"channel"
:
3
,
"master"
:
0
}
];
function
get_master_index
(){
for
(
var
i
=
0
;
i
<
cam
.
length
;
i
++
){
if
(
cams
[
i
].
master
==
1
){
return
i
;
}
}
return
-
1
;
}
function
parseURL
()
{
var
parameters
=
location
.
href
.
replace
(
/
\?
/ig
,
"&"
).
split
(
"&"
);
for
(
var
i
=
0
;
i
<
parameters
.
length
;
i
++
)
parameters
[
i
]
=
parameters
[
i
].
split
(
"="
);
...
...
@@ -138,8 +147,16 @@ function test4_update_gps(text){
}
function
test3_internal_cf_cards
(){
rqstr
=
""
;
tmparr
=
get_unique_ips
();
for
(
var
i
=
0
;
i
<
tmparr
.
length
;
i
++
){
if
(
i
!=
0
)
rqstr
+=
","
;
rqstr
+=
tmparr
[
i
];
}
$
.
ajax
({
url
:
"tests.php?cmd=cf_cards&
master_ip="
+
master_ip
+
"&n="
+
n
,
url
:
"tests.php?cmd=cf_cards&
rq="
+
rqstr
,
async
:
true
,
success
:
function
(
response
){
test3_update_cards
(
response
);
...
...
@@ -148,35 +165,42 @@ function test3_internal_cf_cards(){
});
}
function
get_unique_ips
(){
res
=
[];
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
){
if
(
res
.
indexOf
(
cams
[
i
].
ip
)
==-
1
)
{
res
.
push
(
cams
[
i
].
ip
);
}
}
return
res
;
}
function
test3_update_cards
(
text
){
var
html
=
""
;
var
data
=
$
(
text
).
find
(
"Document"
);
var
h
da1
;
var
h
db1
;
var
s
da1
;
var
s
db1
;
var
tmp_ip
;
for
(
var
i
=
0
;
i
<
n
;
i
++
){
tmp_ip
=
data
.
find
(
"cam"
+
i
).
find
(
"ip"
).
text
()
hda1
=
data
.
find
(
"cam"
+
i
).
find
(
"hda1"
).
text
();
hdb1
=
data
.
find
(
"cam"
+
i
).
find
(
"hdb1"
).
text
();
data
.
find
(
"cam"
).
each
(
function
(){
tmp_ip
=
$
(
this
).
find
(
"ip"
).
text
();
sda
=
$
(
this
).
find
(
"sda"
).
text
();
html
+=
"<td>"
+
tmp_ip
+
"</td>
\n
"
;
if
(
hda1
==
"1"
)
html
+=
"<td align='center'><div class='square green'></div></td>
\n
"
;
else
html
+=
"<td></td>
\n
"
;
if
(
hdb1
==
"1"
)
html
+=
"<td align='center'><div class='square green'></div></td>
\n
"
;
if
(
sda
==
"1"
)
html
+=
"<td align='center'><div class='square green'></div></td>
\n
"
;
else
html
+=
"<td></td>
\n
"
;
html
=
"<tr>"
+
html
+
"</tr>"
;
}
html
+=
"<table><tr><td></td><td style='padding:7px;'>
hda1</td><td>hdb1
</td></tr>"
+
html
+
"</table>"
;
}
);
html
+=
"<table><tr><td></td><td style='padding:7px;'>
sda
</td></tr>"
+
html
+
"</table>"
;
$
(
"#test_3_div"
).
html
(
html
);
//run the next test
test4_gps
();
//
test4_gps();
}
function
test1_get_number_of_sensors
(){
...
...
@@ -185,7 +209,7 @@ function test1_get_number_of_sensors(){
if
(
i
!=
0
){
rq_str
+=
","
;
}
rq_str
+=
cams
[
i
]
[
'ip'
]
+
":"
+
cams
[
i
][
'channel'
]
;
rq_str
+=
cams
[
i
]
.
ip
+
":"
+
cams
[
i
].
channel
;
}
$
.
ajax
({
...
...
@@ -220,8 +244,8 @@ function test1_update_cams(text){
}
else
{
if
(
j
==
0
)
{
html
+=
"<tr>"
;
html
+=
"<td>"
+
cams
[
i
]
[
'ip'
]
+
"</td>"
;
html
+=
"<td style='padding:0px 20px 0px 23px;'>"
+
cams
[
i
]
[
'channel'
]
+
"</td>"
;
html
+=
"<td>"
+
cams
[
i
]
.
ip
+
"</td>"
;
html
+=
"<td style='padding:0px 20px 0px 23px;'>"
+
cams
[
i
]
.
channel
+
"</td>"
;
}
res0
=
$
(
this
).
find
(
"chn0"
).
text
();
...
...
@@ -249,8 +273,8 @@ function test1_update_cams(text){
$
(
"#test_1_div"
).
html
(
html
);
//run test2
clearInterval
(
working_intvl
);
//
test3_internal_cf_cards();
//
clearInterval(working_intvl);
test3_internal_cf_cards
();
}
...
...
@@ -269,54 +293,48 @@ function set_parameter(ip,par,val,async,callback){
}
function
refresh_images
(){
var
d
=
new
Date
();
var
curr_time
=
d
.
getTime
();
var
pic
=
new
Object
();
var
d
=
new
Date
();
var
curr_time
=
d
.
getTime
();
var
pic
=
new
Object
();
for
(
i
=
0
;
i
<
n
;
i
++
)
{
pic
[
i
]
=
new
Image
();
//add ip increment here
pic
[
i
].
src
=
"http://192.168.0."
+
(
+
master_ip
+
i
)
+
":8081/bimg?"
+
curr_time
;
pic
[
i
].
index
=
i
;
for
(
var
i
=
0
;
i
<
cams
.
length
;
i
++
){
pic
[
i
]
=
new
Image
();
pic
[
i
].
src
=
"http://"
+
cams
[
i
].
ip
+
":"
+
cams
[
i
].
port
+
"/bimg?"
+
curr_time
;
pic
[
i
].
index
=
i
;
pic
[
i
].
onload
=
function
(){
var
w
=
200
;
var
h
=
150
;
var
W
=
2592
;
var
H
=
1944
;
pic
[
i
].
onload
=
function
(){
var
w
=
150
;
var
h
=
112
;
var
W
=
2592
;
var
H
=
1944
;
var
cnv
=
document
.
getElementById
(
"cam_"
+
this
.
index
+
"_canvas"
);
var
cContext
=
cnv
.
getContext
(
'2d'
);
cnv
.
setAttribute
(
'width'
,
h
);
cnv
.
setAttribute
(
'height'
,
3
*
w
);
cContext
.
rotate
(
90
*
Math
.
PI
/
180
);
var
cnv
=
document
.
getElementById
(
'cam'
+
(
this
.
index
+
1
)
+
'_canvas'
);
var
cContext
=
cnv
.
getContext
(
'2d'
);
cnv
.
setAttribute
(
'width'
,
h
);
cnv
.
setAttribute
(
'height'
,
3
*
w
);
cContext
.
rotate
(
90
*
Math
.
PI
/
180
);
var
k
=
3
;
var
k
=
3
;
//mask out 2s
//if ((this.index==0)||(this.index==1)||(this.index==7)) k = 3;
//mask out 2s
//if ((this.index==0)||(this.index==1)||(this.index==7)) k = 3;
if
(
this
.
index
%
2
==
0
)
{
cContext
.
drawImage
(
this
,
0
,
0
*
H
,
W
,
H
,
0
*
w
,
-
1
*
h
,
w
,
h
);
cContext
.
drawImage
(
this
,
0
,
1
*
H
,
W
,
H
,
1
*
w
,
-
1
*
h
,
w
,
h
);
cContext
.
scale
(
-
1
,
1
);
cContext
.
drawImage
(
this
,
0
,
2
*
H
,
W
,
H
,
-
3
*
w
,
-
1
*
h
,
w
,
h
);
}
else
{
cContext
.
scale
(
1
,
-
1
);
//mirror is needed
cContext
.
drawImage
(
this
,
0
,
0
*
H
,
W
,
H
,
0
*
w
,
0
*
h
,
w
,
h
);
cContext
.
drawImage
(
this
,
0
,
1
*
H
,
W
,
H
,
1
*
w
,
0
*
h
,
w
,
h
);
cContext
.
scale
(
-
1
,
1
);
cContext
.
drawImage
(
this
,
0
,
2
*
H
,
W
,
H
,
-
3
*
w
,
h
*
(
0
),
w
,
h
);
}
if
(
this
.
index
%
2
==
0
)
{
if
(
cams
[
this
.
index
][
0
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
0
*
H
,
W
,
H
,
0
*
w
,
-
1
*
h
,
w
,
h
);
if
(
cams
[
this
.
index
][
1
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
1
*
H
,
W
,
H
,
1
*
w
,
-
1
*
h
,
w
,
h
);
//for those who has 3 images
if
(
k
==
3
)
{
cContext
.
scale
(
-
1
,
1
);
if
(
cams
[
this
.
index
][
2
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
2
*
H
,
W
,
H
,
-
3
*
w
,
-
1
*
h
,
w
,
h
);
}
}
else
{
cContext
.
scale
(
1
,
-
1
);
//mirror is needed
if
(
cams
[
this
.
index
][
0
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
0
*
H
,
W
,
H
,
0
*
w
,
0
*
h
,
w
,
h
);
if
(
cams
[
this
.
index
][
1
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
1
*
H
,
W
,
H
,
1
*
w
,
0
*
h
,
w
,
h
);
//for those who has 3 images
if
(
k
==
3
)
{
cContext
.
scale
(
-
1
,
1
);
if
(
cams
[
this
.
index
][
2
]
==
1
)
cContext
.
drawImage
(
this
,
0
,
2
*
H
,
W
,
H
,
-
3
*
w
,
h
*
(
0
),
w
,
h
);
}
}
}
}
};
}
}
function
previews_init
(){
...
...
tests.php
View file @
28517d8b
...
...
@@ -40,34 +40,35 @@ $cmd = "cf_cards";
// keys assign
foreach
(
$_GET
as
$key
=>
$value
)
{
switch
(
$key
)
{
case
"master_ip"
:
$master_ip
=
$value
+
0
;
break
;
case
"n"
:
$n
=
$value
+
0
;
break
;
case
"temperature"
:
$temperature
=
true
;
break
;
case
"cmd"
:
$cmd
=
$value
;
break
;
}
}
$pc_time
=@
getdate
();
// calculate cameras ip addresses based on $master_ip & $n - simple increment from the master camera.
for
(
$i
=
0
;
$i
<
$n
;
$i
++
)
{
$cam_ip
[
$i
]
=
"192.168.0."
.
(
$master_ip
+
$i
);
// keys assign
$cams
=
array
();
if
(
isset
(
$_GET
[
'rq'
])){
$pars
=
explode
(
","
,
$_GET
[
'rq'
]);
foreach
(
$pars
as
$ip
){
array_push
(
$cams
,
array
(
'ip'
=>
$ip
));
}
}
$pc_time
=@
getdate
();
if
(
$cmd
==
"cf_cards"
){
$cf_hda1
=
@
preg_match
(
"/hda1/"
,
$cf_contents
);
$cf_hdb1
=
@
preg_match
(
"/hdb1/"
,
$cf_contents
);
for
(
$i
=
0
;
$i
<
$n
;
$i
++
)
{
$cf_contents
=
@
file_get_contents
(
"http://"
.
(
$cam_ip
[
$i
])
.
"/phpshell.php?command=cat%20/proc/partitions%20|%20grep%20'hd'"
);
$cf_hda1
=
@
preg_match
(
"/hda1/"
,
$cf_contents
);
$cf_hdb1
=
@
preg_match
(
"/hdb1/"
,
$cf_contents
);
$res_xml
.=
"
\t
<cam
$i
>
\n
"
;
$res_xml
.=
"
\t\t
<ip>"
.
$cam_ip
[
$i
]
.
"</ip>
\n
"
;
$res_xml
.=
"
\t\t
<hda1>
$cf_hda1
</hda1>
\n
"
;
$res_xml
.=
"
\t\t
<hdb1>
$cf_hdb1
</hdb1>
\n
"
;
$res_xml
.=
"
\t
</cam
$i
>
\n
"
;
for
(
$i
=
0
;
$i
<
count
(
$cams
);
$i
++
)
{
$cf_contents
=
file_get_contents
(
"http://
{
$cams
[
$i
][
'ip'
]
}
/camogm_interface.php?cmd=list_partitions"
);
$cf_sda
=
preg_match
(
"/sda/"
,
$cf_contents
);
$cf_sdb
=
preg_match
(
"/sdb/"
,
$cf_contents
);
$res_xml
.=
"
\t
<cam>
\n
"
;
$res_xml
.=
"
\t\t
<ip>
{
$cams
[
$i
][
'ip'
]
}
</ip>
\n
"
;
$res_xml
.=
"
\t\t
<sda>
$cf_sda
</sda>
\n
"
;
$res_xml
.=
"
\t\t
<sdb>
$cf_sdb
</sdb>
\n
"
;
$res_xml
.=
"
\t
</cam>
\n
"
;
}
$res_xml
=
"<Document>
\n
"
.
$res_xml
.
"</Document>"
;
...
...
tests393/index.js
View file @
28517d8b
...
...
@@ -69,5 +69,4 @@ function refresh_images_eyesis(){
};
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment