마켓앤마켓 리서치 (MarketsandMarkets Research)의 글로벌 예측에 따르면, IoT 시장은 빠르게 성장하고 있으며 2022년까지 자본 규모가 5,610억 달러에 이를 것으로 예상된다. 이처럼 IoT 기반 환경이 성장함에 따라 IoT 지향 소프트웨어 엔지니어링에 대한 수요도 증가할 것으로 기대된다.
IoT 소프트웨어 엔지니어링은 소프트웨어와 하드웨어 솔루션을 혼합하여 IoT 인프라를 체계적으로 개발하는 것을 말한다. IoT 소프트웨어 엔지니어는 센서를 통해 수집된 데이터를 처리하고 직관적인 UI와 시각적 표현을 통해 실제 애플리케이션에 적합하도록 처리해야 한다.
IoT는 상태 확인 및 지속 가능한 활동을 위한 항공 및 항공 전자, 엔진 매개변수 및 차량 안전을 위한 자동차 산업, 방송 통신 또는 엔터테인먼트와 같은 다양한 분야에서 응용 된다. 인기가 높아지고 있는 분야는 스마트 시티, 건설, 스마트 전력망, 의료 서비스, 스마트 시장 기반 분석 등이다.
그렇다면, IoT 소프트웨어 개발 기술에 필요한 요소는 무엇이 있을까? 심폼 LLC(Simform LLC)의 모빌리티 및 IoT 이사인 하딕 샤(Hardik Shah)는 IoT 소프트웨어 솔루션을 개발하기 위해 개발 플랫폼, OS, 프로그래밍 언어의 세 가지 구성 요소가 필요하다고 강조했다.

∙ IoT 플랫폼
먼저 IoT 기반 제품의 구축 및 출시는 플랫폼에서 시작된다. 개발자는 이상적인 적합성을 찾기 위해 각 플랫폼에서 제공하는 다양한 특성을 고려해야 한다. 하딕 샤는 IBM 왓슨(Watson)과 애저(Azure), AWS를 예시로 들었다.
IBM 왓슨은 IBM이 IoT 솔루션 개발을 위해 제공하는 플랫폼으로 빠르고 안전한 구현, 온라인 데이터 분석 및 중요한 위험 시각화 등을 제공한다. 애저(Azure)는 마이크로소프트(Microsoft)가 제공하는 IoT 개발 플랫폼으로 데이터 수집, 분석 및 시각화와 같은 기능을 갖췄다. AWS는 AI 통합, 다계층 보안 및 확장성 뿐 아니라 장치 소프트웨어, 연결 및 제어, 분석 서비스 등을 제공한다.
∙ IoT OS
일반적으로 IoT 시스템은 저전력 처리 장치, 소형 RAM 및 제한된 저장소로 구성된다. 이러한 제한은 OS가 리소스를 많이 사용하지 않고 경량이어야함을 의미한다. 하딕 샤는 사용 가능한 OS 중 일부로 라즈비안(Raspbian)과 암 엠베드(Arm Mbed) OS를 들었다.
먼저 IoT 시스템용으로 널리 사용되는 OS인 라즈비안은 라즈베리 파이 (Raspberry Pi) 하드웨어에 최적화되어 있다. 사용하기 쉬운 OS로 35,000개 이상의 패키지를 컴파일한다. 암 엠베드 OS는 IoT 시스템의 모든 요구 사항을 충족하는 오픈 소스 OS다. Bluetooth 연결, 스레드, 6LoWPAN, 이더넷 및 Wi-Fi를 위한 드라이버뿐만 아니라 다층 보안을 제공한다.
∙ IoT 프로그래밍 언어
올바른 프로그래밍 언어를 선택하는 것도 IoT 애플리케이션을 개발하는 데 중요하다. 제한된 리소스로 코드는 짧고 컴파일하기 쉬워야 한다. 하딕 샤가 언급한 IoT 기반 프로그래밍 언어 목록은 c언어들과 자바, 파이썬 등이다.
먼저 C 및 C++는 하드웨어 관점에서 주목할만한 언어다. 모바일 프로그래밍 언어로 알려진 자바는 다양한 주변 장치와 호환되며 IoT 장치에 적합하다. 파이썬은 데이터가 많은 애플리케이션을 처리할 수 있기 때문에 IoT 애플리케이션에 적합하다.
하딕 샤는 “IoT는 엄청난 데이터 교환을 수반한다”면서 “개발자와 IT 팀은 데이터의 보안을 고려하고 지속적으로 개선하기 위한 조치를 취해야 한다”고 조언했다. 또 “통신 채널은 모든 IoT 소프트웨어 엔지니어링의 핵심이므로 문제로부터 보호하기 위해 개발자는 엄격한 프로토콜과 확립된 스키마(schema)를 따라야 한다”고 말했다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]