我正在研究RaspberryPi 3和DSLR相机(佳能1300 D)之间的连接性。当我运行用于捕获图像的命令时,第一次运行,而当我再次运行时,出现以下问题:
请给我“如何使用NodeJ与DSLR交流Raspberry Pi 3?”的解决方案。
代码示例:
app.post('/onDemand', function(req, res) {
GPhoto.list(function (list) {
console.log('List:', list);
if (list.length === 0) return;
var camera = list[0];
camera.takePicture({download: true,keep: true}, function (er, data) {
fs.writeFileSync(__dirname + '/input/picture1.jpg', data);
var filePath = "./input/picture1.jpg";
var params = {
Bucket: 'marzs',
Body : fs.createReadStream(filePath),
Key : "marzs/"+Date.now()+"_"+path.basename(filePath)
};
s3.putObject(params, function (err, data) {
if (err) {
console.log('ERROR MSG: ', err);
res.status(500).send(err);
} else {
console.log('Successfully uploaded data');
res.status(200).send({ imageURL: data.Location });
}
res.status(200).send({ imageURL: data.Location });
});
});
});
});
谢谢。
Yogesh Waghmare
答案 0 :(得分:1)
我们需要在服务器上安装libusb并运行以下命令。
gphoto2 --get-config=capturetarget
gphoto2 --set-config=capturetarget=1
gphoto2 --set-config shutterspeed=bulb
gphoto2 --wait-event=2s --set-config eosremoterelease=Immediate --wait-event=5s --set-config eosremoterelease=Off --wait-event-and-download=5s
此后,我们需要在过程完成后使用“ process.exit(); ”退出过程。并通过永远命令
运行现在代码正常运行。
感谢与问候, Yogesh Waghmare