배너
닫기
배너

[Inside AIDC] 스마트폰과 연결 하드웨어 기술 및 동향

  • 등록 2014.08.28 14:06:02
URL복사

스마트폰과 연결 하드웨어 기술 및 동향
다양한 스마트폰 연결 장치 및 통신 기술 소개


스마트폰은 기술의 많은 흐름을 바꾸어 놓았다. 소프트웨어 환경뿐만 아니라 하드웨어 환경도 바꾸고 있다. 지하철에서 즐기는 소셜 네트워킹 및 모바일 워킹, 게임, 메신저 등은 일상적으로 볼 수 있는 스마트폰을 통한 생활의 변화다. 물론 이러한 기술적 변화가 좋은지 나쁜지는 추후에 판단할 문제이다. 단지 알 수 있는 것은 쉽게 스마트폰으로 메일을 읽고 답변할 수 있고, 업무를 보고, 친구들과 지속적으로 소통할 수 있는 기술을 손안에 갖게 되었다는 것뿐이다.
현재 스마트폰의 기술은 스마트폰 장치뿐만 아니라 다양한 하드웨어 장치와 연결할 수 있는 기술로 발전하고 있다. 스마트폰과 연결된 장난감, 온도계, 저울, 현미경 등 다양한 장치로 발전하고 있다. 이러한 장치들이 어떤 방식으로 연결되고 아이폰, 안드로이드에 연결할 수 있는 프로그램을 작성할 수 있는지 알아본다.


라영호  대표(주식회사 테뷸라)


스마트폰 연결 장치



스마트폰과 연결된 장치들은 무선 조종하는 장난감, 운동량 측정 장치, 스마트폰을 통한 원격 조정 장치 등 여러 형태로 분류할 수 있다. 앱세서리(Appcessory)로 불리기도 하며 앱을 통하여 조정하는 장치 혹은 부가 장치로 부르고 있다. 대부분의 장치는 스마트폰에 내장된 블루투스나 와이파이(WiFi)와 같은 통신 방법을 사용하여 연결하거나 마이크, 스마트폰과 PC와의 동기화를 위해 사용하는 커넥터를 통해 연결되는 방법을 사용하고 있다.

■와우위 로버(WowWee Rover) = 스마트폰을 통해 로봇에서 촬영된 영상을 보고 제어할 수 있는 장난감이다. 스마트폰을 통해 원격 제어를 할 수 있다. 와이파이를 사용해서 실시간으로 영상과 음성을 전달하고 스마트폰을 통해 제어할 수 있는 기능을 제공하고 있다.
■스패로 로봇=공모양의 로봇으로 블루투스를 사용하여 운용하는 제품이다. 로봇이지만 장난감 형태로 제품을 소개하고 있다. 특히 앱 개발을 위한 SDK를 배포하고 있어 본 제품을 활용한 다양한 앱이 출시되고 있는 형태다. 사실상 앱에 연결되는 장치, 앱을 스스로 개발할 수 있는 SDK 제공 등을 통해 진정한 스마트폰용 연결 장치의 형태라고 할 수 있다. 하지만 현재까지는 개인용 로봇 형태의 한계점 때문에 할 수 있는 것이 그렇게 많지 않다는 아쉬움이 있는 제품이다.
■락키트론(Lockitron) = 문에 부착된 자물쇠에 장착하는 인터넷 자물쇠다. 블루투스와 충격감지센서, 와이파이 등을 내장하고 있어 스마트폰 앱을 이용해서 문을 열고 닫을 수 있는 구조로 되어 있다. 블루투스를 이용하면 문 앞에서 스마트폰만 문에 가져다 대면 문이 열리는 구조도 되어 있다. 문 앞에 방문자가 문을 두드리면 문에 장착된 락키트론이 인지해서 그 사실을 스마트폰으로 알려주는 기능을 제공하고 있다. 
■위모(WeMo) = 컴퓨터 액세서리 전문 기업인 벨킨에서 출시한 위모(WeMo)는 집안의 가전기기들의 전원을 스마트폰 앱을 이용해 쉽게 제어할 수 있도록 해준다. 위모 스위치를 가전기기의 전원에 꽂으면 전원을 켜고 끌 수 있다. 위모 모션은 인터넷에 연결되어 있기 때문에 스마트폰 앱을 이용해서 집 밖에서도 집 안의 가전기기의 전원 상태를 체크해 켜고 끌 수 있다.
■트와인(Twine) = 작은 센서를 이용해 다양한 방법으로 자유롭게 사물인터넷을 구성할 수 있는 제품도 있다. 직사각형 모양으로 생긴 트와인에는 온도 센서와 가속도 센서 등의 5개 센서가 내장되어 있다. 추가로 외장 센서를 장착할 수 있는 구조로 되어 있다. 이 장치에는 와이파이 모뎀이 탑재되어 센서에서 감지한 데이터를 PC나 스마트폰 등을 통해서 확인할 수 있다.
특히 이 제품의 특징은 트와인을 다양한 방식으로 구성할 수 있는 스크립트 프로그램을 제공한다는데 있다. 이 프로그램을 이용하면 센서를 통해 특정값이 입력되면 특정 동작(SMS, 이메일, 트위터 등의 미리 지정해둔 컴퓨팅 작업)을 할 수 있도록 설계되어 있다. 현관문에 트와인을 장착해두고 문이 열리게 되면 문이 열렸다는 내용을 SMS로 발송하라는 등의 작업을 설정할 수 있다.
그림 4에서 보듯이 트와인의 구조는 마이크로 프로세서, 센서, 와이파이 모듈 등 3부분과 동작을 위한 전원 공급을 담당하는 부분으로 구성되었다. 와이파이 모듈의 경우에는 TCP/IP 스택이 내부에 내장되어 있어 웹 서비스를 쉽게 마이크로 프로세서에서 구현할 수 있도록 구성되었다. 이러한 간단한 구조로 와이파이를 통하여 스마트폰과 연동되는 장치가 구성되는 것이다.

 
스마트폰 통신 기술




