본문 바로가기

Programming/Python

[Python] 라즈베리 파이의 GPIO를 이용해 스위치/LED 제어하기 (2) 지난 번 글에서 라즈베리 파이의 GPIO를 이용해 스위치/LED를 제어해보고 이를 토대로 여러 프로그램을 만들어봤었는데, bash로만 작성했던 게 왠지 마음에 걸려, 이제는 우리의 마음의 고향(?)같은 파이썬으로 작성하는 법을 적어보려고 한다. 각 언어별 라이브러리 벤치마킹 결과 표가 기억이 날 것이다. 보다시피 파이썬에서는 GPIO 제어를 위해 두 가지 라이브러리를 이용할 수 있는데, 둘 중에서 가장 속도가 빠르고 무엇보다 라즈베리 파이에서 기본적으로 제공하고 있는 RPi.GPIO 라이브러리/모듈을 사용할 계획이다. 우리는 T자형 코블러를 이용하기 때문에 위 설계대로 나올 순 없지만, 대충 이런 식으로 설계가 되는구나…하는 마음으로 보면 될 것 같다. 워낙 개개인마다 본인만의 익숙한 빵판 문법이 있을 .. 더보기
[Python] Raspberry Pi와 카메라 모듈을 이용한 Time-lapse 영상 제작하기 지난 번에 라즈베리 파이(Raspberry Pi)와 파이페이스 컨트롤 & 디스플레이(PiFace Control and Display)를 이용해 MP3/인터넷 라디오 플레이어를 제작했었다. 이번에는 라즈베리 파이에 카메라 모듈을 부착해 사진을 찍어보고, 동영상을 촬영해보고, 마지막으로 타임 랩스(Time-lapse) 영상을 한 번 제작해볼 것이다. 라즈베리 파이 소개 역시 지난 번에 했으니 생략하도록 하고, 우리가 해볼 타임 랩스 촬영에 대해서 알아보도록 하자. 타임 랩스(Time-lapse; Time-lapse photography 혹은 cinematography)는 일정하게 정해진 간격으로 피사체(혹은 풍경)의 움직임을 촬영한 후 정상 속도로 영사하는 것으로, 눈에 띄지 않을 만큼 긴 지속시간을 건너뛰.. 더보기
[Python] Raspberry Pi와 PiFace CAD를 이용한 MP3/라디오 플레이어 만들기 (* Raspberry Pi의 로고) 기존에 PXA270과 같은 개발 보드류는 무겁고 큰데다, 가격이 비싸 접근성이 좋지 않은 편이었고 그렇기에 개발 보드는 마치 소수의 (이를테면 임베디드 계열처럼) 관련 업종 엔지니어들에게만 허락된 영역처럼 느껴졌었다. 그런데 2012년, 영국의 라즈베리 파이 재단이 학교와 개발도상국에서 기초 컴퓨터 과학 교육을 증진시키기 위해 본인들의 이름을 본딴 라즈베리 파이(Raspberry Pi)라는 초소형 보드/PC를 개발 및 출시하면서 상황은 완전히 바뀌었다. 5만원도 하지 않는 (비교적) 저렴한 모델 가격과 리눅스를 이용하며, 자체적인 OS를 갖추고 있던 라즈베리 파이의 환경 덕에 접근성이 높아졌고, 교육용으로 성공했을 뿐만 아니라, 이를 이용한 기발하고 창의적인 활용/응.. 더보기
[Python] OpenWeatherMap의 API를 이용한 세계 특정 도시의 날씨 출력하기 (* OpenWeatherMap의 로고) OpenWeatherMap(이하 OWM)은 현재 날씨라던가 예상 날씨(예보), 그리고 이전의 날씨를 축적해놓은 과거의 데이터 등등 날씨 관련 자료를 제공하는 온라인 서비스다. OWM은 또한 웹 서비스나 모바일 어플리케이션 개발자들을 위해 API를 (조건부)무료로 제공하고 있다. API(Application Programming Interface)는 '응용 프로그램 프로그래밍 인터페이스'를 뜻하는 말로, 응용 프로그램에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 일컫는데, OWM의 예를 들어 웹 사이트(의 서비스)나 모바일 어플리케이션에서 OWM의 날씨 데이터를 이용한 서비스를 제작할 수 있도록 다양한 기능을.. 더보기