라즈베리 파이 활용백서 리뷰

라즈베리 파이가 국내에 보급되면서 많은 이들의 관심을 끌고 있는 와중에 BJ퍼블릭에서 “라즈베리파이 활용백서”를 내놓았다. 개인적으로 라즈베리파이를 가지고 있기 때문에 이 책을 한번 읽어보고 싶었는데 기회가 닿아 실제로 읽어보고 책에 내용대로 따라해 볼 기회를 얻었다.

책의 구성은 6개의 챕터로 나누어진다. 1장에서는 기본적으로 라즈베리파이에 대한 간략한 소개와 함께 기본 환경설정에 대해서 다룬다. 글쓴이는 라즈베리파이를 사용할 때 초기에 네트워크 설정까지만 hdmi 케이블로 직접 모니터와 연결해서 작업하고 보통은 SSH로 라즈베리파이에 접속하여 커맨드라인환경에서 가지고 논다. 하지만 가정에서 미디어센터나 게임용으로도 관심 있는 분들을 위해 GUI로도 설정을 하는 방법들을 상세히 1장에서 다루고 있으므로 참조하면 좋을 것 같다.

라즈베리파이

2장은 본인이 주로 관심갖고 실제 구축한 웹서버와 관련된 내용이 나온다. 이 책을 보기 전까지는 데비안 계열의 라즈베리파이 공식 OS인 라즈비안 위에서 아파치와 mysql을 가지고 웹서버를 구성해서 센서와 연결작업으로 이것저것 테스트를 해보았다.

하지만, 이 책에서는 기본적으로 Arch Linux를 채택하고 nginx, PHP와 Maria DB등 최신의 그리고 새로운 기술들을 접목시켜서 구축하는 설명을 한다. 이 챕터의 내용은 꼼꼼히 다 따라해서 그런것도 있지만  고사양이 아닌 소형 싱글보드에 맞는 최적화된 구성의 웹서버 설치가이드를 제공하는 이 챕터가 다른 챕터의 내용보다 가장 마음에 들고, 유익했다.

웹서버를 기본 설치한 후에 워드프레스를 올리는 설명을 이어서 하는데, 개인적으로 워드프레스는 익숙하게 활용하고 있어 대신 PHP 코드이그나이터 프레임워크를 올려서 웹개발을 하고 있다. 성능은 혼자 가지고 개발하고 놀기에는 아주 만족스럽다. 다만 실제 2장의 내용들을 하나 하나 따라가다 보니 조금 변경된 부분들과 쉘 명령어에 오타가 조금 있어 이 부분에 대한 정정이 필요해 보인다. 다음판에서는 이 부분이 업데이트 되면 좋을 것 같다.

3장에서는 미디어센터용으로 기본으로 제공되는 XBMC에 대해서 설명한다. 간단한 설치 방법 후에 이어지는 내용 설명이 일일이 캡쳐화면으로 제공되어 상세한 반면 컴퓨터와 이런 환경에 익숙한 사람들에게는 다소 과도한 친절에 가까운 설명이긴 하다. 다만 가정에 미디어 센터용으로 아무것도 어떻게 할 줄 모르는 분들이 라즈베리 파이를 처음 접했을 때는 유용한 챕터가 될 것 같다.

4장은 네오지오 에뮬 설치 방법과 실제 네오지오 게임 구동을 안내한다. 직접 따라해 보지는 못했지만 역시나 상세한 설명과 가이드가 제공되니 현재 Arch로 올린 웹서버를 다시 라즈비안으로 바꿀 때 책을 꺼내서 따라해 볼 욕심이 생긴다.

이 책의 또다른 별미가 바로 5~6장이다. 5장은 제어기 활용이란 이름을 달고 있고 6장은 실전 프로젝트 샘플 20개를 제공한다. 라즈베리파이의 장점은 GPIO를 통해서 직접 다양한 하드웨어와의 통신과 연계가 가능하다는 점인데 이 부분에 대해서 상세하게 설명을 해주고 있다. 특별히 나같은 하드웨어와 전자 지식이 다소 부족한 사람에게 빵판에 어떤 부품을 어떻게 배치해야 하는지 위 그림과 유사한 배선도를 제공하고 각 프로젝트마다 친절하게 제공하고있어 따라하기가 무척이나 쉽다. 5~6장은 이 책에서 가장 빛을 발하는 부분이다.

