기존 시스템을 IoT로 쉽게 바꾸는 방법
상태바
기존 시스템을 IoT로 쉽게 바꾸는 방법
  • 마이크로칩테크놀로지
  • 승인 2020.07.28 08:40
  • 댓글 0
이 기사를 공유합니다

[테크월드=선연수 기자] 커넥티드 가전제품이 급증하는 현재의 모습은 1990년 대 개인용 PC의 인터넷 연결이 급격히 늘던 시기를 떠오르게 한다. 지금과 비슷하게 당시에도 PC와 인터넷을 연결하는 기술이 단지 판매 상술에 불과한 것인지, 우리 사회에 지속적으로 영향을 미치게 될지에 대한 논쟁이 있었다.

 

커넥티드 PC와 휴대폰은 우리 생활에서 없어서는 안 될 필수품이 됐고, 커넥티드 가전제품 역시 전 세계적으로 도입이 적극적으로 이뤄지면서 비슷한 길을 밟을 것으로 전망된다.

전 세계 어디서든 집에 있는 커피머신을 켤 수 있는 기능은 인생을 뒤바꿀만한 기술은 아닐지라도, 가정 속 사물인터넷(IoT) 혁명의 시작으로 볼 수 있다. IoT는 가전 분야의 진화, 사업 기회 확장의 토대가 될 것이다.

특히, 머신러닝(Machine Learning)과 인공지능(AI) 기술의 지속적인 발전을 통해 가전의 진화는 보다 가속화될 것이다. 이는 가전제품과 센서로부터 원시 데이터(Raw Data)를 수집함으로써, 완전히 새로운 적용 분야와 기회의 문을 열어 준다.

 

커넥티드 IoT 구현, 어렵지 않다

개발자 중에는 커넥티드 IoT 임베디드 디자인을 구축하는 것이 매우 어려운 일이 될 것이라고 우려하며, 이로 인해 IoT 혁명에 합류하는 것에 확신을 갖지 못하는 사람들도 있다. 그러나 IoT 구현의 필요 조건을 달성하는 것은 상당히 용이한 수준이다.

일반적으로 IoT 기반 제품은 ▲’스마트’ 요소인 프로세서나 마이크로컨트롤러 ▲’커넥티드’ 요소인 네트워크 컨트롤러 ▲’보안’ 요소인 클라우드와의 통신 보호 수단의 3가지 요소로 구성된다.

개발자는 훌륭한 제품을 만들기 위해 이미 상당한 시간과 노력을 투자하기에, 기존 설계 작업의 대부분을 재사용하는 것이 유리하다. 이에 커넥티비티, 보안 구성 요소만 추가해 IoT 연결성을 확보할 수 있다. 솔루션을 처음부터 새로 설계하는 것보다는 IoT를 연결할 수 있도록 기존 설계를 빠르게 변경하는 것이다. 이는 소프트웨어 프로그래밍 분야에서 개발의 단순·가속화가 증명된 기법을 적용하면 보다 효율적으로 구현할 수 있다.

 

모듈식 시스템으로 인증 걱정 덜기

기존 제품을 IoT 환경에서 작동하도록 작업할 때, 임베디드 개발자는 소프트웨어 프로그래머에게 몇 가지 요령을 배워야 한다.

프로그래머들은 오랜 관례에 따라, 복잡한 프로그래밍 과제를 진행할 경우 하향식 설계 방식이나 모듈러 프로그래밍 방식으로 전환해 왔다. 이는 큰 문제를 관리가 용이하고 작은 하위 문제로 나누고, 다시 단위 업무로 나눠 해결하는 방식이다. 이는 모놀리식 코드(Monolithic Code)로는 해결이 어려운 문제를 처리할 수 있는 강력한 접근 방식이다. 그렇다면, 이 방식을 임베디드 하드웨어 시스템에 적용하려면 어떻게 해야 할까?

임베디드 시스템 개발에 모듈러 방식을 적용하는 것은 위의 방식과 동일한 효과를 달성하는 것으로 나타났다. 임베디드 시스템은 프로그래밍의 어려움도 있지만, 관련 표준과 엄격한 인증 과정을 거쳐야 한다. 인증 후에도 소프트웨어나 하드웨어를 변경하면 제품 인증 절차를 다시 밟아야 하는 경우도 있다.

따라서 인증이 필요한 부분을 서브 시스템으로 분리하는 것은 인증 부분을 비롯해 큰 장점이 된다. 분리 개발을 하게 되면, 특정 서브 시스템에서 버그가 발견돼도 다른 서브 시스템의 성능에는 영향을 주지 않는 것도 이점이다.

 

하위 업무 분류하기

사용자 경험을 개선하고 원격 진단, 모니터링, 자동 풀필먼트(Fulfillment) 서비스, 제품 개선을 위한 데이터 수집 등 다양한 기능을 쉽게 추가하기 위해, 기존 제품의 차세대 버전에 안전성이 보장된 인터넷 연결 기능을 추가하려는 경우가 많다.

이런 IoT가 되기 위해서는 ▲기존 애플리케이션 ▲인터넷 커넥티비티 ▲애플리케이션 보안 확보 수단 등의 3가지 핵심 기능이 필요하다. [그림 1]은 기존 애플리케이션에 보안·커넥티비티 기능을 추가해 IoT 가능 애플리케이션을 구현할 수 있음을 보여준다.

 

 

[그림 1] 기존 애플리케이션으로 IoT 가능 애플리케이션을 구현하는 방법

