사물 인터넷 시대에 주목 받는 아두이노 이해하기

일찌감치 어둠이 내린 거리 곳곳에 깜빡 깜빡 거리는 불빛이 유난히 아름다운 12월. 아마도 저물어 가는 한 해의 아쉬움에 넋놓고 있기 보다 크리스마스 트리를 꾸미는 즐거움이 더 큰 한 달이기도 하다. 크리스마스 트리에 온갖 장식을 걸고 트리 주위를 둘러싼 작은 전구들의 스위치를 켜는 순간 은은한 전수의 빛이 쓸쓸함을 날려 버린다.

그런데 크리스마트 트리의 작은 전구들은 항상 켜져 있는 상태가 아니다. 일정한 시간 간격에 맞춰 몇몇은 켜지고 몇몇은 꺼지기를 반복한다. 마치 누군가 계속 스위치를 켜고 끄는 것처럼 수많은 전구가 교차하며 켜지고 꺼지기를 반복하는 것이다. 그 덕분에 우리는 더욱 운치있는 크리스마스 트리를 보게 된다.

이처럼 크리스마스 전구가 정해진 패턴으로 켜짐과 꺼짐을 반복하는 이유는 그렇게 작동하도록 프로그래밍된 마이크로 컨트롤러가 있어서다. 작은 칩 형태의 마이크로 컨트롤러에 내장된 프로그램에 따라 연결된 장치가 작동하는 데, 수많은 전자 제품 및 사물 인터넷 장치에 실려 기능을 제어하는 데 쓰이고 있다. 그런데 일반인들도 까다로운 마이크로 컨트롤러 대신 직접 원하는 기능을 실행하는 장치를 만들 수 있는 방법이 있다. 아두이노(Arduino)가 등장하면서 가능해진 일이다.

간단한 프로그래밍만 배우면 쓸 수 있는 아두이노

앞서 설명한 마이크로 컨트롤러는 사실 작은 컴퓨터라고 보면 이해하기 쉽다. 즉, 작은 칩 안에 메모리와 저장 장치, CPU의 회로를 넣어 놓고, 전원을 넣으면 내장된 프로그램에 따라 기능을 수행한다. 일정한 간격을 두고 전등을 깜빡이는 것도 몇 초 뒤에 켜고 끄는 프로그램에 따라 작동하는 것이다.

마이크로컨트롤러(왼쪽)와 아두이노 우노 보드(오른쪽). 마이크로컨트롤러와 아두이노는 처리장치, 램, 저장 공간을 모두 내장한 특성은 비슷하지만, 마이크로컨트롤러는 프로그램을 넣기 위해 특수 장치를 써야 하는 반면, 아두이노는 이용자가 손쉽게 프로그래밍을 하고 코드를 넣을 수 있다.

이처럼 마이크로 컨트롤러는 작은 장치를 작동시키는 중요한 역할을 하면서도 일반인이 직접 만들거나 다루기 힘들다. 하드웨어 지식 없이 만들 수 없고, 프로그래밍도 어려워서다. 그냥 컴퓨터처럼 작동하는 구조긴 해도 컴퓨터처럼 필요한 프로그램을 짜서 실행하거나 고칠 수 있는 게 아니라 칩 안에서 작동하도록 완전하게 설계해야 해야 하고 개발 장비들도 필요한 때문이다.

그런데 아두이노가 등장하면서 누구라도 손쉽게 마이크로 컨트롤러를 이용하는 전자 제품을 만들 수 있게 됐다. 아두이노 역시 마이크로 컨트롤러와 같은 기능을 하는 작은 보드처럼 보이지만, 이용자가 센서와 스위치 같은 다른 장치를 연결하고 프로그램을 쉽게 도와준다.

하지만 그냥 값싼 보드에서 끝나는 게 아니라, 쉽게 프로그래밍을 하고 이를 곧바로 확인할 수 있는 장점을 지녔다. 프로그래밍을 위한 아두이노 통합개발환경(Integrated Development Environment)은 윈도, 맥OS, 리눅스 등 PC 운영체제에서 실행될 뿐만 아니라 하드웨어에 작동 원리를 모르더라도 프로그래밍을 할 수 있도록 직관적인 함수를 라이브러리화해 놓은 덕분에 간단한 프로그래밍만 배우면 누구나 쉽게 장치를 작동시킬 수 있다. 이용자가 짠 아두이노 코드는 컴파일을 거친 뒤 USB로 연결된 아두이노에 업로드하면 그만이므로 비싼 장비를 쓸 필요도 사라진 것이다.

LED 전구를 깜빡이는 아두이노 프로그래밍 예제(출처 : 위키피디아 영문판)

이처럼 편리하고 쉬운 개발 환경 덕분에 간단한 장치를 만드는 데 아두이노를 쓰는 이용자가 늘어났고, 다양한 제품을 만들어냈다. 빛을 감지해 스위치를 작동시켜 차양을 펴고 접는 버스 정류장은 물론 웨어러블 장치를 만들거나 장난감 기차들이 신호에 맞춰 움직이는 미니 세트장을 만드는 등 흥미로운 프로젝트가 공유되고 있다. 그리고 아두이노의 장점은 수많은 장치가 연결되는 사물 인터넷 시대에 더욱 큰 가치를 만드는 중이다.

