2020年10月24日土曜日

ラズパイで写真を撮ってgoogle driveのフォルダと同期する


概要

ラズパイで写真を撮ってgoogle drive に送信する処理で、定点カメラを作りました。ファイルを同期する際にdrive上の古いファイルを消すようにしています。
ただ、部屋の電気を消した後も送信し続けるので、通信量がもったいないなと思ったので、ファイルサイズが200KB以下(真っ暗)な場合は送信しないようにしてみました。

YYYYYYYYYYYYYYY google drive上のファイルID


 #!/usr/bin/python
 # coding: utf-8

 import os
 
 #写真を撮影
 filename = '/var/local/sync_file/file.jpg'
 com = 'raspistill -q 10 -vf -hf -o ' + filename
 os.system(com)

 #サイズを取得して200KB以下なら処理をしない
 size = os.path.getsize('/var/local/sync_file/file.jpg')
 if size >= 200000:
 
    # クラウド上の古いファイルを削除する
    file_list = "gdrive list --query \"name = 'file.jpg' and trashed = false\" | grep file.jpg"
    id_str = os.popen(file_list).read().rstrip()
    id_list = id_str.split("   ")
    com3 = "gdrive delete " + id_list[0]
    os.system(com3)

    # 写真を同期してクラウド上のファイルを更新する
    com4 = 'gdrive sync upload --keep-local /var/local/sync YYYYYYYYYYYYYYY'
    os.system(com4)

0 件のコメント:

コメントを投稿