스마트폰과 연결 장치간의 통신 방법은 현재 다양한 형태가 존재 한다. 현재 스마트폰에는 통신을 위한 대부분의 장치들이 내장된 형태로 구성되어 있고 연결 장치들에 어떠한 장치를 사용하여 스마트폰과 연결할 것인지가 사실상 중요한 요소이다. 블루투스와 같은 통신 방법은 연결 장치에 내장할 때 비교적 저렴하지만 와이파이와 같은 통신 방법은 연결장치에 내장하기에는 가격이 비싸기 때문이다.

■블루투스 = 저렴한 통신 방식, 일반적인 스마트폰의 경우 와이파이 및 블루투스 장치를 모두 내장하고 있기 때문에 다양한 스마트폰에서 사용할 수 있다. 아이폰에서의 블루투스 통신의 경우 이전의 경우에는 애플에서 MFI(Made For IPhone/IPad)인증을 해야 장치를 만들 수 있었다. 블루투스 4.0 버전으로 오면서 MFI 인증 없이도 아이폰과 연동되는 장치를 개발할 수 있는 형태로 변하게 되었다.
■Wi-Fi = 스마트폰에서는 문제가 없지만 와이파이 모듈을 탑재한 연결 장치를 만들기 위해서는 하드웨어 사양이 좋거나 TCP/IP와 같은 프로토콜이 내장되어 있는 와이파이 칩을 사용해야 하기 때문에 제품 가격이 높아진다. 따라서 고급 사양의 제품이거나 고기능을 요하는 제품에서 사용되는 방식이다. 앞에서 설명한 트와인과 같은 장치들이 본 방법을 사용하고 있다.
■헤드폰잭 = 스퀘어는 스마트폰에서의 신용카드 결제 기능을 제공하면서 혁신적인 서비스로 호평되었다. 이때 스퀘어에서 사용한 방식이 헤드셋을 꽂을 수 있는 헤드폰잭을 사용했다. 이 방식의 장점은 저렴한 부품으로 스마트폰과 연동되는 장치를 만들 수 있다는 점이다. 때문에 스퀘어에서도 10달러 대의 저렴한 카드리터를 판매하여 서비스를 제공할 수 있다.
■NFC = 근거리 무선 통신은 13.56MHz의 대역을 가지며, 가까운 거리의 무선 통신을 위한 기술이다. 현재 지원되는 데이터 통신 속도는 초당 424 킬로비트다. 교통, 티켓, 지불 등의 서비스에 사용할 수 있다. 스마트폰에서는 그림 8과 같은 NFC 태그를 사용하여 스마트폰과 간단한 통신을 하거나 정보를 전달하는 용도로 사용하고 있다.


블루투스 통신 기술