IoT 구현 관점에서 볼 때 [그림 1]과 같은 설계는 기존 애플리케이션 재사용, 보안 기능 추가, 커넥티비티 추가 등의 3가지 하위 업무로 세분화할 수 있다.

그러나 처음부터 보안과 인터넷 연결을 새로 개발하는 것은 어려운 일이다. 기존 애플리케이션에 새로운 기능을 결합하는 작업도 통합 애플리케이션의 품질을 낮추는 등 기존 솔루션에 영향을 줄 수 있다.

또한, 개발자는 현재 애플리케이션에 최적화된 코드를 작성하는 경우가 많아, 이로 인해 타이밍이 매우 중요한(Timing-Critical) 연결 기능과 컴퓨터 연산 작업이 많은 보안 기능을 추가하는 동시에 업데이트된 제품에 대해 동일한 성능 수준을 보장하는 것은 매우 어려운 일이 될 수 있다.

[그림 2]는 통합 방식을 제시하고 있다. 모든 기능을 단일 솔루션으로 구현하는 방식은 애플리케이션 코딩과 디버깅을 더욱 복잡하게 만든다. 코드의 어느 한 부분에 버그가 있으면, 다른 주요 기능의 타이밍과 성능에 영향을 줄 수 있기 때문이다. 이로 인해 단순 버그로 인한 부작용이 발생할 가능성이 높아지고, 재인증이 요구될 수도 있다.

 

[그림 2] 통합솔루션은 모든 코드와 기능이 단일 기기에 통합돼 코드의 복잡성이 높고 긴 개발 기간을 요구한다

 

보안·통신 전문가가 아니어도 OK

모듈러 방식을 채택하면, 기존의 코드베이스와 IP는 유지하면서도 커넥티비티와 보안 기능은 필요에 따라 추가할 수 있다. 이는 별도의 소프트웨어·하드웨어 작업으로 보안·커넥티비티 기능을 분리 구현해 개발 소요 시간을 대폭 줄여준다. 특정 제품 개발에 요구되는 엔지니어 인력도 줄일 수 있다. 코드와 시스템을 재사용하는 것이 용이해 유연성도 더 우수하다.

예로, 기존 제품으로 Wi-Fi 지원 버전과 블루투스 저전력(BLE) 버전 2가지를 만들 때, 모듈러 방식을 활용하면 더 빠르고 쉽게 혁신적인 IoT를 설계할 수 있다.

 

[그림 3] 모듈러 솔루션을 활용해, 기존 애플리케이션의 핵심 프로세서와 보안·커넥티비티 기능이 독립적으로 동작하는 IoT 시스템을 구현할 수 있다

모듈러 방식은 기존 제품에 IoT 커넥티비티 기능을 추가하는 과정에서 기존 시스템의 최적화, 미세 조정에 주안점을 둔 작업들이 일절 손실되지 않는 것이 장점이다. 개발자는 시스템의 다른 부분에 영향을 주지 않으면서도 필요한 기능을 쉽게 추가할 수 있다.

프로세스를 간소화하기 위해 보안·무선 통신용으로 인증된 모듈을 사용할 수 있다. 마이크로칩의 ATECC608A은 보안 키와 인증서를 저장·인증하는 것과 관련된 모든 업무를 처리해, 코드를 작성하지 않아도 우수한 보안성의 솔루션을 구현하도록 돕는다.

인증된 무선 모듈이 무선 네트워크에 안전하게 연결될 수 있도록 필요한 작업들도 모두 수행해준다. 이를 통해 인증 소요 시간을 줄이는 등 신제품 출시에 드는 시간을 절감할 수 있다.

보안·무선 기능 확보를 위해 인증된 모듈을 적용할 경우, 개발자는 보안·통신 전문가가될 필요는 없다. 모듈에는 필요한 코드 요소가 모두 포함돼 있으며, 대게 UART, SPI, I2C 등의 직렬(Serial) 인터페이스로 간단한 명령어를 전송해 모듈을 컨트롤할 수 있다.

 

[그림 4] 커넥티비티 모듈을 내장한 마이크로칩의 AVR-IoT WG 개발 보드를 사용해 프로토타입을 몇 분 만에 제작할 수 있다.

마이크로칩은 더욱 단순한 제품 설계를 위해 AVR-IoT WG 개발 보드에 안전하고 배포가 용이한 IoT 커넥티비티 모듈을 내장하고 있다. 결합된 AVR 마이크로컨트롤러, 보안 요소 집적 회로(IC), 인증된 Wi-Fi 컨트롤러와 툴을 활용해 클릭 몇 번만으로도 단 30초 안에 기존 제품을 구글 클라우드 IoT 코어에 연결하고 데이터을 전송할 수 있다.

 

커넥티비티 가전의 미래 가치

가전·컨슈머 제품의 클라우드 연결은 인공지능(AI)과 머신러닝 애플리케이션에 빅데이터를 제공하고, 원격 펌웨어 업데이트를 안전하고 쉽게 실행할 수 있도록 돕는다. 그 결과 훨씬 큰 가치를 창출할 수 있는 잠재력이 만들어진다. 개발자들은 개발 과제를 세분해 보안·통신 기능이 인증된 모듈을 적용함으로써 더 좋은 활용 기회를 위한 디자인 구현의 지름길을 확보할 수 있다.

 

글: 아릴드 로드랜드(Arild Rodland) 마이크로칩테크놀로지 유럽·중동·아프리카 비즈니스 개발 매니저

자료제공: 마이크로칩테크놀로지

 

- 이 글은 테크월드가 발행하는 월간 <EPNC 電子部品> 2020년 7월 호에 게재된 기사입니다.

 


관련기사

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