스마트폰을 이용하여 인텔 에디슨 보드와 서버의 연동에 대한 연구개발과정을 설명하겠습니다.
먼저, 솔루션 개발업체 텔레트론은 1993 년 설립 되었으며, 주요 사업분야는 IP 네트워크, Wireless, 솔루션 등의 네트워크 기반 토탈 솔루션을 제공 합니다. 그리고, 본사 및 연구소는 대한민국 경기 도 안양에 있으며, 대만과 미국에도 현지 법인을 운영하고 있습니다.
텔레트론에서는 ‘Device Management’에 관한 연구개발을 ‘Smart Device Management 솔루션’이라고 합니다.
Device 는 우리말로 단말이라고 표현하고 있으며 스마트폰, 가전제품, 전자제품, 산업용장비등 다양 한 분야의 제품들에 적용될 수 있습니다. 이러한 제품들을 사용자의 목적에 따라 효율적으로 사용 할 수 있도록 돕는 솔루션이 ‘Smart Device Management 솔루션’입니다.
‘Smart Device Management 솔루션’을 활용하기 위한 Platform 의 전체적인 시스템 구성은 크게 Server, Device 그리고 Smart Phone 등의 3 가지로 나눌 수 있습니다.
첫 번째 구성요소인 서버는 구입한 제품의 등록 관리, 각 제품을 제어, 진단/모니터링, 펌웨어 업데 이트, 설정 관리, 클라우드, 스마트폰 인터페이스 등을 지원할 수 있습니다.
두 번째 구성요소인 Device 는 3G/4G/5G 등의 Mobile Network 또는 Ethernet/WiFi 등과 같은 데 이터 네트워크 망을 통해 서버에 접속 가능한 제품을 말하며, Smart Device Management 기능 지 원을 위한 소프트웨어가 적용됩니다.
세 번째 구성요소인 Smart Phone 은 Smart Device Management 인터페이스를 이용하여 개발된 Application 으로 사용자가 제품을 제어하거나, 진단/모니터링, 그 이외의 필요한 기능들을 사용할 수 있습니다.
‘Smart Device Management 솔루션’의 이해를 돕고자, 간단한 데모 세트를 기준으로 설명 하겠습 니다. 서버는 Intel® NUC 를 사용하였고, Device, 즉 제품은 인텔 에디슨 보드를 내장하였습니다.
그리고, 이들을 WiFi 공유기에 접속하도록 시스템을 구성했습니다.
이번 전체 데모 세트는 이동성을 위해 독립 네트워크 망으로 구성하였으나, 서버를공용 네트워크 에 구축하게 되면, 제품이 접속한 네트워크 종류, 제품이나 사용자의 위치에 상관없이 관리가 가 능합니다.
인텔 에디슨 보드는 듀얼 코어 500MHz 아톰 프로세서와, 100MHz 마이크로 컨트롤러, 1GB RAM, 4GB Flash, WiFi, Bluetooth 등이 하나의 모듈로 만들어져 있습니다.
에디슨 보드를 사용하기 위해서는 70 Pin 확장 커넥터를 사용해야 하는데, 인텔에서는 이를 위해 크기를 최소화한 Breakout 보드와 아두이노 호환 보드와 같이 2 가지 형태의 확장 보드를 추가로 제공하고 있습니다.
이번 데모는 에디슨 보드를 각 제품 케이스에 내장하기 위해 Breakout 보드를 사용하였으므로, Breakout 보드에 대해서 설명 하겠습니다.
Breakout 보드는 에디슨 모듈의 70 pin 확장 커넥터에 연결되어 전원 공급, 시리얼 모니터, 입/출력 등이 가능하도록, 2.54mm 헤더로 확장 핀들이 준비되어 있습니다.
전원 공급을 위해, DC 7~15V 의 전원이나, 리튬이온 배터리를 이용할 수 있도록 되어 있습니다.
‘Smart Device Management 솔루션’ 시연용 제품은 AC Power Adaptor 를 전원으로 DC +12V 를 연결했습니다.
다음으로 Breakout 보드의 GPIO, PWM 그리고 UART 에 관한 설명을 드리겠습니다. 이들 신호들은, 이번 동영상에서 보여지는 콘센트, 전등 그리고 센서에 사용됩니다.
GPIO 는 ‘General Purpose Input Output’을 의미하며, 디지털 신호를 입력 또는 출력할 수 있도록 만들어진 하드웨어의 한 방식으로 에디슨에도 GPIO 로 지정된 핀이 있습니다. 여기서 주의할 점 은, 인텔 에디슨의 경우 GPIO 의 전압 레벨이 0V~+1.8V 범위이고, 이 GPIO 로 제어 가능한 최대 전류도 +/- 3mA 이내이므로, 반드시 이를 염두에 두고 회로를 설계하여야 합니다.
단순히 On/Off 만 하는 제품은 GPIO 핀을 출력으로 설정하고, GPIO 출력이 0 일 때는 Off, 1 일 때 는 On 되도록 회로를 설계 해야 합니다.
예를 들어, 전기적 신호에 의해 On/Off 되는 스위치인 릴레이를 GPIO 로 제어 하였습니다.
그리고, 각 콘센트 별로 릴레이를 달고, 에디슨의 GPIO 로 제어하기 위해 Relay 구동회로를 추가 하였습니다. 여기서 사용한 콘센트는 가정용 노출 2 구 콘센트를 개조하였습니다.
전등의 경우 GPIO 핀을 입력으로 설정하여 구현하였습니다. 전등의 스위치를 누를 때마다 입력으 로 받아 전등을 On 또는 Off 되도록 하였습니다.
전등과 같이 밝기 조절이 필요한 제품은 PWM 방식을 사용 하였습니다.
PWM 은 ‘Pulse Width Modulation’이란 의미로, High 와 Low 로만 표현되는 디지털 신호의 폭을 조절하여 마치 아날로그처럼 표현될 수 있게 만드는 방법입니다. 전등을 예로 들면, 전기신호가 1 일 때 LED 가 On 되고, 0 일 때 Off 되는 회로에서 LED 를 1 초 주 기로 PWM 제어한다고 가정해 보겠습니다.
PWM 핀을 항상 0 으로 하면, 항상 LED 는 꺼져있게 됩니다.
PWM 핀을 항상 1 로 하면 항상 LED 는 켜지게 되고, 항상 켜있는 상태의 LED 의 밝기를 100%라 고 볼 수 있습니다.
그럼, LED 를 50% 밝기로 하기위해 어떻게 해야 할까요?
LED 를 1 초 동안 PWM 제어할 경우, PWM 핀을 0.5 초 동안은 0 으로 유지하고 0.5 초 동안은 1 로 유지하면 항상 켜있을 때보다 50% 만큼만 에너지가 공급됨으로 50% 밝기로 유지시킬 수 있습니 다. 다른 밝기도 이렇게 PWM 핀을 이용해서 얼마든지 표현 가능할 것입니다.
주의하실 점은, 인텔 에디슨에서 PWM 핀은 전압 범위가 0V~+1.8V 이내이기 때문에, 일반 전등에 사용된 LED 를 On/Off 할 수 없습니다. 그래서 LED 구동을 위한 LED Driver 회로를 추가 하였습니 다.
UART 는 ‘Universal Asynchronous Receiver Transmitter’로, 이번 시연에 사용된 센서의 Analogto-Digital 변환된 값을 입력받기 위해 UART1 을 사용하였습니다.
그러나 인텔 에디슨의 UART1_RX 의 전압 범위가 0V~+1.8V 이므로, 전압레벨 변환 회로를 추가 하여 전압이 +3.3V/+1.8V 가 될 수 있도록 하였습니다.