이 포스트는 라즈베리파이 개발환경 꾸미기를 주제로 아래와 같은 시리즈 연재로 이루어 집니다.
- >> 라즈비안 OS 설치하기 <<
- 키보드 모니터 없이 라즈베리파이 Login 하기
- Wifi 설정 / 기본 설정하기
- 파이썬 + Eclipse로 라즈베리파이 개발하기
- 라즈베리파이에 NodeJs 설치하기
- NodeJs + Eclipse로 라즈베리파이 개발하기
- C/C++ Cross Compiler(Tool Chain) 설치하기
- Eclipse + C/C++ 로 라즈베리파이 개발하기
일반적인 개발용 ARM 보드는 개발 PC와 연계할 수 있는 다양한 방법을 제공하고 있는데,
그 중에 시리얼 포트나 USB-TTL 인터페이스를 제공해주는 것이 대표적입니다.
하지만, 라즈베리파이는 목적 자체가 개발용 보드가 아니라 돈이 없어 컴퓨터를 사지 못하는
사람들을 위한 교육용 싱글보드 컴퓨터이기 때문에 개발을 위한 인터페이스가 없습니다.
그래서 개발 PC에서 소스를 작성하고 빌드를 한 후에 라즈베리파이에 적용하기 위한 과정이
다소 복잡하고 불편하지요. (사실 개발에 활용하려면 라즈베리파이 보다는 비글본 블랙이 더 좋죠.)
<이래 놓고 개발을 한다구요?>
물론, 라즈베리파이에 일반적인 컴퓨터 사용할 때 처럼 키보드, 모니터, 마우스 등을 연결하고
거기에서 직접 개발하고 적용하면 문제 될것이 없지만, 취미로 메이커 활동을 할 때는 별 문제가 없지만,
좀 더 진지하게 메이커 활동을 하거나 임베디드 개발을 하려고 하면 여러 문제를 가지게 됩니다.
첫째, 어떤 PC를 쓰든 라즈베리파이 보다는 빠른 PC를 사용할텐데,
라즈베리파이에서 빌드하는 것은 너무 느리고 오래 걸립니다. 빠른 PC를 두고 라즈베리에서 작업하는 것은
바보 같은 짓입니다.
둘째, 키보드, 모니터, 마우스를 연결해야 해서 하나씩 더 사야 되거나 뺐다 꽂았다가 하기 불편하고 자리도 차지합니다.
물론 VNC와 같은 Remote Screen 도구를 사용해도 되지만 멀쩡한 PC 놔두고
느려터진 라즈베리에 원격 접속해서 개발하는 것은 아무리 봐도 정상은 아닙니다.
마지막으로 라즈베리파이에서 직접 개발을 하는 경우 소스의 버전관리도 어렵고 자칫 소스코드를 날려 먹을 수 도 있습니다.
라즈베리파이는 SD카드를 유일한 저장장치로 사용하고 있는데, SD카드는 수명이 그리 길지 않아서,
어제까지는 잘 돌아가던게 갑자기 부팅이 안될때가 있습니다. 이럴때 소스가 그 안에 들어 있으면 날려 먹는거지요.
그래서 이번 포스팅 시리즈에서는 키보드 모니터 없이 라즈비안 OS 설치하는 방법과,
개발 PC에서 개발하고 최종 빌드 결과만 손쉽게 라즈베리파이에 적용하는 방법을 알아 봅니다.
라즈베리파이에서 개발이 가능한 언어는 많습니다.
이번 포스팅 시리즈에서는 기본 언어로 채택하고 있는 것이 파이썬을 이용하는 방법과
IoT개발에 가장 최적의 환경이라 할 수 있는 NodeJs,
그리고 개발의 기본, 특히 임베디드 개발에 기본이라 할 수 있는 C와 C++ 을 이용하는 방법을 차례대로 살펴 볼 것입니다.
개발 도구로는 이클립스를 이용하여 클릭만으로 빌드와 적용이 될 수 있는 환경을 만들어 봅니다.
이와 같은 작업에 앞서서 필요한 장치들이 있는데, 준비해야 할 것을 먼저 살펴 보겠습니다.
라즈베리파이 본체입니다. 모델은 파이1,파이2, 파이3 아무거나 써도 상관 없습니다.(파이 3는 모니터,키보드 필요)
USB 어뎁터, 파이3는 2.5A 이상이 필요하고 파이1, 2는 일반적인 핸드폰 충전용이면 됩니다.
USB 케이블, 핸드폰 충전 할 때 쓰는거면 됩니다.
Micro SD 카드와 카드 리더기, 8GB 이상이 필요합니다.
USB Wifi 동글, 파이3 이거나 유선랜만 쓸거라면 없어도 됩니다.
USB-to-TTL(Serial, UART) 장치, 3.3v용이 좋지만 5V용도 가능합니다.(추후 설명)
라즈베리파이 모델은 어떤 것이든 상관은 없는데, 파이3 모델은 Wifi와 블루투스를 내장하고 있어서
무선랜카드가 필요 없습니다. 대신, 앞서 설명드린 키보드, 마우스, 모니터 없이 기본 설정하는
위의 장치 목록 중에 키보드, 마우스 , 모니터를 대신할 녀석이 USB-to-Serial 이라는 장치이구요,
그 밖에 필요한 것으로 마이크로 SD카드, USB SD카드리더, 필요에 따라 USB Wifi 동글 입니다.
Wifi 동글은 유선랜으로 사용할 경우에는 불필요 하겠죠.
필요한 장치가 모두 준비 되었다면 설치 작업을 시작해 볼까요?
라즈비안 다운로드
우선 라즈베리파이 재단 사이트에서 최신 라즈비안 OS를 다운 받아 보죠.
NOOBS를 이용한 설치 방법도 있긴 하지만, 라즈비안 말고 다른 배포판을 설치할게 아니라면
쓸데 없이 2번 작업하느니 한번에 라즈비안을 설치하는 것이 효과적입니다.
다운로드 사이트에 가면 2가지 라즈비안을 다운로드 받을 수 있습니다.
왼쪽에 있는 “RASPBIAN JESSIE”는 데스크탑용으로 설치 후 부팅을 하면 X윈도우가 뜹니다.
오른쪽에 있는 “RASPBIAN JESSIE LITE”는 콘솔로만 로그인 할 수 있고
불필요한 데스크탑 환경과 어플리케이션은 들어 있지 않아요.
개발 환경을 꾸밀 목적이라면 당연히 “LITE” 버전을 설치하는 것이 빠르고 작은 용량으로 사용이 가능하겠죠.
다운로드 받을때는 ZIP파일을 직접 받는 것 보다 Torrent로 받는 것이 훨씬 빠릅니다.
용량은 다운받았을 때 1.3GB VS 284.4MB 이구요, 압축을 풀었을때 4.03GB VS 298MB 네요.
용량을 보니 쓸데 없이 데스크탑용을 받을 필요가 없겠죠? 무엇을 받을 지는 알아서 판단하시면 됩니다.
라즈비안 OS 이미지를 SD카드에 쓰기
다운을 다 받았으면 압축을 풀고, 미리 준비해 놓은 SD카드에 저장해야 합니다.
마이크로 SD카드는 8GB이상을 준비해야 하고, 컴퓨터에 마이크로 SD카드 리더기가 없으면 위의 사진과 같은 SD카드 리더기를 따로 준비해야 합니다.
리더기 가격은 대부분의 오픈 마켓에서 1,000원 정도에 판매하고 있구요. SD카드도 용량에 따라 차이는 있지만 얼마 안합니다.
그러니까 가급적 한 마켓에서 구매하시고 SD카드는 소모품이라 생각하고 미리 필요 용량별로 구매해 놓는 것이 택배비를 아낄 수 있습니다.
아래는 구매 링크 입니다만, 저하고는 아무 상관없습니다.(솔직히 검색이 너무 안되서 별로 안좋아 합니다.)
이제 다운로드 파일을 SD카드에 저장해야 하는데, 탐색기 같은 파일 관리자로 그냥 복사해서는 안되고 별도의 이미지 작성 도구를 사용해야 합니다.
이에 대해서는 라즈베이파이 재단 사이트에 상세히 나와 있습니다.
영어라서 제가 설명을 대신 해 보겠습니다.
윈도우즈는 Win32 Disk Imager를 이용하면 쉽고, 맥OS에서는 자체 커맨드 명령어를 이용하면 됩니다.
<Updated, 2017, 2,2>
Etcher를 이용하면 윈도우즈, 맥, 리눅스 할것 없이 동일한 GUI로 손쉽게 라즈베리안 OS 이미지를 SD 카드에 구울 수 있습니다.
다운로드는 https://etcher.io/ 에서 무료로 받으 실 수 있고, 아직 베타 버전이긴 하지만, 제가 사용해본 결과 한번도 문제를 일으킨 적이 없습니다.
그리고, SD카드를 자동으로 선택해주고 Portable 장치가 아니면 선택할 수 없게 나오기 때문에 메인 디스크를 날려 먹을 우려도 없습니다.
SD카드 리더기를 USB 포트에 연결하고 다운로드한 이미지 파일을 선택해서 "Flash" 버튼을 누르면 작업은 끝납니다.
심지어 zip파일 압축을 풀 필요도 없습니다.
diskutil list
df -h
|
|
|
sd카드에 라즈비안 쓰기 작업이 끝나면 라즈베리파이에 sd카드를 꽂고 전원을 연결하면 되는데,
그 다음 과정은 다음 포스트에서 다룹니다.
- >> 라즈비안 OS 설치하기 <<
- 키보드 모니터 없이 라즈베리파이 Login 하기
- Wifi 설정 / 기본 설정하기
- 파이썬 + Eclipse로 라즈베리파이 개발하기
- 라즈베리파이에 NodeJs 설치하기
- NodeJs + Eclipse로 라즈베리파이 개발하기
- C/C++ Cross Compiler(Tool Chain) 설치하기
- Eclipse + C/C++ 로 라즈베리파이 개발하기
'Programming > IoT_Embedded' 카테고리의 다른 글
라즈베리파이 개발환경 꾸미기 #6. NodeJs + Eclipse로 라즈베리파이 개발하기 (2) | 2016.05.09 |
---|---|
라즈베리파이 개발환경 꾸미기 #5. 라즈베리파이에 NodeJs 설치하기 (5) | 2016.05.04 |
라즈베리파이 개발환경 꾸미기 #4. 파이썬 + Eclipse 로 라즈베리파이 개발하기 (12) | 2016.05.04 |
라즈베리파이 개발환경 꾸미기 #3. 유무선랜 설정/ 기본 설정하기 (7) | 2016.05.04 |
라즈베리파이 개발환경 꾸미기 #2. 키보드 모니터 없이 라즈베리파이 Login 하기 (10) | 2016.05.03 |
아두이노 디지털 핀에 24V 입력받기(저항으로 전압강하, 전압분배) (22) | 2016.02.04 |
DIY 스마트 홈 프로젝트 (12) | 2016.02.01 |
아두이노로 알아보는 적외선 센서 (12) | 2016.01.02 |
풀업(Pull-up)저항, 풀다운(Pull-down)저항 (56) | 2015.09.24 |
아두이노로 만드는 가장 쉬운 RC 카 (51) | 2015.02.24 |