우리는 지금 사물인터넷(IoT), 빅데이터, 클라우드, 딥러닝(Deep Learning), 모바일, 블록체인 등 엄청난 기술의 홍수 속에 살고 있습니다. 웹 2.0의 데이터 홍수에 이어 웹 3.0에서는 정보의 의미와 품질이 중요해지고 개인화되어 가는 새로운 흐름을 맞이하고 있습니다. 이런 데이터 기반이 기술을 DT(Data Technology)라고 부릅니다. 이런 기술들은 어느 날 갑자기 생겨난 것이 아닙니다. 한때 어디서든 컴퓨터를 사용할 수 있다는 유비쿼터스라는 말이 유행하던 시대가 있었습니다. 이에 더 나아가 모든 전자기기나 사물 간에 연결되는 M2M(Machine to Machine)으로, 그 모든 연결을 인터넷을 기반으로 정보를 수집하고 제어하는 IoT(Internet of Things)로, 요즘에는 연결 대상에 대한 제안을 한정 짓지 않는 초연결시대를 일컫는 IoE(Internet of Everything)로 그 범위를 확대해가고 있습니다.
IoT의 성장은 단지 기기 간 연결하기 위한 통신 기술에만 있지 않습니다. 수집된 방대한 데이터를 저장하기 위해 공유 인프라 형태의 클라우드 서비스 환경이 필요했고, 대량의 데이터를 분석하기 효율적으로 다루며 깊이 있는 분석을 하기 위해 빅데이터 기술도 발전했습니다. 이제 머지않아 실현될 1,000배 빠른 네트워크 5G가 도래하면 IoT로 생산되는 데이터의 시공간적 한계는 없어질 것입니다.
이런 모든 기술은 서로 순환하는 형태로 발전되고 있습니다. 가상화 기술이 분산컴퓨팅 기술로 구현되며 클라우드 기술이 발달했고, 이렇듯 저렴하고 신축성 있는 인프라 기술은 그동안 침체되어 있던 인공지능 및 머신 러닝을 발전시켜 딥러닝이나 왓슨과 같은 인지컴퓨팅이 가능하게 만들었습니다. 성능이 표준화된 x86 서버의 확대와 성숙도 높은 다양한 리눅스 운영 체제가 발달해 유닉스 서버를 대체하고 있고, 이런 서버 장비의 범용화(commodity)는 대량의 장비를 운용하는 서비스 사업자에게는 기존의 스토리지 제품, 네트워크 장비들을 대체하고 싶은 욕망을 이끌어내서 소프트웨어 기반으로 장비를 제작하는 SDx(Software Defined Anything)으로 확대되어 기존 상용제품으로부터의 독립을 시도하고 있습니다.
최근에 화두 되는 이러한 기술들은 몇 가지 특징을 가지고 있습니다. 첫 번째는 IT 기술이 활용되는 비중이 점점 커지고 산업의 경계가 허물어지고 있다는 것입니다. 기존 IT 의존도가 높았던 금융이나 가전, 반도체 등과 같은 영역 이외에도 전통적인 제조 영역인 자동차, 항공, 서비스 업종에서도 IT를 통한 변화의 폭이 커지고 있으며 법률이나 의학과 같은 전문가 중심의 영역에서도 인공지능을 통한 새로운 사례가 증가하고 있습니다. 두 번째는 기술과 산업 영역이 경계가 무너지고 기술이 다양한 방식으로 함께 활용되며 융합과 조화를 이루며 새로운 가치를 만들어 간다는 점입니다. 세 번째는 오픈소스에 기반을 두고 있다는 점입니다. 아두이노는 오픈 하드웨어라 불리는 제품군입니다.
아두이노는 IoT의 최말단을 구성하는 센서류이기도 하고, 다른 한편으로는 자동화된 로봇을 구성하는 핵심 엔진으로 동작하기도 합니다. 예전에도 마이크로프로세서를 이용해 간단한 로봇을 제작하는 사례는 많았습니다. 그러나 아두이노의 차별점은 오픈소스 플랫폼이라는 것입니다. 오픈소스는 공개의 힘으로 확대되고 성장하는 속도가 빠릅니다. 벌써 아두이노를 모방한 많은 유사 보드들이 출시돼 있습니다. 더 저렴하고 기능이 좀 더 추가된 제품들도 있습니다. 아두이노는 이러한 건전한 성장을 추구합니다. 바로 이것이 아두이노에 주목하는 이유입니다. 이미 외국에서는 소프트웨어 교육을 초등학교 공식 교과목으로 채택하고 있으며, 우리나라도 2018년 올해부터 소프트웨어 교육을 의무화했습니다. 올해 중학교 1학년으로 시작된 소프트웨어 의무교육 대상은 내년부터 초등학교 5, 6학년까지 확대됩니다. 이에 따라 컴퓨터 관련 기업, 대학, 지방자치단체 등이 주최하는 코딩 대회도 매년 늘어나는 추세입니다.
아두이노는 어린이들도 쉽게 소프트웨어와 하드웨어를 동시에 경험해볼 수 있는 도구입니다. 처음 아두이노를 접하고 나서 아두이노는 어른들이 재미있어 할만한 도구라는 생각과 더불어 어린 학생들에게도 참 좋은 학습 도구가 될 것 같다는 생각을 해봤습니다. 아이디어를 모은 저희는 소프트웨어 프로그램이나 공학 전문 지식이 없는 사람도 아두이노의 재미에 빠져볼 수 있게 도와주는 책을 함께 쓰게 되었습니다. 이 책을 쓰는 몇 개월 동안 단순히 글을 쓴다는 것 이상으로 아이디어를 모으고 실험하는 과정을 중요하게 생각하고, 가능하면 아두이노를 처음 접하시는 분들에게 도움이 될 수 있는 책이 되기를 바라며 노력했습니다.
십여 년 이상 소프트웨어 개발자로 살면서 많은 개발 프로젝트를 수행했고 다양한 개발 언어를 활용해본 경험에 비춰볼 때 아두이노에서 사용하는 프로그래밍은 난이도가 월등히 높은 것은 아니지만, 단순히 소프트웨어뿐만 아니라 직접 하드웨어 작품을 만들며 프로그래밍하는 데에서 각종 센서나 디스플레이 등 보이고 움직이는 장치들을 사용하는 또 다른 재미를 느낄 수 있었습니다. 여러분들도 쉽지만 단순하지 않은 아두이노의 가능성과 즐거움을 경험해 보시기를 기대해 봅니다.
2021년 IT 핫키워드는 단연 메타버스다. 하지만 올해뿐만 아니라 이후 몇 년간 계속 지속될 것이라 예상된다. 이렇게 많은 사람이 관심을 갖는 것은 인터넷이 우리 생활의 패턴을 송두리째 바꿨던 것처럼 메타버스도 그 정도 파급력이 있을 것으로 추측하기 때문이다.
메타버스를 구현할 개발 플랫폼으로 우선 유니티나 언리얼 같은 게임 엔진이 있다. 또 다른 진영으로 웹을 기반으로 둔 WebGL 및 WebXR을 통해서 몰입도 높은 3D 콘텐츠를 직접 만들거나 가상/증강 현실 하드웨어에서 실행할 수 있는 엔진이다. 이 엔진들은 기본적으로 가상/증강/혼합 현실 개발을 위한 기능을 모두 제공한다. 실사례로 최근에 WebXR을 도입한 메타버스 전시회가 있었다. VR 기기 및 웹 접속을 통해 전시장에 들어서면 자동으로 관람객 아바타가 생성되며, 서로 다른 곳에서 접속한 관람자라도 아바타를 통해 함께 전시를 관람하고, 의견을 나누는 기능이 있다고 한다. 초기에 WebGL을 통해 웹 브라우저에 3D 객체를 올려놓는 것에 만족했다면, WebXR을 통해서 많은 사용자를 가상세계로 끌어들이는 효과를 이뤘으며, 최종적으로 A-Frame 같은 WebXR을 기반한 쉬운 프레임워크가 나와서 누구나 쉽게 게임과 같은 화려한 UI를 만들 수 있는 환경이 됐다. 이렇게 많은 사람이 노력해 표준을 만들고, 그 표준을 더 쉽게 쓸 수 있도록 애쓰고 있다. 그러나 아직 초기시장이라 할 일이 무궁무진하다.
이 책은 입문서이기 때문에 실제 프로젝트에 투입되는 기술과는 약간 거리가 있다. 하지만 웹 기반한 가상 현실을 구현하고자 하는 사람, WebGL, WebXR의 기본 개념을 익히고자 하는 사람, 최신 프레임워크인 A-Frame을 학습하고자 하는 사람들에게 필독서가 될 것이다.