반응형
라즈베리파이 타임랩스 Timelabs 카메라 만들기 3
없는 기능, 있는 기능 구별하지 말고 구현해야 할 것들을 되도록 많이 하나씩 구현하는 코드들을 모은다. 빼는 것은 빼도 되는 것들이 충분이 모아진 후에 빼는 거다. 아무것도 없으면 뺄 것도 없다.
우선 $mkdir timelabscode 명령으로 폴더를 하나 만들어서 각 구성품을 테스트하는 코드들을 여기에 모은다. 예제 코드를 하나씩 테스트하고 동작을 확인하는 코드를 우선 구현한다. 합치고, 돌아가게 만들고 개선하는 것은 나중에 한다.
타임랩스 카메리 만들기 포스팅
라즈베리파이 타임랩스 Timelabs 카메라 만들기 1
라즈베리파이 타임랩스 Timelabs 카메라 만들기 2
라즈베리파이 타임랩스 Timelabs 카메라 만들기 3
라즈베리파이 타임랩스 Timelabs 카메라 만들기 4
1. 라즈베리파이 디스크 크기 얻기
아래 코드는 파이썬 코드를 이용해서 디스크의 용량을 얻어오는 코드이다. 함수별로 전체 크기, 사용한 용량, 사용 할 수 있는 용량을 알 수 있다. 여기서 사용할 것은 남은 용량이다. 라즈베리파이 SD 카드 용량이 약 5Mbyte 이하라면 용량이 가득찼다고 판단하고 표시를 해주고 사진을 찍지 않아야 한다. 이왕이면 좀 더 여유를 두면 좋겠다.
import os
# 디스크 정보 가져오는 함수
def getDisk(path):
diskInfo = os.statvfs(path)
return diskInfo
# 단위 변환용 함수
def Unit(unit):
units = ['B', 'K', 'M', 'G', 'T']
val = units.index(unit)
if val <= 0:
return 1
else:
return 1024 ** (val)
# 사용한 용량
def getUsed(path):
diskInfo = getDisk(path)
used = diskInfo.f_bsize * (diskInfo.f_blocks - diskInfo.f_bavail)
return used
# 사용 가능 용량
def getAvailable(path):
diskInfo = getDisk(path)
available = diskInfo.f_bsize * diskInfo.f_bavail
return available
# 전체 크기
def getTotalSize(path):
diskInfo = getDisk(path)
total = diskInfo.f_bsize * diskInfo.f_blocks
return total
# 전체 크기를 기가 바이트(GB)로 표시
print('%.1fGB' % (getTotalSize('/') / Unit('G')))
# 사용 가능 용량을 키로 바이트(KB)로 표시
print('%.1fKB' % (getAvailable('/') / Unit('K')))
# 사용한 용량을 메가 바이트(MB)로 표시
print('%.1fMB' % (getUsed('/') / Unit('M')))
참고
반응형
'메이커 Maker' 카테고리의 다른 글
인쇄 장비 원격 데이터 수집 장치 PCB 제작할 경우 (0) | 2021.09.28 |
---|---|
Arduino Nano RP2040 간단하게 알아보기 (0) | 2021.09.20 |
메이커 활동 어드벤처 디자인, 창의 설계 고려사항 (0) | 2021.09.14 |
스마트 홈을 사물 인터넷으로 구현 (0) | 2021.09.06 |
스마트 팜, 원격 식물 재배, 스마트 가든 IoT 참고 논문 (0) | 2021.08.12 |
색다른 타임랩스(Timelapse)와 후반 작업 (0) | 2021.08.11 |
타임랩스(Timelapse)란 무엇인가? (0) | 2021.08.10 |
라즈베리파이 타임랩스 Timelabs 카메라 만들기 2 (0) | 2021.08.10 |
더욱 좋은 정보를 제공하겠습니다.~ ^^