Paso 8: Finalmente al combinar los tres programas que han sido probados para ser una cámara trampa puede ser directamente subir a medios sociales como twitter.
Por fin Video
Escribir este programa y guardarlo como Combine.js:
Configurar nuestra entrada GPIO para pin 8
Twitter de var = require('twitter');
var cliente = new Twitter ({}
consumer_key: 'PZSlqMDYLx00qYi9RhW7yoI0r',
consumer_secret: 'NFM6ydkdJ5cM4SB8cNR0YU2hraROzZTUrMD6F8xSxM8xkYn5gb',
access_token_key: ' 3838434318 lOfl9zj8gaNxxYXupIrVm5eOhEA0Tjs0Z4oYVyJ',
access_token_secret: 'cqmYv4LRABph3LL2dO1ROJi9teN5HZqldq9GHWryVlx1e'
});
mraa var = require('mraa');
motionSensor var = nuevo mraa. GPIO(8);
led var = nuevo mraa. GPIO(13);
motionSensor.dir (mraa. DIR_IN);
LED.dir (mraa. DIR_OUT);
Console.log ("captura inicial");
función run_cmd (cmd, args, callBack) {}
spawn var = require('child_process').spawn;
niño de var = spawn (cmd, args);
resp de var = "";
Child.stdout.on ('datos', función (tampón) {resp += buffer.toString()});
Child.stdout.on ('fin', function() {callBack (resp)});
}
periodicActivity();
función periodicActivity()
{
Lea nuestro sensor
var motionSensorTriggered = motionSensor.read();
Hacer cosas si nuestro sensor es de lectura alta
{if(motionSensorTriggered)}
var datos = require('fs').readFileSync('/home/root/picture.jpg');
Client.post ('medios de comunicación/subir', {medios de comunicación: datos}, {} de la función (error, los medios de comunicación, respuesta)
Si (! error) {}
Si tiene éxito, se devolverá un objeto multimedia.
Console.log(media);
Permite tweet
var estado = {}
Estado: 'Nueva imagen de #intelEdison #IOT',
media_ids: media.media_id_string / paso de los medios de comunicación cadena id}
Client.post (' Estados/actualizar', el estado, la función (error, tweet, respuesta) {}
Si (! error) {}
Console.log(Tweet);
}
});
}
});
captura de
run_cmd ("rm", ['-f', ' / home/root/picture.jpg'], function(text) {console.log (texto)});
Console.log ("quitar último capturar");
run_cmd ("/ home/root/bin/ffmpeg/ffmpeg", ['-s', '800 x 600', '-f', 'video4linux2', '-me ', '/ dev/video0', '-vframes', '1', 'picture.jpg'], function(text) {console.log (texto)});
Console.log ("captura de hecho");
LED.Write(1);
setTimeout (periodicActivity, 5000);
} else {}
LED.Write(0);
setTimeout (periodicActivity, 100);
}
}