블루투스(Bluetooth)는 다른 어떤 통신방식보다 통신기능이 내장되어 있지 않은 디바이스들 간의 무선 네트워크를 쉽고, 저렴하게 구현할 수 있도록 도와주고 있다. 즉, 블루투스는 휴대폰, 스마트, PC, TV, 냉장고와 같은 가전기기의 네트워크 시대를 열어줄 기술로 사용되고 있다. 현재는 블루투스 4.0 버전이 사용되고 있으며 스마트폰과 다른 장치간의 연결에 있어 중요한 요소로 자리 잡고 있다.
블루투스는 1994년 에릭슨(Ericsson)이라는 이동 통신그룹이 휴대폰과 주변기기 사이의 소비전력이 낮고, 저가격의 무선통신 인터페이스를 연구하기 시작하면서 태동되었다. 1996년 2월 에릭슨, 노키아, IBM, 도시바, 인텔로 구성된 블루투스 SIG(Special Interest Group)를 결성했으며, 지금은 9개의 기업(Microsoft, Lucent, 3Com, Motorola)으로 확장되었다. 지금 활동하고 있는 관련 기업은 2000개 이상으로 알려져 있다.
블루투스 기술은 저가격대(칩 가격기준으로 5달러 이하), 적은 소모전력(100mW)으로 휴대폰, 스마트, 휴대용 노트북 등과 같은 휴대용 장치들 간의 작은 반경(10m 또는 100m)내에서 2.4Ghz의 ISM(Industrial, Scientific, and Medical) 밴드 주파수대역을 사용하여 무선 네트워크를 구성 하는 기술이다. 이 때 사용되는 출력은 10m용 에서는 0dBm, 100용에서는 +20dBm의 출력이 가능한 전력증폭기를 사용한다. 블루투스 네트워크에서는 1대1 통신, 1대n통신 연결을 지원 하고 있다.
스마트폰 통신에 사용되는 대표적인 기술에는 블루투스를 비롯해 IEEE802.11(무선 LAN), 홈 RF, IrDA등이 있으나 특히 블루투스가 가장 주목을 받고 있다. 블루투스는 비교적 간단한 통신방식을 채용하고 있고, 세계적인 칩 메이커와 스마트폰 제조사들이 대부분 채용하고 있기 때문에 저렴한 가격으로 공급 되고 있다. 블루투스에서 사용되고 있는 주파수 대역이 ISM 밴드로 전 세계 공통으로 사용하고 있으므로 별도의 인증이 필요 없이 사용할 수 있는 장점이 있다.
블루투스 내부 소프트웨어 구성은 크게 3가지로 구분 되어진다. 첫 번째로 블루투스 하드웨어와 밀접한 관계를 가지고 있으며 또한 펌웨어(Firmware) 형태로 제공되는 연결 관리자(Link Manager), HCI(Host Controller Interface) 등이 있다. 이것들은 베이스밴드(Baseband) 소프트웨어라고 한다. 이것은 보통 칩 제조업체에서 제공하고 있으며 그 구성은 다음과 같다.

•베이스밴드 소프트웨어: 블루투스 모듈 관리 소프트웨어
•‌연결 관리자(Link Manager): 블루투스 연결 관리 소프트웨어
•‌연결 관리 프로토콜(Link Manager Protocol): 연결 관리 프로‌토콜 처리
•‌HCI 호스트 컨트롤러

•‌UART 인터페이스 소프트웨어: 시리얼 통신을 통한 통신 처리 소프트웨어
•‌USB 인터페이스 소프트웨어: USB 통신을 위한 통신 처리 소프트웨어

스택은 PC나 스마트폰과 같은 운영체제가 존재하는 곳에 설치되는 소프트웨어로 그 구성은 다음과 같다.

•HCI 호스트 인터페이스
•L2CAP(Logical Link Control and Adaptation Protocol)
•SDP(Service Discovery Protocol)
•RFCOMM(RS-232 포트 시뮬레이션)
•TCS(Telephony Control Protocol)
•OBEX(Object Exchange Protocol)



마지막으로 블루투스의 사용·응용분야에 따른 내용을 규정한 프로파일로 그 구성은 다음과 같다. 아래 프로파일들은 실제로 블루투스를 통해 전화 접속을 하거나 시리얼 통신 등과 같은 실제 작업을 진행할 때 사용하는 프로파일이다.