다시 책의 전체 구성으로 돌아오면 이 책은 꼭 처움부터 따라 읽을 필요가 있는 책이 아니다. 자기가 관심 갖는 주제에 따라 때마다 골라보는 쿡북 형식이라 볼 수 있다. 더불어 책의 매챕터는 아래 그림과 같이 챕터의 말미에 친절하게 참고 사이트를 제공하고 있어 추가적인 정보를 확인할 수도 있다.

라즈베리파이-참고

사실 최근 웹상에 많은 정보들이 있기 때문에 어지간하면 구글링으로 모든 정보를 얻을 수 있지만 워낙 정보가 많아서 나에게 꼭 맞는 정보만 찾아서 잘 관리하는 것도 꽤 시간이 드는 일이다. 하지만 이 책은 라즈배리파이를 처음 시작하는 사람부터 어느정도 심도 깊은 프로젝트에 관심있는 중급자 모두에게 흥미로울 주제를 골고루 담고 있어 필요할 때마다 꺼내보는 재미를 가져다 준다.

라즈베리파이-리뷰

 

마지막으로 개인적으로 나는 라즈베리파이를 가지고 놀면서 가끔 잊거나 필요한 내용에 대해서 책 속에서 자주 찾아 볼 것 같은 부분을 북마크 해두면서 이 책을 대하고 있다. 라즈베리파이에 관심갖고 있는 다른 분들에게도 이 책이 좋은 길잡이가 되었으면 한다.

라즈베리파이 Arch Linux 고정ip 설정하기

저는 라즈베리파이를 웹서버로 사용할 예정이기에 가벼운 OS를 올리기 위해서 라즈베리파이의 기본 OS가 아닌 Arch Linux를 설치하기로 계획했습니다. 설치는 간단하지만 고정ip 설정에서 이틀정도 허비를 해서 방법을 공유합니다. OS 이미지 다운 및 설치는 산딸기마을 홈페이지를 참조하시면 쉽게 따라할 수 있습니다.

설치 후 우선 netctl 명령어를 통해서 고정ip 설정을 합니다. 특별한 경우가 아닌 이상 인터페이스는 eth0입니다. 혹시 의심스러우면 다음의 명령어 중 하나로 확인해 봅니다.

확인이 끝났으면 netctl에 example 폴더 안에 설정파일 template이 있으므로 이 파일을  netctl 폴더 밑으로 인터페이스 이름으로 복사합니다.

nano로 복사한 파일을 열어서 ip, gateway, dns등을 설정합니다.

파일의 대략적인 설정은 다음과 같습니다.

설정을 마치고 난 후 부팅시에 netctl이 작동하도록 만들기 위해서 다음과 같이 명령어를 칩니다.

설정을 마치면 다음 화면처럼 시스템데몬으로 netctl의 eth0 설정이 링크가 걸립니다.

netctl 설정

여기서 많이 해맸습니다. 이렇게 하면 다 끝인가 하고 부팅을 하거나 netctl start eth0을 해봐도 에러가 떴습니다. 문제는 기본으로 설정되어 있는 dhcpd서비스를 제거해야 하지 않아서 충돌이 난 것입니다. 다음 그림의 빨간 상자 안에 있는 파일을 제거해야 합니다.

networking

이 파일을 제거하고 부팅을 하면 정상적으로 고정 ip 설정이 완료됩니다.

비글본 블랙: 실내 공기질 모니터링 서버 만들기

(*이 포스팅은 ICBANQ 10기 무상체험단에 선정되어 작성하는 비글본 블랙 개봉기입니다.)

비글본 블랙은 arm 프로세서를 달고 많은 GPIO를 제공하는 소형 컨트롤러 보드임과 동시에 OS가 구동되는 싱글보드 컴퓨터입니다. 지난 10월 ICBANQ 무상체험단을 통해 비글본 블랙을 제공받아 본 글에서는 다음과 같은 프로젝트를 비글본 블랙을 통해서 테스트 하고자 합니다.

