-
Notifications
You must be signed in to change notification settings - Fork 0
/
ptz.sh
executable file
·173 lines (154 loc) · 6.56 KB
/
ptz.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#!/bin/bash
dev1_host='192.168.80.102'; dev1_port='80'; dev1_user='admin'; dev1_pwd=''; CameraName='Front_Gate';
dev2_host='192.168.80.102'; dev2_port='80'; dev2_user='admin'; dev2_pwd='';
dev3_host='192.168.80.102'; dev3_port='80'; dev3_user='admin'; dev3_pwd='';
dev4_host='192.168.80.102'; dev4_port='80'; dev4_user='admin'; dev4_pwd='';
dev5_host='192.168.80.102'; dev5_port='80'; dev5_user='admin'; dev5_pwd='';
dev6_host='192.168.80.102'; dev6_port='80'; dev6_user='admin'; dev6_pwd='';
dev7_host='192.168.80.102'; dev7_port='80'; dev7_user='admin'; dev7_pwd='';
dev8_host='192.168.80.102'; dev8_port='80'; dev8_user='admin'; dev8_pwd='';
dev9_host='192.168.80.102'; dev9_port='80'; dev9_user='admin'; dev9_pwd='';
nCurSel=0;
source ~/bin/libs/menu.inc
cd ~/tmp/ptz
rm *
MENU() {
#### l=top left, w=top center, k=top right
#### t=middle left, n=middle center, u=middle right
#### m=bottom left, v=bottom center, j=bottom right
#### q=horizontal
#### x=vertical
#### $V=vertical + end line drawing
#### $L=start line drawing $l=end line drawing
#### ${L}lqqqwqqqk${l}
#### ${L}x x x${l}
#### ${L}tqqqnqqqu${l}
#### $V $V $V
#### ${L}mqqqvqqqj${l}
if [[ z"${MCLR}" == z"-R" ]]; then RUN="${B}RUN${b} "; else RUN="${B}STOP${b}"; fi
if ${CAPTURE}; then RECORD=" ${B}Yes${b} "; else RECORD=" ${B}No${b} "; fi
(( Fp = COLUMNS - 33 )); # Filename Pad Length
(( Qp = COLUMNS - 50 )); # Filename BOX Pad Length
FILEtgt_=`BoldCrop $Fp "${FILEtgt:=/tmp/record_camera_$nCurSel.mpg}"`;
CameraName_="`BoldCrop $Fp "${CameraName}"`";
Spare_1=`BoldCrop 13 ""`;
Col="${COLUMNS} "; Col="${Col:0:4}";
Row="${LINES} "; Row="${Row:0:4}";
clear;
cat <<EOF
http://192.168.80.102/videostream.cgi?user=admin&pwd=&resolution=32&rate=0
${L}lqqqqqqqqqqw RECORDING qqqklqqq TGT FILE qqq${Q:0:$Qp}qqqk$l
${V} $V $RECORD $V$V ${FILEtgt_} $V
${L}tq q q q q v q q q q q q qumqqqqqqqqqqqqqqqq${Q:0:$Qp}qqqj$l
${V} 1 R - Record $L xlqqq CAMERA qqq${Q:0:$Qp}qqqk$l
${V} 2 ? - $L x$V ${CameraName_} $V
${V} 3 T - Change Target $L xmqqqqqqqqqqqqqqqq${Q:0:$Qp}qqqj$l
${L}tqqqqqqqqqqqqqqqqqqqqqqqqqul$l PTZ Control $L qqqqqkl ********** qqqk $l
${V} ? - $L x$V W - Tilt UP $L x$V $Spare_1 $V $l
${V} ? - $L x$V Z - Tilt Down $L xmqqqqqqqqqqqqqqqj $l
${V} ? - $L x$V A - Pan Left $L xlqqqqqqqqqqqqqqqk
${L}t q q q q q q q q q q q q u$V S - Pan Right $L x$V COLUMNS=$Col $V
${V} ? - $L x$V ? - Scan Up/Down $L xx LINES=$Row $V
${V} ? - $L x$V ? - Scan Left/Right $L xmqqqqqqqqqqqqqqqj
${L}t q q q q q q q q q q q q umqqqqqqqqqqqqqqqqqqqqqqqqqj
${V} X - eXit $L x
${L}mqqqqqqqqqqqqqqqqqqqqqqqqqj
${l} Selection?
EOF
tput cuu1; tput cuf 15; # position cursor one space after "Selection?"
}
GetKey() {
K=99;
until [[ "123AaSsWwZzRrTtXx " =~ $K ]]; do # include space in key list so that a screen redraw may be forced
read -sn1 K;
unset JUNK; read -t0.1 -n5 JUNK; #swallow anycompound keys eg. esc sequences generated by arrow keys.
K=${K:0:1};
test ${K:= }; # if K=null make K=99 otherwise K matches all tests in main!!!!!
echo -en "${K^^}$(tput el)\b"; # The 'tput el' stops screen garbage if an esc char is printed.
done
echo;
}
MAIN() {
K=99;
until [[ "Xx" =~ ${K:0:1} ]]; do
MENU;
GetKey;
echo;
if [[ "1Rr" =~ ${K:0:1} ]]; then ToggleMclr;
elif [[ "2" =~ ${K:0:1} ]]; then true;
elif [[ "3Tt" =~ ${K:0:1} ]]; then ChangeFile;
elif [[ "Aa" =~ ${K:0:1} ]]; then { ptz_control $PTZ_LEFT; sleep $PTZ_Run_Time; ptz_control $PTZ_STOP; }
elif [[ "Ss" =~ ${K:0:1} ]]; then { ptz_control $PTZ_RIGHT; sleep $PTZ_Run_Time; ptz_control $PTZ_STOP; }
elif [[ "Ww" =~ ${K:0:1} ]]; then { ptz_control $PTZ_UP; sleep $PTZ_Run_Time; ptz_control $PTZ_STOP; }
elif [[ "Zz" =~ ${K:0:1} ]]; then { ptz_control $PTZ_DOWN; sleep $PTZ_Run_Time; ptz_control $PTZ_STOP; }
fi
done
if [[ "X" =~ $K ]]; then $0 "$FILE"; fi
echo -e "\n\n"
}
PtzSpeed_Speed=4;
PtzSpeed_First=0;
PTZ_Run_Time=0.1;
#PTZ direction
PTZ_UP=0;
PTZ_UP_STOP=1;
PTZ_DOWN=2;
PTZ_DOWN_STOP=3;
PTZ_LEFT=4;
PTZ_LEFT_STOP=5;
PTZ_RIGHT=6;
PTZ_RIGHT_STOP=7;
PTZ_LEFT_UP=90;
PTZ_RIGHT_UP=91;
PTZ_LEFT_DOWN=92;
PTZ_RIGHT_DOWN=93;
PTZ_STOP=1;
PTZ_CENTER=25;
#Down / horizontal patrol
PTZ_VPATROL=26;
PTZ_VPATROL_STOP=27;
PTZ_HPATROL=28;
PTZ_HPATROL_STOP=29;
function getScript()
{
url="$1";
wget "$url"
}
function getHttpHost()
{
cgiUrl="$1";
#//return ("http://192.168.1.126:81/"+cgiUrl+"?loginuse=admin&loginpas=888888");
#if(nCurSel == 0) { return (cgiUrl+"?loginuse="+loginuser+"&loginpas="+loginpass);}
if ((nCurSel == 0)); then { echo 'http://'"$dev1_host"':'"$dev1_port"'/'"$cgiUrl"'?loginuse='"$dev1_user"'&loginpas='"$dev1_pwd"; CameraName='Front Gate'; }
elif ((nCurSel == 1)); then { echo "http://$dev2_host:$dev2_port/$cgiUrl?loginuse=$dev2_user&loginpas=$dev2_pwd"; CameraName='unknown 2'; }
elif ((nCurSel == 2)); then { echo "http://$dev3_host:$dev3_port/$cgiUrl?loginuse=$dev3_user&loginpas=$dev3_pwd"; CameraName='unknown 3'; }
elif ((nCurSel == 3)); then { echo "http://$dev4_host:$dev4_port/$cgiUrl?loginuse=$dev4_user&loginpas=$dev4_pwd"; CameraName='unknown 4'; }
elif ((nCurSel == 4)); then { echo "http://$dev5_host:$dev5_port/$cgiUrl?loginuse=$dev5_user&loginpas=$dev5_pwd"; CameraName='unknown 5'; }
elif ((nCurSel == 5)); then { echo "http://$dev6_host:$dev6_port/$cgiUrl?loginuse=$dev6_user&loginpas=$dev6_pwd"; CameraName='unknown 6'; }
elif ((nCurSel == 6)); then { echo "http://$dev7_host:$dev7_port/$cgiUrl?loginuse=$dev7_user&loginpas=$dev7_pwd"; CameraName='unknown 7'; }
elif ((nCurSel == 7)); then { echo "http://$dev8_host:$dev8_port/$cgiUrl?loginuse=$dev8_user&loginpas=$dev8_pwd"; CameraName='unknown 8'; }
elif ((nCurSel == 8)); then { echo "http://$dev9_host:$dev9_port/$cgiUrl?loginuse=$dev9_user&loginpas=$dev9_pwd"; CameraName='unknown 9'; }
fi
}
function ptz_control()
{
command="$1";
url=`getHttpHost "decoder_control.cgi"`;
url+='&command='"$command";
url+='&onestep=0';
url+='&'`date "+%s%N"`;
getScript "$url";
}
function camera_control()
{
param="$1";
value="$2";
url=`getHttpHost "camera_control.cgi"`;
url+='¶m='"$param"'&value='"$value";
url+='&'`date "+%s%N"`;
#//alert(url);
getScript "$url";
}
MAIN;
echo -e "\n\n";
exit 0;