냉장고가 비었을 때 문자로 알려주거나 화초에 자동으로 물을 주고, 아침에 커피포트가 데워지는 IoT 세상을 기대해 본 적이 있으신가요? 이런 세상을 만들기 위해서는 오픈소스 하드웨어(Open-source hardware)의 역할이 굉장히 중요한데요. 오픈소스 하드웨어란 무엇일까요?
오픈소스 하드웨어란 기존과 똑같은 제품(회로도, 인쇄회로기판, 하드웨어 기술언어)을 만드는데 필요한 모든 소스를 대중에게 공개한 것인데요. 모든 사람들이 자유롭게 수정, 배포, 판매할 수 있다는 엄청난 장점을 가지고 있습니다.
따라서 IoT 구현기술에 대해서 일일이 알고 있지 않더라도 쉽게 하드웨어를 설계할 수 있어서, 전공자가 아니어도 IoT 세상을 만들어 갈 수 있게 도와주는 것이죠. 지금부터 이렇게 우리에게 편리함을 전해줄 수 있는 오픈소스 하드웨어의 대표적인 제품들을 소개하겠습니다.
오픈소스 하드웨어 시장을 개척한 ‘아두이노(Arduino)’
현재 가장 많이 사용되는 오픈소스 하드웨어는 ‘아두이노’ 입니다. 2005년 이탈리아에서 마시모 밴지(Massimo Banzi)와 다비드 쿠아르티에예스(David Cuartielles)가 만든 것인데요. 이탈리아어로 ‘친한 친구’ 라는 뜻을 가지고 있습니다. 이는 전문적 공학 지식이 없는 학생이나 디자이너를 위해 만들어진 하드웨어 개발 키트이기 때문입니다.
아두이노 보드는 아트멜(Atmel)사의 마이크로 컨트롤러와 몇 가지 전자 부품들로 이루어져 있는데요. 회로도가 공개되어 있는 다양한 종류의 보드가 있습니다. 중요한 특징 아래와 같습니다.
첫째, 마이크로 컨트롤러를 쉽게 프로그래밍 할 수 있습니다.
원래 마이크로 컨트롤러에 프로그램을 업로드 하려면 ‘롬라이터’라는 장비가 필요했는데요. ‘아두이노’는 그럴 필요 없이 USB를 통해서 업로드 할 수 있습니다.
둘째, 독자적인 IDE(통합개발환경)를 가지고 있습니다.
Arduino IDE는 JAVA와 C를 기반으로 개발된 멀티 플랫폼 소프트웨어이기 때문에 초보자들도 쉽게 접근해서 프로그래밍 할 수 있게 되어 있습니다.
셋째, 각종 센서들과 주변 장치를 쉽게 확장할 수 있습니다.
‘아두이노 쉴드’나 ‘아두이노 모듈’을 사용해서 각종 센서들과 주변 장치를 쉽게 확장할 수 있는데요. 예를 들면 아두이노에 ‘와이파이 쉴드’를 연결해 주면 이를 이용한 IoT를 구축할 수 있고, ‘LED 쉴드’를 달면 문자 메시지를 직접 표현할 수 있습니다.
만약 ‘아두이노 쉴드’에 자신이 원하는 성능의 제품이 없다면 센서를 구매해서 직접 ‘아두이노 모듈’을 제작해서 사용할 수도 있습니다.
인텔의 새로운 도전 ‘갈릴레오’
2013년 10월 3일 인텔은 깜짝 발표를 합니다. IoT 생태계를 구축할 수 있는 ‘갈릴레오’ 보드를 발표하며 오픈소스 하드웨어 분야에 진출한 것인데요.
‘갈릴레오’는 ‘아두이노’를 기반으로 개발된 보드이기 때문에 여기에서 사용됐던 쉴드나 ‘Arduino IDE’등을 그대로 사용할 수 있는 장점을 가지고 있습니다. 하지만 둘의 차이점은 굉장히 많은데요.
그 중 결정적인 것이 성능입니다. ‘아두이노’는 평균 16MHz와 32kB램의 성능을 가지고 있는데요. 갈릴레오는 400MHz급의 인텔 펜티엄 x86 기반의 쿼크 SoC(System On Chip) X1000 AP와 256MB의 램을 탑재해 보다 고성능 작업을 할 수 있습니다.
또한 갈릴레오는 자체적으로 리눅스를 구동할 수 있고, Arduino IDE와 Visual Studio 등 다양한 개발환경을 지원합니다.
2015년에는 IoT 하드웨어 개발 후속제품으로 범용입출력(GPIO: General Purpose Input/Output) 속도와 구동전류를 개선시킨 갈릴레오 Gen2와 무선인터넷을 지원해 확장성을 강화한 에디슨도 출시 되었습니다.
전 세계 사람들에게 컴퓨터를 보급한 ‘라즈베리파이(Raspberry PI)’
영국 라즈베리파이 재단에서는 엔지니어나 학생들이 저렴한 가격으로 오픈소스 하드웨어를 만들 수 있게 최소한의 컴퓨터 부품을 사용해 초소형 컴퓨터를 만들었는데요. 바로 2012년부터 본격적으로 판매된 ‘라즈베리파이(Raspberry PI)’입니다.
프로그래밍 교육용으로도 사용하는 라즈베리파이의 특징은 크게 3가지 입니다.
첫째, 다양한 포트를 지원할 수 있습니다.
기본적으로 USB와 HDMI 단자가 내장되어 있고, 모델에 따라 이더넷 포트(Ethernet port)가 있는데요. 입출력단자(I/O: Input Output port)를 통해 범용입출력(GPIO), I2C 등을 지원하여 직접 만든 회로를 연결해서 사용할 수 있어 확장성을 가지고 있습니다.
둘째, 리눅스 운영체제를 지원합니다.
‘아두이노’와는 다르게 설치되어 있는 운영체제 안에서 직접 프로그래밍 하여 외부기기를 제어할 수 있습니다. 따라서 모니터와 입력장치들만 있다면 다른 컴퓨터가 없어도 프로그래밍이 가능하지요.
셋째, 다양한 고성능 IoT 기기를 제작할 수 있습니다.
1080p 영상재생이 가능하기 때문에 블루레이 플레이어로도 활용할 수 있는데요. 이더넷(Ethernet) 포트를 이용해 FTP서버로 만들어서 NAS(Network Application Support)처럼 사용할 수도 있습니다.
라즈베리파이를 이용해서 만든 핸드폰인 ‘파이폰(PIPhone)’, 라즈베리파이 64개를 연결해 만든 슈퍼컴퓨터 ’이디스파이’ 등 다양한 고성능 제품을 저렴한 가격으로 제작할 수 있습니다.
오픈소스 하드웨어의 미래와 발전 방향
현재 오픈소스 하드웨어들은 IoT 제품 뿐만 아니라 스마트폰, 드론 등 다양한 분야로 확산되어 적용되고 있는 추세인데요. 대표적으로 구글이 진행하고 있는 ‘프로젝트 아라(ARA)’가 있습니다.
기존 스마트폰과 다르게 모든 부품을 모듈화해서 원하는 성능의 스마트폰으로 조립할 수 있는데요. 예를 들어, 카메라의 성능을 올리고 싶다면 카메라 모듈만 구매해서 업그레이드 하고, 나머지 부품은 그대로 사용하는 것입니다. 굉장히 경제적이고 환경 친화적인 것이죠.
지금까지 오픈소스 하드웨어에 대해서 알아보았는데요. 우리가 상상했던 기기들을 직접 만들 수 있게 해 준 오픈소스 하드웨어가 참 놀랍고, 그 발전이 기대됩니다. 앞으로 더욱 발전된 오픈소스 하드웨어가 우리에게 가져다 줄 편안한 미래가 멀지 않은 것 같습니다.