모니터링 시스템 구성

간단한 센서 값을 아두이노로 받아 이를 비글본 블랙에서 저장하고 웹서버를 구동시켜 웹을 통해 데이터를 확인하는 테스트입니다. 이 테스트를 위해서 지금까지 준비해 온 작업들에 대해서는 이전의 글들을 참조하시면 됩니다.

위의 포스팅에서 지금까지 한 일은 우분투를 설치했고, 웹서버 구동을 위한 환경 설정을 비글본 블랙에 완료했습니다.

이제 본격적인 작업으로 먼저 먼지센서와 아두이노 연결작업을 합니다. 사용한 센서는 일반 공기청정기에 사용되는 ( 1마이크로미터 이상) 먼지 입자 개수를 측정할 수 있습니다. 아두이노에서 센서로부터 값을 받아서 시리얼로 30초마다 보내는 작업을 다음과 같이 코딩합니다. 코드는 아래 주석에서 참조했습니다.

이 코드로 이제 아두이노에서는 먼지의 concentration값(측정된 먼지량)을 시리얼 통신으로 30초마다 계속 보내게 됩니다. 다음은 아두이노로부터 비글본 블랙이 이 값을 받아올 수 있도록 해야 합니다. 연결은 간단히 usb가지고 합니다. 먼저 비글본 블랙에 아두이노를 연결하기 전에 현재 연결된 디바이스를 다음과 같이 확인합니다.

비글본 블랙 디바이스 확인이제 아두이노와 비글본 블랙을 usb로 연결해 봅니다. 아래 사진은 센서와 아두이노 그리고 비글본 블랙이 연결된 모습입니다.시스템 연결 사진 USB로 비글본 블랙과 아두이노가 연결되었다면 다시 비글본블랙에서 연결된 디바이스를 확인합니다.

USB 연결 후 확인

위와 다르게 ‘ttyACM0″가 추가된 것을 알 수 있습니다. 이 녀석으로 시리얼 연결을 하고 값을 받아오게 됩니다. 제대로 아두이노가 usb연결되었는지 확인하는 방법은 아래와 같이 lsusb를 통해서도 알 수 있습니다.

스크린샷 2013-11-08 오후 3.22.04

이제 시리얼로 아두이노로부터 값을 받는 건 파이썬으로 간단히 코딩할 수 있습니다. 하지만 파이썬에서 시리얼로 데이터를 받아오려면 먼저 pyserial 라이브러리를 설치해야 합니다.

설치하고 나서 다음과 같이 일단 간단히 연결확인용 코드를 작성해 봅니다.

그리고나서 실행해보면 다음과 같이 센서의 값이 비글본 블랙에 전송됨을 알 수 있습니다.

스크린샷 2013-11-08 오후 3.18.47

여기까지 센서 연동을 확인했고 이제 센서로부터 받은 데이터를 db에 넣기 위한 준비를 합니다. 파이썬 커넥터를 다음과 같이 설치합니다. (pip로 설치하려 했으나 잘 안되었습니다.)

phpmyadmin에서 test 디비에 다음과 같이 간단한 테이블을 생성합니다.

스크린샷 2013-11-08 오후 1.49.27 테스트용 데이터를 몇 개 삽입하는 코드를 통해서 파이썬에서 정상적으로 디비로 데이터가 들어가는 지 확인해 봅니다.

실행 후 정상적으로 코드가 작동하면  데이터가 입력되었음을 확인할 수 있습니다.

스크린샷 2013-11-08 오후 3.30.31

스크린샷 2013-11-08 오후 3.31.19

여기까지면 다 왔습니다. 테스트 용으로 이제 간단히 먼지 센서 값을 db에 넣고 웹페이지에서 보여주기로 합니다.

시간이 많으면 데이터를 그래프로도 보여주고 할 수 있겠지만 일단은정말 간단히 그냥 값만 테이블로 뿌려주기로 합니다. 자 다음과 같이 정상적으로 값을 받아서 보여줍니다.

센서 모니터링 페이지

 