•GAP(Generic Access Profile): 일반 접근 프로파일
•‌SDAP(Service Discovery Application Profile): 서비스 관리 프로파일
•CTP(Cordless Telephony Profile): 무선 전화기 프로파일
•IP(Intercom Profile): 인터컴 프로파일
•SPP(Serial Port Profile): 시리얼 포트 프로파일
•‌DUN(Dial-up Networking Profile): 전화 접속 네트웍 프로파일
•FAX Profile: 팩스 전송 프로파일
•Headset Profile: 헤드셋 프로파일
*•LAN Access Profile: 랜 프로파일

연결관리 프로토콜은 블루투스 하드웨어의 핵심이라 할 수 있는 베이스밴드 하드웨어를 직접 제어하는 펌웨어 레벨의 소프트웨어이다. 연결관리 프로토콜에는 피코넷 관리(Piconet Management), 링크 관리(Link Configuration), 암호화 기능(Security Functions) 등 3가지기능으로 구성되어 있으며 각 세부 기능은 아래와 같다.

•‌SCO(Synchronous Connection Orient)의 연결: 전력모드 관리
•링크 관리: 전송 퀄리티 제어(QoS), 전력제어
•‌암호화 기능: 인증(Authentication), 암호화(Encryption)

HCI는 블루투스 프로토콜 스택에서 가장 기본이 된다. HCI의 내용은 블루투스 스펙의 대부분을 차지하고 있다. HCI는 하드웨어 인터페이스 종류에 따라 UART, USB로 나누어질 수 있으며, 각 하드웨어 인터페이스 종류에 따라 HCI의 송/수신 부분이 약간씩 달라지도록 구성해야 한다.
HCI는 호스트와 호스트 컨트롤러 사이에 명령어와 그 수행결과를 전달하고 또한 데이터를 전달할 목적으로 사용되어지고 있다. 즉, HCI는 명령어(Command), 이벤트(Event), 데이터(Data) 송/수신으로 크게 나눌 수 있다. HCI에서 하드웨어적인 인터페이스가 UART인 경우, 패킷의 포맷은 아래와 같다.
HCI에서 명령어는 크게 6가지로 나누어지고, 총 90여 개의 명령어로 구성되어 있다. 명령어 패킷은 아래와 같은 형식이다.

•Link Control Commands
•Link Control Commands(OGF=0x01)
•Link Policy Commands(0x02)
•Host Controller & Baseband Command(0x03)
•Information Parameters(0x04)
•Status Parameters(0x05)




L2CAP(Logical Link Control and Adaptation Protocol)은 인터넷 프로토콜의 TCP레이어의 기능과 비슷하다. 이것은 HCI 계층위에 존재하고 논리적인 연결을 담당하고 있다. L2CAP은 HCI의 ACL 데이터구조를 이용하여 상호간에 데이터를 주고받으며 L2CAP과 L2CAP 사이에 데이터를 주고받을 수 있고, 또한 상위 레이어로 데이터를 주고받을 수 있다. L2CAP의 주요 기능은 ▲프로토콜 멀티플렉싱 ▲SAR(Segmentation and Reassembly) ▲QoS(Quality of Service) ▲Group 관리 등이다.
SDP는 블루투스 디바이스가 제공하는 서비스를 찾고 응답하기 위한 프로토콜로, 서버와 클라이언트로 나누어지며, PSM 코드는 0x0001번에 해당한다. SDP 클라이언트에서 서버쪽으로의 패킷전송은 L2CAP 패킷의 데이터 부분에 SDP에서 사용되는 패킷을 넣어 보내게 되고, 이 패킷은 L2CAP의 위쪽 계층에 있는 SDP로 전달된다. SDP 서버는 전달된 데이터를 분석한 후 적당한 응답을 되돌려주게 된다.

