Étape 8: Enfin à combiner les trois programmes qui ont été testés pour devenir une caméra piègent pouvant être directement uploded de médias sociaux comme twitter.
Enfin en vidéo
Écrire ce programme et l’enregistrer en tant que Combine.js:
Mettre en place notre entrée GPIO pour broche 8
var Twitter = require('twitter') ;
var client = nouveau Twitter ({
consumer_key: « PZSlqMDYLx00qYi9RhW7yoI0r »,
consumer_secret: « NFM6ydkdJ5cM4SB8cNR0YU2hraROzZTUrMD6F8xSxM8xkYn5gb »,
access_token_key: ' 3838434318-lOfl9zj8gaNxxYXupIrVm5eOhEA0Tjs0Z4oYVyJ',
access_token_secret: « cqmYv4LRABph3LL2dO1ROJi9teN5HZqldq9GHWryVlx1e »
});
mraa var = require('mraa') ;
var motionSensor = new mraa. GPIO(8) ;
var mené = nouveau mraa. GPIO(13) ;
motionSensor.dir (mraa. DIR_IN) ;
LED.dir (mraa. DIR_OUT) ;
Console.log ("Start capture") ;
fonction run_cmd (rappel, cmd, args) {}
spawn var = require('child_process').spawn ;
enfant var = spawn (cmd, args) ;
REEE var = "" ;
Child.stdout.on ('données', function (buffer) {REEE += buffer.toString()}) ;
Child.stdout.on ('end', function() {rappel (REEE)}) ;
}
periodicActivity() ;
fonction periodicActivity()
{
Lire notre capteur
var motionSensorTriggered = motionSensor.read() ;
Faire des trucs si notre capteur est lue à haute
{if(motionSensorTriggered)}
données var = require('fs').readFileSync('/home/root/picture.jpg') ;
client.post (« médias/upload », {médias : données}, {function (erreur, médias, réponse)
Si (! erreur) {}
En cas de succès, un objet multimédia reviendront.
Console.log(Media) ;
Laisse il tweet
statut de var = {}
statut: 'Nouvelle image de #intelEdison #IOT',
media_ids : media.media_id_string / / passer les médias chaîne d’id}
client.post (« statuts/update », statut, fonction (erreur, tweet, response) {}
Si (! erreur) {}
Console.log(Tweet) ;
}
});
}
});
capture
run_cmd (« rm », ["-f', ' / home/root/picture.jpg'], function(text) {console.log (texte)}) ;
Console.log ("Remove dernière capture") ;
run_cmd (« / home/root/bin/ffmpeg/ffmpeg », ["-s', « 800 x 600 », '-f', « video4linux2 », '-je ', « / dev/video0 », '-vframes', '1', 'image.jpg'], function(text) {console.log (texte)}) ;
Console.log ("capture effectuée") ;
LED.Write(1) ;
setTimeout (periodicActivity, 5000) ;
} else {}
LED.Write(0) ;
setTimeout (periodicActivity, 100) ;
}
}
Combine.js