정리하자면, 지금까지 한 모든 작업이 비글본 블랙 위에서 이루어진 것입니다. 간단한 웹서버용으로는 충분히 그 진가를 발휘할 만 합니다. 아쉽게도 리소스를 줄이기 위해 arch리눅스를 올려보지는 못했지만 그래도 우분투 위에 nginx를 올려 간단하게 테스트 해 본것으로는 불편함이 없었습니다.

저는 전자 쪽 지식은 부족해서 다른 테스트는 해볼 수 없었지만 소형 컴퓨터로, 서버로서 비글본 블랙의 성능을 알아볼 수 있는 체험이었습니다.

비글본 블랙: nginx+php+mysql설치

(*이 포스팅은 ICBANQ 10기 무상체험단에 선정되어 작성하는 비글본 블랙 개봉기입니다.)

지난 포스팅에서는 비글본 블랙의 기본 OS인 Angstrom 대신 우분투13.04 이미지 설치하는 방법을 설명했다. 이번 포스팅에서는 nginx서버와 함께 PHP, MySQL을 설치해보기로 한다.

먼저 우분투에 설치되어 있는 apache를 제거해서 미리 nginx와의 충돌을 피해야 한다.

apache 제거 후 nginx와 PHP FPM를 설치한다. 먼저 다음과 같이 nginx 패키지를 설치한다.

그리고 PHP관련 패키지를 설치한다.

nginx와 PHP 설치는 끝이 났지만 한가지 nginx 설정에서 PHP FPM과 연동을 해줘야 한다. 우선 다음 명령으로 설정 파일을 연다.

파일을 열면 아래와 유사한 설정 부분을 찾아 주석을 제거하고 마지막 줄에 “try_files $uri =403″을 넣어준다.

설졍을 변경했으니 관련 프로그램을 재시작한다.

nginx가 잘 운영되는지 직접 서버의 주소로 들어가 확인하여 아래와 같은 화면을 만나면 성공이다.

nginx 서버 설치 성공

nginx의 동작을 확인했으면 이제 PHP와 nginx가 잘 연동되었는지 확인하기 위해서 phpinfo()함수를 넣은 파일을 하나 만들어 nginx의 웹 루트 폴더(/usr/share/nginx/html)에 넣어서 브라우저에서 실행해 본다.

브라우저에서 아래와 같은 창이 뜨면 PHP FPM이 잘 설치되어 nginx와 연동되었다는 뜻이다.

phpinfo

mysql은 다음의 명령으로 설치 한다. 중간에 묻는 패스워드 설정만 하면 쉽게 설치할 수 있다.

다음으로 편의를 위해서  phpmyadmin도 설치한다. 설치할 때 웹서버를 묻는데 일단 아파치로 하고 넘어간다.

설치 중간 중간에 비번을 잘 입력하고 난 후 설치가 끝나면 현재  phpmyadmin의 폴더를 nginx 서버의 웹루트 폴더에 심볼릭 링크를 걸고 nginx를 재시작한다.

phpmyadmin을 실행시켜 정상적으로 뜨면 성공이고, 403 에러가 뜬다면 nginx의 설정을 확인해 봐야 한다.

설정 파일에서 처음 서버 설정 밑에 index에 “index.php”가 추가되었는지 확인하고 안 되어 있어 넣었더니 정상적으로 phpmyadmin이 작동했다.

오늘 작업은 여기저기 참조를 많이 했다. 아래 참조한 사이트들이다.

  • http://www.networkinghowtos.com/howto/installing-nginx-php-and-mysql-on-ubuntu-13-04/
  • http://www.unixmen.com/install-lemp-server-nginx-mysql-mariadb-php-ubuntu-13-10-server/
  • https://bbs.archlinux.org/viewtopic.php?id=163714

비글본 블랙: 우분투 설치

(*이 포스팅은 ICBANQ 10기 무상체험단에 선정되어 작성하는 비글본 블랙 개봉기입니다.)

비글본블랙으로 실험해 볼 프로젝트는 실내 공기질 모니터링 시스템입니다. 대략의 구성은 아래 그림과 같습니다.