블루투스 버전에 따른 분류
■Bluetooth v2.0 + EDR = 기존의 최고 전송 속도였던 721kbit/s를 3Mbit/s로 끌어 올렸다. 실제 전송 가능한 속도는 2.1Mbit/s이다.
■Bluetooth v2.1 + EDR = v2.0과의 차이는 손쉬운 페어링(Paring)이 가능하도록 SSP(secure simple pairing) 기능이 추가됐다는 것이다. 그 외에 연결 시 필터링이 쉽도록 EIR(Extended inquiry response)이 강화되고, 저전력 모드에서 소비전류를 줄이는 기능이 추가되었다. 대부분의 안드로이드 폰이나 초기 아이폰에서 사용되었던 블루투스 통신 모드이다.
■Bluetooth v3.0 + HS = 여기서부터는 비교적 최근에 나온 갤럭시 S2나 동급 폰에서 제대로 지원하기 시작했다. Bluetooth 3.0+HS는 이론적으로 24Mbit/s의 속도를 제공한다.
■블루투스 4.0 = 소비전력을 줄인 저에너지 기술에 고속 무선통신을 지원하는 것이 특징으로 평균 전력과 대기전력을 줄여 동전 크기 배터리로 수년 동안 작동할 수 있도록 했으며, 기존 3Mbps 전송 속도도 24Mbps로 확장해 실시간 비디오 전송이나 대용량 데이터 전송을 쉽고 빠르게 구현할 수 있도록 구성된 형태이다.
■Bluetooth 핵심 규격 v4.0의 가장 주요한 기능이 될 저에너지 블루투스 기술
•극히 적은 피크전력, 평균전력 및 대기전력
•‌동전 모양의 배터리로 수 년간 작동할 수 있는 역량 - 저비용
•다수 업체간의 상호호환성
•길어진 송수신 거리

■블루투스4.0 핵심 규격은 싱글 모드와 듀얼 모드 두 형태로 구현 4.1 싱글 모드

•‌싱글-모드 칩들은 통합성이 고도로 높고 크기가 매우 작은 디바이스들을 가능하게 만든다.
•‌이 칩들은 극히 적은 대기모드 전력, 간단한 디바이스 감지, 그리고 최소의 비용으로 고도의 절전기능과 보안성이 높은 암호화된 연결을 통해 믿을만한 1-1연결, 1-N연결 데이터 전송 기능



스마트폰에서의 블루투스




스마트폰에서 사용하는 주요 블루투스의 기능 및 프로파일은 다음과 같다.
■‌FP(Hands-Free Profile)  = 일반적으로 핸즈프리를 지원하는 기기에서 사용되는 프로파일이다. 오직 음성만을 지원하며, 주로 자동차에 사용되는 블루투스 기기에서 사용된다. 현재 최신 버전은 1.5이며, iOS4에서 지원하고 있다.
■‌PBAP(Phone Book Access Profile) = 전화번호부에 접근하기 위한 프로파일이다. 아이폰에서 홈버튼을 계속 누르고 있으면 시작되는 음성명령 애플리케이션 등이 PBAP를 지원하는 프로그램이다.
■‌A2DP(Advanced Audio Distribution Profile) = 헤드셋이나 스피커로 음악을 전송할 때 사용하는 프로파일이다. 아이폰3G와 iOS3 버전부터 이 방식이 지원되기 시작했다. 아이폰으로 음악을 들으려면 직접 화면을 보고 조절할 수 있다.
■AVRCP(Audio/Video Remote Control Profile) = 오디오뿐만 아니라 비디오까지 컨트롤 할 수 있다. 아이폰3G, iOS4.1 버전부터 지원된다.
■PAN(Personal Area Network Profile) = 피코넷(Piconet)으로 불리기도 하는데, 최대 8개의 장치와 마스터-슬레이브로 연결될 수 있는 연결방식이다(IEEE 802.15에 정의돼 있다). 일반적으로 지원영역은 10m 정도이며, 기기 간을 연결해 최대 100m까지 사용할 수 있다. 데이터 교환을 위해 필수적으로 지원돼야 하며, 초기 아이폰을 제외하고는 모두 지원된다.
■HID(Human Interface Device Profile) = 각종 키보드, 마우스, 게이밍 디바이스, 태블릿 등을 지원하는 프로파일이다. 아이폰 3GS 이상, iOS4 이상부터 지원되기 시작했다. 이 프로파일을 이용하면 블루투스 키보드를 아이폰이나 아이패드와 연결할 수 있다.
■‌아이폰 블루투스 프로그래밍 = 아이폰에서는 CoreBluetooth 프레임워크를 통해 블루투스 통신을 할 수 있는 기능을 제공한다.

지금까지 스마트폰과 연결 장치 간의 프로그래밍을 위한 기초 정보에 대해서 살펴봤다. 다소 기술적인 부분과 용어적인 부분에 중점을 뒀는데 그 이유는 프로그래밍을 하기 위한 기초 지식이 필요하기 때문이다. 다음 연재부터는 실질적인 예와 내용을 살펴보면서 어떻게 프로그래밍과 구현을 할지 살펴보도록 하겠다.     <정리 = 안은혜 기자>









배너




배너

배너


배너


주요파트너/추천기업