아두이노(Arduino)
아두이노(Arduino)는 오픈소스를 기반으로 한 단일 보드 마이크로컨트롤러다. 임베디드 시스템 중의 하나로써 사물인터넷을 쉽게 개발할 수 있는 환경을 제공하고 장치를 만들어낼 수 있다. 아두이노는 AVR 기반과 ARM 기반으로 만들어진 두가지 계열의 보드가 존재한다. 현재는 AVR 계열의 보드가 많이 사용되고 있다. 아두이노는 다수의 스위치나 센서로 부터 값을 받아 LED나 모터와 같은 외부 전자 장치들을 통제함으로써 상호작용이 가능한 물건을 만들 수 있다.
아두이노의 장점은 마이크로컨트롤러를 쉽게 제어할 수 있는 것이다.USB를 통해 컴파일러 된 펌웨어를 쉽게 업로드 할 수 있다. 다른모듈에 비해 가격이 저렴하고 다양한 운영체제를 모두 지원한다. 또한 아두이노 보드의 회로도가 모두 공개되어 있어 누구나 직접 보드를 만들고 수정할 수 있다.
아두이노는 전용 소프트웨어가 있다.Java와 C언어를 기반으로 개발되는 크로스 플랫폼 응용소프트웨어이다. 구문강조, 괄호찾기, 자동 들여쓰기 기능이 포함된 에디터와 한번의 클릭으로 컴파일과 업로드가 가능한 컴파일러 기능을 포함한다. 아두이노는 동작을 위해서 C++언어를 기반으로 한다. 컴파일러는 avr-gcc을 사용한다. 따라서 avr-gcc가 제공하는 많은 C언어 표준 라이브러리와 함수를 사용할 수 있다.
아두이노 통합환경은 편집기, 컴파일러, 업로드 등이 합쳐진 환경이다. 기타 개발에 필요한 각종 옵션 및 라이브러리를 관리할 수 있다. 실행시 개인용 컴퓨터와 시리얼 통신을 할 수 있는 모니터를 제공한다. 보통 USB를 통해 업로드 하므로 아두이노 보드는 USB를 시리얼 통신으로 바꾸는 방법이 제공된다.
현재 아두이노는 다양한 곳에 활용이 가능하다. 작게는 LED를 깜박이는 것부터 시작해서 무선 RC카와 드론제작 까지 적용이 가능하다. 원격으로 센서를 모니터할 수 있고 디스플레이와 모터를 인터넷으로 제어할 수 있다. 현재는 근전도 센서, 조도 센서와 블루투스를 비롯한 다양한 부품들과의 결합이 가능해 사물 인터넷을 실현할 수 있다. 아두이노가 인기를 끌면서 이를 비지니스에 활용하는 기업도 늘고 있다. 장난감 회사 레고는 자사의 장난감과 아두이노를 활용한 로봇교육 프로그램을 만들어 운영하고 있다. 자동차 회사 포드는 아두이노를 이용해 차량용 하드웨어 소프트웨어를 만들어 차량과 상호작용할 수 있는 오픈 XC라는 프로그램을 선보이기도 했다. 이처럼 아두이노의 활용범위는 다양하며 그 발전 가능성도 무궁무진하다.