모니터링 시스템 구성

공기질 측정은 일반 공기청정기에 사용되는 저렴한 센서를 사용하고 이를 아두이노에 연결할 계획입니다. 여기서 질문이 생기시는 분들이 있을겁니다. 왜 비글본 블랙에 센서를 바로 연결하지 않는지 말입니다. 이유는 아두이노에서 제공하는 함수들이 센서의 데이터를 받기에 편하기 때문입니다.

예를들면 위의 공기질 센서에서 값을 얻기 위해서는 반드시 Voltage 값이 high에서 low로 떨어졌다가 다시 high 되는 사이의 시간을 필요로 하는데 아두이노에서는 pulseIn() 함수가 이를 측정하여 ms 단위로 반환합니다. 하지만 비글본 블랙에서는 일일이 날코딩을 다 해야하지요. (자세한 참고)

다시 돌아와서 아두이노에서 측정된 센서값은 비글본블랙에 USB를 통해서 시리얼로 보내줄 겁니다. 30초마다 아두이노가 보내는 공기질 정보를 비글본블랙 내 DB에 담고 이를 웹 상에서 모니터링할 수 있게 보여주는 것이 본 시스템에 간단한 설명이빈다.

시스템 설치 준비에 앞서 해야할 일이 있습니다. 기본적으로 비글본블랙은 Angstrom이라는 리눅스 배포판이 설치되어 있습니다. 처음에 여기에다가 웹서버로 LAMP 설치를 하려고 했는데 이래저래 인터넷에서 참조할 만한 정보도 많지 않고 설정하기가 까다로워 다른 리눅스 배포판을 설치하기로 마음 먹었습니다.

일단은 비글본블랙의 CPU가 armv7이므로 32bit용 우분투 13.04를 재설치하기로 했습니다. 설치를 위해서는 리눅스 이미지를 담을 microSD카드가 반드시 필요합니다. 비글본 블랙을 위한 우분투 이미지는 아래 첫번째 사이트를 참조하시면 다운받을 수 있고,  이미지 설치 방법은 이 두번째 사이트를 참조하시면 편리하게 따라하실 수 있습니다.

  1. 이미지 다운로드: http://rcn-ee.net/deb/flasher/raring/
  2. 이미지 설치방법: http://learn.adafruit.com/beaglebone-black-installing-operating-systems/overview

이미지 설치는 대략 5~10분 정도면 완료되고 아래와 같이 모든 상태 LED에 불이 들어오면 전원을 제거하고 microSD카드를 제거하고 재부팅하면됩니다.

IMG_0521

이제 192.168.7.2로 해서 SSH로 로그인해 봅니다. 그럼 아래와 같이 성공적으로 우분투가 설치되었음을 확인할 수 있습니다. 로그인 시의 유저명은 ubuntu이고 패스워드는 temppwd이거나 ubuntu입니다.

우분투 첫화면

 

라즈베리파이에 USB 마운트 하기

라즈베리파이에서 USB로 파일을 옮기려고 시도한다면 당연히 윈도우처럼 자동 마운트가 안 된다. 수동으로 하거나  fstab으로 작업을 해야 한다. 구글링으로 간단하게 방법을 찾았기 때문에 뻔한 내용이라 포스팅 안 할까 하다가 한글화(?) 및 리뷰용으로 그래도 남겨둔다. 참고는 다음 사이트에서 했다.

http://www.xappsoftware.com/wordpress/2013/10/28/how-to-mount-your-external-usb-drive-on-the-rasberry-pi-running-raspbian/

일단 내가 사용하는 USB 파일 시스템이 NTFS이라 이걸 지원할 수 있는 모듈을 아래와 같이 깔아야 한다. (Fat32는 기본으로 지원한다고 한다.)

설치 후에 작업은 일반적으로 리눅스에서 파일시스템 잡아서 마운트 하는 것과 동일하다. USB를 꽂았다면 fdsik로 확인할 수 있다. 아래 명령어는 fdisk로 파일시스템을 확인해서  USB가 꽂혀 있을 드라이브명을 “sda” 로 검색하는 것이다.

