アプリとラズパイ勉強記

個人的備忘録とメモ。Unity話題が少なくなったのでタイトル変更しました

百均のシャッターでLINE notifyに画像を送る

   


百均で売っている300円のリモートシャッターで遊ぶのが流行っていると聞いて私もやってみました。

わずか300円でIoTボタンを作る方法

シャッターボタンに関してはこちらの記事を参照。

単純に写真を撮るなら1行ぐらいで出来るけど、撮った画像をいちいち確認する方法がめんどくさいのでスマホのLINEに送れるようにした。
当初はLINE botにしようと思ったがサーバがパブリックで認証済みのhttpsを用意しなければならないという敷居の高さ。諦め掛けていたけど単純に個人のトークに画像を送りつけるだけならLINE notifyを使う方が理にかなっているということでこっちに。

notifyに画像を送るのはcurlで。

LINE NotifyにSticker送信機能と画像アップロード機能が追加されました

これを利用してnode.jsでラズパイカメラ画像を保存、それをLINEに送るスクリプトを書く。

shutter.js


var spawn = require('child_process').spawn;
var proc;

var args = ["-w", "640", "-h", "480","-o","画像の場所"]
proc = spawn('raspistill', args);


proc.stdout.on('data', function (data) {
  console.log('stdout: ' + data);
});

proc.stderr.on('data', function (data) {
  console.log('stderr: ' + data);
});

proc.on('close', function (code) {
  console.log('child process exited with code ' + code);
  
var exec = require('child_process').exec;
        exec("curl -X POST -H 'Authorization: Bearer [トークン]' -F 'message=shutter' -F 'imageFile=@画像の場所' https://notify-api.line.me/api/notify",
    function(){}
);
  
});

単体で動かしてシャッターが動作することが確認できたらbluebuttonの設定ファイル、KEYUP部分に記述する。


keyup=node /home/pi/linebot/shutter.js
keydown=echo DOWN
longup=echo LONG UP
longdown=echo LONG DOWN

bluebuttonを起動してシャッター。


bluebutton -d="Shutter3" -c ~/config/bluebutton

 - raspberry Pi Zero w