누구나 쉽게 쓸 수 있는 오픈 소스 플랫폼

아두이노 프로젝트의 시작은 이탈리아 이브레아 인터랙티브 디자인 전문학교(Interaction Design Institute lvera)다. 이곳은 2001년부터 2005년까지 운영되다 한차례 중단을 겪은 뒤 2009년 부활해 이브레아에서 밀란으로 장소를 옮겨 운영 중이다. 이 학교에서 시작된 아두이노의 씨앗을 심은 때는 2003년이었다. 하지만 처음부터 아두이노는 아니었다. 하드웨어 개발에 약한 비전공 학생들에게 필요한 50달러 짜리 마이크로 컨트롤러가 너무 비싸고 다루기 어려워 이를 대체하기 위한 수단으로 연구를 시작했고, 석사 논문 프로젝트로 와이어링(Wiring)이라는 플랫폼을 만들어냈다.

아두이노(이탈리아 발음으로는 아르두이노)라 불리게 된 것은 2005년부터. 그런데 학생들의 빠른 실기 작업을 돕는 것에 그치지 않고 완성된 배선 플랫폼과 함께 오픈 소스 커뮤니티에 아두이노를 공개했다. 오픈 소스 라이센스만 따르면 개인 및 기업에서 아두이노를 이용해 직접 호환 보드를 만들거나 장치를 만들 수 있도록 길을 연 것이다.

아두이노 프로젝트 허브에 공개된 열차 제어 모습(출처 : 유튜브 영상 캡쳐)

오픈 소스로 공개한 아두이노가 가져온 효과는 시간이 지날 수록 커졌다. 전문 개발자가 아닌 일반인이 디지털 프로젝트를 만들 수 있는 간단하고 값싼 장치인데다 오픈 소스 라이센스에 따라 개발 결과를 공유하면서 아두이노를 기반으로 한 오픈 소스 커뮤니티가 형성된 덕분에 전공자와 함께 일반인이나 예술가도 아두이노를 활용하고 있다. 그만큼 쉽게 이용할 수 있다는 것을 지난 15년 동안 입증해 온 것이다.

사물 인터넷 시대에 아두이노의 관심이 더 커진 데는 아두이노의 장점 때문이다. 비용이 덜 들고, 여러 플랫폼을 통해 개발할 수 있는데다 쉬운 프로그래밍 환경과 오픈 소스의 장점까지 결합한 덕분에 다양한 산업에서 필요한 사물 인터넷 장치를 만들거나 연구하기에 알맞은 환경을 제공한다.

이를 위해 다른 장치를 제어했던 것처럼 인터넷 연결에 필요한 모듈을 아두이노에 더하면 손쉽게 사물 인터넷 장치로 바꿀 수 있다. 기존처럼 인터넷 연결 없이 크리스마스 전구나 조도, 공기질 측정, GPS 같은 수많은 센서들, 디스플레이나 스피커, 전동 모터 등 전기로 작동하는 수많은 부품을 제어할 수도 있지만, 여기에 인터넷 모듈을 붙여 데이터를 전송하고 이를 서버에서 분석하고 처리한 뒤 제어할 수도 있다.

다만 아두이노 기반의 사물 인터넷 장치 개발을 처음 시작하는 이들에게는 이러한 부품을 따로 준비하는 것이 어려운 일일 수 있기 때문에 아두이노와 망 연결에 필요한 간단한 부품을 모은 스타터 키트를 내놓는다. 스타터 키트는 아두이노 보드와 연결 케이블, 저항과 전구처럼 간단히 실험할 수 있는 부품이 내장되어 있다. 사물 인터넷도 마찬 가지다. 사물 인터넷 장치를 만들려는 이용자가 처음부터 하나하나 부품을 찾지 않아도 통신 모듈과 베이스 보드로 구성된 SKT IoT 스타터 키트를 활용하면 LTE 기반 사물 인터넷 망에 접속하는 장치를 만드는 어려움을 줄일 수 있다.

이처럼 이용자에게 알맞게 준비된 스타터 키트들은 아두이노를 더욱 친숙하게 만들어줄 뿐만 아니라 직접 장치를 만드는 즐거움을 깨닫게 해준다. 이러한 즐거움은 지난 15년 동안 꾸준하게 진화하면서 업그레이드해 온 노력의 산물이다. 여기에 더해 아두이노는 다양한 장치를 써야 하는 사물 인터넷 시대에도 소형 장치 플랫폼으로써 진화를 멈추지 않을 것이다. 누구나 쉽게 장치를 만들 수 있는 환경을 제공하려고 했던 의지를 계승한다면 세상이 어떻게 바뀌든 아두이노의 존재는 사라질 수 없을 테니까.

덧붙임 #

이 글은 SK브로드밴드에 기고한 글로 일부 내용이 다를 수 있습니다.

PHIL CHiTSOL CHOI Written by:

Be First to Comment

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다