usb가 안 꽂혀 있으면 당연히 아무런 결과가 나오지 않고 꽂으면 결과가 나오게 된다.

usb fdisk 확인

USB 드라이브를 정상적으로 인식했으므로 이제 USB를 마운트 시킬 폴더를 생성하고 권한을 사용자에게 준다. 나는 mnt 밑에 usb_16gb 폴더를 생성했다.

다 끝났다. 이제 마운트를 하면 끝이다.

마운트를 하기 전에는 폴더를 보면 아무런 하이라이트가 안 되어 있지만 마운트 후에는 폴더에 하이라이트가 되어있는 것을 확인할 수있다. 즉 제대로 USB 드라이브가 마운트 되었다는 뜻이다.

USB 드라이브 마운트 확인

사용을 마쳤으면 언마운트를 해야 한다. 윈도우처럼 함부러 빼면 좋지 않다. ㅠ

매번 마운트하기 귀찮으니 fstab에 등록하면 마운트 작업을 자동화할 수 있다. sudo 로 권한에러가 나면 루트로 바꿔서 작업하면 된다.

 

비글본 블랙 개봉기

(*이 포스팅은 ICBANQ 10기 무상체험단에 선정되어 작성하는 비글본 블랙 개봉기입니다.)

올 해는 오픈 하드웨어의 (국내에서) 본격적인 해인 것 같습니다. 라즈베리 파이가 국내에 정식으로 판매되고 관련 서적도 봇물처럼 나오고 있고 덩달아 아두이노의 인기도 탄력을 받는 것 같네요. 이런 분위기 속에서 미국 TI에서 만든 비글본 블랙을 ICBANQ 10기 무상체험단을 통해서 직접 비글본 블랙을 만져볼 수 있는 기회를 얻게 되었습니다.

최근에 라즈베리 파이와 아두이노까지 구하게 되어 본 개봉기는 가능하면 다른 제품과 간단하게 비교 하는 방향으로 작성해 볼까 합니다.

개봉샷

 

개봉기의 묘미인 박스샷입니다. 정성스레 칼로 잘라 비글본 블랙 케이스를 열어봅니다. 최근에 개봉해 본 아두이노와 라즈베리파이와는 달리 비글본 블랙은 조금 더 큰 박스에 담겨 있습니다. 아래 사진에서 왼쪽이 비글본 블랙, 가운데가 라즈베리 파이, 오른쪽이 아두이노 우노의 박스입니다.

오픈 하드웨어 박스 비교

이유는 보드의 사이즈 때문이 아니라 함께 동봉된 miniUSB-USB 포트때문이네요. 다른 제품은 단촐하게 보드와 약간의 안내문서만 들어갈 수 있는 크기인데 반해 비글본블랙은 넓은 박스 안에 보드와 연결선을 함께 제공해 줍니다.

비글본 블랙 제품 구성

중요한 것은 아니지만 미국에서 제조된 상품 같지 않게 박스의 디자인이나 마감은 다른 두 제품보다 품질이 떨어지는 것을 확연히 느낄 수 있습니다. 아쉬운 부분이네요.

사이즈는 라즈베리파이와 비교하면 가로 사이즈는 조금(몇밀리미터) 더 길고 세로는 작습니다.

라즈베리파이 비글본 블랙 비교
사진과 같이 명함크기와 비슷한 헌혈증서로 보드가 거의 가릴 정도입니다.

2013-10-14 16.50.05

측면부를 보면 한쪽에는 이더넷, 미니USB연결 포트, 외부전원 포트로 구성되어 있습니다.

2013-10-14 16.34.39
반대편은 USB포트, hdmi포트, microsSD 단자로 구성되어 있습니다.

2013-10-14 16.35.05
자 이제 구동을 한번 시켜보겠습니다. 설치라고 할 것이 따로 없습니다. 라즈베리파이와 달리 비글본블랙은 내장메모리에 소프트웨어가 설치되어 있어 컴퓨터에 동봉된 케이블을 이용해 연결하기만 하면 부팅이 됩니다. 설치 가이드라인은 공식 페이지를 참조하면 좋습니다.

비글본 블랙 설치 완료

