Raspberry Pi ドライブレコーダーの作成⑨ USBメモリの容量不足対策

動画ファイルをh264にした、常時録画などの仕様のため、油断しているとUSBメモリはあっという間に容量不足になります。

ですので、古い(ファイル名の昇順)で古い順に、ある程度空き容量が不足した時点で消しにかかります。


運用としては、何かあった(事故とか…)場合は、USBメモリをRasperry Pi から引き抜くで済ませようかと思います。

(世にあるドラレコは、大きな音、大きなショック、ボタン押下で録画を保存するようですが、今回は常時録画、古い順に消していく方式にします)

以下、Python3でのソースコード。rc.localにsudo で python3 コマンドにファイル名を渡して起動しましょう。

import os
import time
import stat

# 定数
TargetDir = "/mnt/usb1/capturedVideos/"
FreeMin = 1000

while True:
    # 空き容量の取得(MB)
    dirStat = os.statvfs(TargetDir)
    freeSize = dirStat.f_bsize * dirStat.f_bfree / 1024 / 1024

    print("FreeSize(MB):" + str(freeSize))

    if freeSize <= FreeMin :
        # ファイル一覧取得、ファイル名でソート
        fileList = os.listdir(TargetDir)
        fileList.sort()
        # 順に消してみる
        for delTarget in fileList:
            try:
                print("DEL:" + TargetDir + delTarget)
                os.chmod(TargetDir + delTarget, stat.S_IWRITE )
                os.remove(TargetDir + delTarget)
except: print("File Delete Error !!") time.sleep(10)