Stap 8: Definitief te combineren de drie programma's die zijn getest om te worden van een camera-val die rechtstreeks kunnen worden uploded aan sociale media als twitter.
Ten slotte Video
Het schrijven van dit programma en Sla op als Combine.js:
Instellen van de input van onze GPIO pin 8
var Twitter = require('twitter');
var client = nieuwe Twitter ({}
consumer_key: 'PZSlqMDYLx00qYi9RhW7yoI0r',
consumer_secret: 'NFM6ydkdJ5cM4SB8cNR0YU2hraROzZTUrMD6F8xSxM8xkYn5gb',
access_token_key: ' 3838434318-lOfl9zj8gaNxxYXupIrVm5eOhEA0Tjs0Z4oYVyJ',
access_token_secret: 'cqmYv4LRABph3LL2dO1ROJi9teN5HZqldq9GHWryVlx1e'
});
var mraa = require('mraa');
var motionSensor = nieuwe mraa. GPIO(8);
var geleid = nieuwe mraa. GPIO(13);
motionSensor.dir (mraa. DIR_IN);
LED.dir (mraa. DIR_OUT);
console.log ("Start capture");
functie run_cmd (cmd, args, callBack) {}
var spawn = require('child_process').spawn;
var kind = spawn (cmd, args);
var resp = "";
Child.StdOut.on ('data', functie (buffer) {resp += buffer.toString()});
Child.StdOut.on ('end', function {terugbellen (resp)});
}
periodicActivity();
functie periodicActivity()
{
Lees onze sensor
var motionSensorTriggered = motionSensor.read();
Dingen te doen als onze sensor HIGH wordt gelezen
if(motionSensorTriggered) {}
gegevens van de var = require('fs').readFileSync('/home/root/picture.jpg');
client.post (' media/upload', {media: gegevens}, functie (error fout,, media,, reactie) {}
Als (! fout) {}
Als dat lukt, zal een media-object worden geretourneerd.
console.log(media);
Laat het tweet
de status van de var = {}
status: 'Nieuwe afbeelding van #intelEdison #IOT',
media_ids: media.media_id_string / / de media id-tekenreeks in het Pass}
client.post (' statussen/update', status, functie (fout, tweet, reactie) {}
Als (! fout) {}
console.log(Tweet);
}
});
}
});
vangen
run_cmd ("rm", ['-f', ' / home/root/picture.jpg'], function(text) {console.log (tekst)});
console.log ("verwijderen laatste capture");
run_cmd ("/ home/root/bin/ffmpeg/ffmpeg", ['-s', '800 x 600', '-f', 'video4linux2', '-ik ', '/ dev/video0', '-vframes', '1', 'picture.jpg'], function(text) {console.log (tekst)});
console.log ("capture gedaan");
LED.write(1);
setTimeout (periodicActivity, 5000);
} else {}
LED.write(0);
setTimeout (periodicActivity, 100);
}
}