가이드라인대로 드라이버 설치하고 크롬이나 파이어폭스를 통해 http://192.168.7.2 로 들어가면 위와와 같은 연결성공 메세지가 뜨면 끝입니다. 이제 ssh로 192.168.7.2로 접속하면 터미널로도 비글본 블랙과 연결이 됩니다.

beagle-terminal

잠깐 마지막으로 하나 조심할 것은 드라이버 설치에 네트워크 어댑터가 하나 설치 됩니다.

beagle_1

저는 이거 뭐지 하고 사용 안 함을 했더니 http://192.168.7.2이나 터미널과의 접속이 안 되더군요. ㅎ 이 점을 유의하시길~

향후에는 비글본 블랙을 가지고 재미있는 몇 가지 실험(?)을 해보지 않을까 싶습니다. 그럼 여기까지 비글본 블랙 개봉기 였습니다.

(*이 포스팅은 ICBANQ 10기 무상체험단에 선정되어 작성하는 비글본 블랙 개봉기입니다.)

아두이노와 라즈베리파이 시리얼 통신하기

대학원 수업 프로젝트 아이디어로 위 슬라이드의 실내 먼지측정 시스템을 제안했습니다. 아이디어를 제안하면서 전부터 써보고 싶었던 아두이노와 라즈베리파이를 활용하겠다는 계획을 담았지요. 그 덕에 오늘 수업 재료비로 이 두녀석을 드디어 받았습니다. 하하핫!
2013-10-11 16.09.14

아두이노를 활용하는 것은 그리 어렵지 않고, 라즈베리파이도 리눅스 사용이 익숙하신 분들은 어렵지 않게 기본 셋팅을 각각의 공식 사이트에 들어가서 확인할 수 있답니다. 저도 구매한 microSD 카드에 라즈비안 OS 이미지를 심고 기본 셋팅(비번설정, 패키지 업데이트)을 먼저 했습니다.

드디어 본래 계획한 프로젝트대로 아두이노와 라즈베리파이의 간단한 연결테스트를 시작합니다. 참고는 거의 전적으로 이 블로그입니다.

http://blog.oscarliang.net/connect-raspberry-pi-and-arduino-usb-cable/

제가 한글로 적었다는 것과 몇가지 차이점 빼고는 동일합니다.

일단 아두이노에서는 다음과 같이 시리얼 연결을 하고 정해진 시간마다 “Hello Pi”라는 문자열을 날리는 코드를 다음과 같이 작성합니다.

C코드 같으면서도 딱 봐도 무슨 의미인지 들어오지요? 이래서 비전공자도 쉽게 아두이노를 가지고 놀 수 있다는 거지요 ^^ 자 이제 라즈베리파이 녀석에서는 파이썬으로 간단하게 시리얼 연결 코드를 작성합니다.

아주 간단한 코드이지요. 시리얼 설정과 함께 ser객체 생성 후 while 루프 안에서 계속 데이터를 받아서 출력하겠다는 것이지요. 이대로 따라하면 잘 될 것 같은데 위 코드를 실행하면 에러가 뜹니다. 왜냐하면 serial 모듈이 이 라즈베리 파이 안에 없기 때문이지요. 따라서 python의 pip를 활용해서 serial 모듈을 다운받아야 정상적으로 작동합니다.

요렇게 serial 모듈까지 설치하고나면 짜잔

2013-10-11 18.57.40

사진과 같이 모니터에 “Hello Pi”가 거침없이 찍혀 내려오는 모습을 보실 수 있습니다. 와우!~ 눈물이 날 뻔…. 아니 그 정도의 감동은 아니었지만 “Hello Pi”가 모니터에 찍힐 때 감동은 C를 처음 배울 때 “Hello World”와 비견될 정도의 감동이네요.

간간히 프로젝트를 진행하면서 아두이노와 라즈베리파이 관련 포스팅을 하겠습니다. 아! 그리고 라즈베리파이보다 스펙이 좀 더 좋은 비글본 블랙을 체험단으로 무상으로 곧 받게되어 비글본 블랙을 가지고도 포스팅을 올릴 예정입니다. ^^