라즈베리파이 타임랩스 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 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