‘안드로이드 띵스’ 내부 구조와 프로그래밍 방법 (2)
상태바
‘안드로이드 띵스’ 내부 구조와 프로그래밍 방법 (2)
  • 이나리 기자
  • 승인 2017.05.26 15:05
  • 댓글 0
이 기사를 공유합니다

[CCTV뉴스=이나리 기자] IoT 개발에서 가장 중요한 부분은 ‘연결성, 보안, 개발 환경’이다. 또 쉽게 개발할 수 있는 장점이 있어야 한다. 안드로이드 띵스(Android Things)의 장점은 안드로이드 운영체제와 같은 맥락의 운영체제이고, 자바를 기반으로 하는 시스템이다. 따라서 안드로이드 띵스는 자바(JAVA) 언어를 통해 IoT 하드웨어 장치를 만들 수 있고, 기존의 IoT 플랫폼 위에 안드로이드 띵스를 설치해 운영할 수 있는 것이 장점이다.

스마트폰 환경에서는 안드로이드 운영체제를 통해 플랫폼과 앱 개발 환경을 제공하고 있는 구글이 이제 IoT 환경용 플랫폼과 개발 환경을 제공하기 시작했다. 안드로이드 띵스의 장단점은 다음과 같다.

◇ 장점
- 기존 스마트폰 앱처럼 IoT 앱을 개발할 수 있다.
- JAVA 언어를 사용해 앱을 개발할 수 있다.
- 다양한 플랫폼을 지원하고 있다.
- 하드웨어에 대한 이해가 적더라도 IoT 프로그래밍을 할 수 있다.
- 운영체제, 네트워크에 대한 별도의 개발이 필요 없다.
- 자바로 프로그래밍 할 수 있기 때문에 이식성이 좋다.

◇ 단점
- 아직까지는 IoT 플랫폼 중 고가의 하드웨어 제품군만 지원한다.
- 아직까지는 많은 플랫폼에 적용이 되지 않고 있다.
- 경량화된 버전이 나오면(16비트 프로세서 지원) 확산 가능성이 있으나 아직까지는 미지수다.

안드로이드 띵스는 발표된지는 얼마 되지 않았고 안드로이드 운영체제와 같은 파괴력은 가지고 있지 않기 때문에 앞으로 어떻게 될지는 예측하기 어렵다. 다만 IoT의 새로운 방향으로 제시되고 있는 방법이라고 생각하면 될 것이다.

 ◇ 안드로이드 띵스(Android Things)의 개발 방법

안드로이드 띵스의 개발 방법은 기존 판매중인 IoT 모듈에 안드로이드 띵스 운영체제 이미지를 올린 후 사용하는 방법이다. 현재 지원하고 있는 하드웨어 플랫폼은 인텔 에디슨(Edison), 인텔 줄(Joule), NXP 피코(Pico) I.MX6UL, NXP 아르곤(Argon) I.MX6UL 등이 있다[그림2]. 더불어 라즈베리파이 3(Raspberry Pi 3) 하드웨어를 지원하고 있지만, 아직까지는 많은 하드웨어를 지원하고 있지는 않다.

안드로이드 띵스는 안드로이드 운영체제처럼 자바 언어를 지원하기 때문에 빠른 프로세서와 많은 용량의 메모리를 요구하고 있다. 이런 점이 개선돼 다양한 하드웨어를 지원할 수 있다면 안드로이드 띵스는 다양한 플랫폼에서 사용될 것으로 예상된댜.

안드로이드 띵스는 [그림2]에서 지원하는 하드웨어를 사용해 개발하거나 구글에서 BSP(Board Support Package)를 입수해 별도로 개발한 하드웨어에 구글 띵스(Google Things) 운영체제를 탑재시켜 개발하는 방법이 있다.
  

◇ 안드로이드 띵스(Android Things)의 구조

[그림3]은 안드로이드 띵스의 내부 구조를 보여 준다. 안드로이드 띵스는 안드로이드 운영체제와 마찬가지로 리눅스 커널위에 자바언어로 만든 응용 프로그램을 처리하는 각종 서비스로 구성됐다. 또 안드로이드 띵스는 안드로이드와 동일한 구조를 가지고 유사한 프레임워크를 사용하고 있기 때문에 기존의 안드로이드 앱 개발자도 쉽게 안드로이드 띵스 앱을 개발 수 있도록 지원하고 있다. 특히 안드로이드 띵스는 안드로이드와 달리 디스플레이를 탑재하지 않아도 동작할 수 있도록 만들어졌다.

전체 기사를 보시려면 로그인 필요

로그인 또는 회원가입을 해주세요. (회원만 열람가능)

로그인 회원가입


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.