Skip to content

Commit 5eea744

Browse files
authored
Merge pull request #87 from moeiscool/dev
Sarutobi
2 parents 7785eea + 278d606 commit 5eea744

File tree

21 files changed

+1730
-785
lines changed

21 files changed

+1730
-785
lines changed

COPYING

Lines changed: 617 additions & 282 deletions
Large diffs are not rendered by default.

INSTALL/centos.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ yum install epel-release -y
66
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
77
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
88
yum install ffmpeg ffmpeg-devel nodejs npm mariadb mariadb-server -y
9+
sudo npm cache clean -f
10+
sudo npm install -g n
11+
sudo n stable
912
#Start mysql and enable on boot
1013
systemctl start mariadb
1114
systemctl enable mariadb

INSTALL/ubuntu.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
echo "Shinobi - Get dependencies"
33
#apt-get install ffmpeg
44
apt-get install libav-tools nodejs npm mysql-server -y
5+
sudo npm cache clean -f
6+
sudo npm install -g n
7+
sudo n stable
58
echo "Shinobi - Linking node to nodejs"
69
ln -s /usr/bin/nodejs /usr/bin/node
710

LICENSE

Lines changed: 617 additions & 282 deletions
Large diffs are not rendered by default.

camera.js

Lines changed: 215 additions & 170 deletions
Large diffs are not rendered by default.

conf.sample.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,12 @@
88
"password": "",
99
"database": "ccio",
1010
"port":3306
11-
}
12-
}
11+
},
12+
"mail":{
13+
"service": "gmail",
14+
"auth": {
15+
"user": "your_email@gmail.com",
16+
"pass": "your_password_or_app_specific_password"
17+
}
18+
}
19+
}

plugins/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
opencv-python
1+
opencv-python
2+
ccv

plugins/opencv/shinobi-opencv.js

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -54,24 +54,13 @@ io.on('f',function(d){
5454
if(err){console.log(err);return false;}
5555
if(mats&&mats.length>0){
5656
d.details.EYE_CASCADE=mats;
57-
// for (var i=0;i<mats.length; i++){
58-
// var x = mats[i];
59-
// im.ellipse(x.x + x.width/2, x.y + x.height/2, x.width/2, x.height/2);
60-
// }
61-
s.cx({f:'trigger',id:d.id,ke:d.ke})
57+
s.cx({f:'trigger',id:d.id,ke:d.ke,details:{plug:'opencv',EYE_CASCADE:mats}})
6258
}
6359
im.detectObject(cv.FACE_CASCADE, {}, function(err, mats){
6460
if(err){console.log(err);return false;}
6561
if(mats&&mats.length>0){
6662
d.details.FACE_CASCADE=mats;
67-
// for (var i=0;i<mats.length; i++){
68-
// var x = mats[i];
69-
// im.ellipse(x.x + x.width/2, x.y + x.height/2, x.width/2, x.height/2);
70-
// }
71-
if(d.mon.detector_save==='1'){
72-
sql.query('INSERT INTO Events (ke,mid,details) VALUES (?,?,?)',[d.ke,d.id,JSON.stringify(d.details)])
73-
}
74-
s.cx({f:'trigger',id:d.id,ke:d.ke})
63+
s.cx({f:'trigger',id:d.id,ke:d.ke,details:{plug:'opencv',FACE_CASCADE:mats}})
7564
// s.cx({f:'frame',frame:im.toBuffer(),id:d.id,ke:d.ke})
7665
}
7766
});
@@ -82,10 +71,7 @@ io.on('f',function(d){
8271
if(err){console.log(err);return false;}
8372
if(mats&&mats.length>0){
8473
d.details.FULLBODY_CASCADE=mats;
85-
if(d.mon.detector_save==='1'){
86-
sql.query('INSERT INTO Events (ke,mid,details) VALUES (?,?,?)',[d.ke,d.id,JSON.stringify(d.details)])
87-
}
88-
s.cx({f:'trigger',id:d.id,ke:d.ke})
74+
s.cx({f:'trigger',id:d.id,ke:d.ke,details:{plug:'opencv',FULLBODY_CASCADE:mats}})
8975
}
9076
})
9177
}
@@ -94,10 +80,7 @@ io.on('f',function(d){
9480
if(err){console.log(err);return false;}
9581
if(mats&&mats.length>0){
9682
d.details.CAR_SIDE_CASCADE=mats;
97-
if(d.mon.detector_save==='1'){
98-
sql.query('INSERT INTO Events (ke,mid,details) VALUES (?,?,?)',[d.ke,d.id,JSON.stringify(d.details)])
99-
}
100-
s.cx({f:'trigger',id:d.id,ke:d.ke})
83+
s.cx({f:'trigger',id:d.id,ke:d.ke,details:{plug:'opencv',CAR_SIDE_CASCADE:mats}})
10184
}
10285
})
10386
}

plugins/stemkoski/conf.sample.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"plug":"stemkoski",
33
"host":"localhost",
4-
"port":"80"
4+
"port":8080
55
}

plugins/stemkoski/shinobi-stemkoski.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ s.differenceAccuracy=function(target, data1, data2) {
8585
s.checkAreas=function(d,mon){
8686
var cords=mon.cords;
8787
if(!mon.detector_sensitivity||mon.detector_sensitivity==''||isNaN(mon.detector_sensitivity)){mon.detector_sensitivity=0.5}
88+
try{cords=JSON.parse(mon.cords)}catch(er){cords=[]}
89+
if(!cords||mon.cords instanceof Array===false){cords=[]}
8890
if(mon.detector_frame==='1'){
8991
cords.push({name:'frame',s:mon.detector_sensitivity,x:0,y:0,w:s.img[d.id].width,h:s.img[d.id].height});
9092
}
@@ -107,7 +109,7 @@ s.checkAreas=function(d,mon){
107109
if (average > cords[b].sensitivity){
108110
// console.log('Possible Motion : '+cords[b].name); // do stuff
109111
//tell server you got some motion
110-
s.cx({f:'trigger',id:d.id,ke:d.ke,details:{plug:config.plug,name:cords[b].name,reason:'motion',confidence:average}})
112+
s.cx({f:'trigger',id:d.id,ke:d.ke,frame:d.buffer,details:{plug:config.plug,name:cords[b].name,reason:'motion',confidence:average}})
111113

112114
}
113115
}
@@ -149,6 +151,10 @@ io.on('f',function(d){
149151
s.img[d.id].width=d.mon.detector_scale_x;
150152
s.img[d.id].height=d.mon.detector_scale_y;
151153
}
154+
if(s.img[d.id].width===0||s.img[d.id].height===0){
155+
s.img[d.id].width=d.mon.detector_scale_x;
156+
s.img[d.id].height=d.mon.detector_scale_y;
157+
}
152158
s.img[d.id].src = d.buffer;
153159
if(!s.canvas[d.id]){
154160
s.canvas[d.id] = new Canvas(s.img[d.id].width,s.img[d.id].height);
@@ -168,7 +174,7 @@ io.on('f',function(d){
168174
console.log(err)
169175
}
170176
s.blender(d.id);
171-
s.checkAreas({id:d.id,ke:d.ke},d.mon);
177+
s.checkAreas({id:d.id,ke:d.ke,buffer:d.buffer},d.mon);
172178
d.buffer=null;
173179
}
174180
break;

0 commit comments

Comments
 (0)