25 KiB
IoT 소개
스케치노트 제공: Nitya Narasimhan. 이미지를 클릭하면 더 큰 버전을 볼 수 있습니다.
이 강의는 Microsoft Reactor의 Hello IoT 시리즈의 일부로 진행되었습니다. 강의는 1시간짜리 강의와 강의 내용을 더 깊이 탐구하고 질문에 답변하는 1시간짜리 오피스 아워로 구성된 두 개의 비디오로 진행되었습니다.
🎥 위 이미지를 클릭하여 비디오를 시청하세요
강의 전 퀴즈
소개
이 강의에서는 사물인터넷(IoT)에 대한 기본적인 주제를 다루고, 하드웨어 설정을 시작하는 방법을 배웁니다.
이 강의에서 다룰 내용은 다음과 같습니다:
사물인터넷이란 무엇인가?
'사물인터넷'이라는 용어는 1999년 Kevin Ashton에 의해 만들어졌으며, 센서를 통해 물리적 세계를 인터넷에 연결하는 것을 의미합니다. 이후 이 용어는 센서를 통해 데이터를 수집하거나 액추에이터(스위치를 켜거나 LED를 밝히는 등의 작업을 수행하는 장치)를 통해 실제 세계와 상호작용하는 모든 장치를 설명하는 데 사용되었습니다. 이러한 장치들은 일반적으로 다른 장치나 인터넷에 연결됩니다.
센서는 속도, 온도 또는 위치를 측정하는 등 세계로부터 정보를 수집합니다.
액추에이터는 전기 신호를 실제 세계의 상호작용으로 변환하여 스위치를 작동시키거나, 조명을 켜거나, 소리를 내거나, 다른 하드웨어에 제어 신호를 보내는 등의 작업을 수행합니다.
IoT는 단순히 장치에 국한되지 않고, 센서 데이터를 처리하거나 IoT 장치에 연결된 액추에이터에 요청을 보내는 클라우드 기반 서비스도 포함합니다. 또한 인터넷 연결이 없거나 필요하지 않은 장치, 흔히 엣지 장치라고 불리는 장치도 포함됩니다. 이러한 장치는 일반적으로 클라우드에서 훈련된 AI 모델을 사용하여 센서 데이터를 자체적으로 처리하고 응답할 수 있습니다.
IoT는 빠르게 성장하는 기술 분야입니다. 2020년 말까지 300억 개의 IoT 장치가 배치되고 인터넷에 연결된 것으로 추정됩니다. 미래를 내다보면, 2025년까지 IoT 장치가 약 80제타바이트(80조 기가바이트)의 데이터를 수집할 것으로 예상됩니다. 이는 엄청난 양의 데이터입니다!
✅ 간단한 조사를 해보세요: IoT 장치가 생성하는 데이터 중 얼마나 많은 데이터가 실제로 사용되고, 얼마나 많은 데이터가 낭비되는지 알아보세요. 왜 이렇게 많은 데이터가 무시되는 걸까요?
이 데이터는 IoT 성공의 핵심입니다. 성공적인 IoT 개발자가 되기 위해서는 수집해야 할 데이터를 이해하고, 데이터를 수집하는 방법, 데이터를 기반으로 결정을 내리는 방법, 필요할 경우 이러한 결정을 실제 세계와 상호작용하는 데 사용하는 방법을 알아야 합니다.
IoT 장치
IoT의 T는 **사물(Things)**을 의미하며, 센서를 통해 데이터를 수집하거나 액추에이터를 통해 실제 세계와 상호작용하는 장치를 나타냅니다.
생산 또는 상업용 장치, 예를 들어 소비자용 피트니스 트래커나 산업용 기계 컨트롤러는 일반적으로 맞춤 제작됩니다. 이러한 장치는 특정 작업의 요구를 충족하기 위해 맞춤형 회로 기판이나 맞춤형 프로세서를 사용합니다. 예를 들어 손목에 착용할 수 있을 만큼 작거나, 고온, 높은 스트레스 또는 높은 진동의 공장 환경에서 작동할 수 있을 만큼 견고해야 합니다.
IoT를 배우거나 장치 프로토타입을 만드는 개발자로서, 개발 키트로 시작해야 합니다. 개발 키트는 개발자가 사용하도록 설계된 범용 IoT 장치로, 생산 장치에서는 볼 수 없는 기능을 포함하고 있습니다. 예를 들어 센서나 액추에이터를 연결할 수 있는 외부 핀 세트, 디버깅을 지원하는 하드웨어, 대량 제조 시 불필요한 비용을 추가하는 추가 리소스 등이 있습니다.
이러한 개발 키트는 일반적으로 마이크로컨트롤러와 싱글보드 컴퓨터의 두 가지 범주로 나뉩니다. 여기에서 간단히 소개하고, 다음 강의에서 더 자세히 다룰 예정입니다.
💁 스마트폰도 센서와 액추에이터가 내장된 범용 IoT 장치로 간주될 수 있습니다. 다양한 앱이 센서와 액추에이터를 다양한 방식으로 사용하며, 다양한 클라우드 서비스를 활용합니다. 스마트폰 앱을 IoT 장치로 사용하는 튜토리얼도 찾아볼 수 있습니다.
마이크로컨트롤러
마이크로컨트롤러(MCU, 마이크로컨트롤러 유닛)는 다음으로 구성된 작은 컴퓨터입니다:
🧠 하나 이상의 중앙처리장치(CPU) - 마이크로컨트롤러의 '뇌'로 프로그램을 실행합니다.
💾 메모리(RAM 및 프로그램 메모리) - 프로그램, 데이터 및 변수가 저장됩니다.
🔌 프로그래밍 가능한 입출력(I/O) 연결 - 센서 및 액추에이터와 같은 외부 주변 장치와 통신합니다.
마이크로컨트롤러는 일반적으로 저비용 컴퓨팅 장치로, 맞춤형 하드웨어에 사용되는 평균 가격은 약 0.50달러이며, 일부 장치는 0.03달러만큼 저렴합니다. 개발 키트는 4달러부터 시작하며, 기능이 추가될수록 비용이 증가합니다. Seeed Studios의 마이크로컨트롤러 개발 키트인 Wio Terminal은 센서, 액추에이터, WiFi 및 화면을 포함하며 약 30달러에 판매됩니다.
💁 인터넷에서 마이크로컨트롤러를 검색할 때 MCU라는 용어를 검색하면 마이크로컨트롤러가 아닌 마블 시네마틱 유니버스(Marvel Cinematic Universe)에 대한 결과가 많이 나올 수 있으니 주의하세요.
마이크로컨트롤러는 PC나 Mac과 같은 범용 컴퓨터가 아닌, 매우 특정한 작업을 수행하도록 설계된 장치입니다. 매우 특정한 시나리오를 제외하고는 모니터, 키보드 및 마우스를 연결하여 일반적인 작업을 수행할 수 없습니다.
마이크로컨트롤러 개발 키트는 일반적으로 추가 센서와 액추에이터를 내장하고 있습니다. 대부분의 보드에는 프로그래밍 가능한 LED가 하나 이상 있으며, 다양한 제조업체의 생태계를 활용하여 센서나 액추에이터를 추가할 수 있는 표준 플러그 또는 내장 센서(일반적으로 온도 센서와 같은 인기 있는 센서)가 포함되어 있습니다. 일부 마이크로컨트롤러는 Bluetooth나 WiFi와 같은 무선 연결 기능을 내장하거나, 보드에 추가 마이크로컨트롤러를 포함하여 이러한 연결을 제공합니다.
💁 마이크로컨트롤러는 일반적으로 C/C++로 프로그래밍됩니다.
싱글보드 컴퓨터
싱글보드 컴퓨터는 모든 컴퓨터 구성 요소가 하나의 작은 보드에 포함된 소형 컴퓨팅 장치입니다. 이러한 장치는 데스크톱 또는 노트북 PC나 Mac과 유사한 사양을 가지고 있으며, 전체 운영 체제를 실행할 수 있지만 크기가 작고, 전력을 적게 사용하며, 비용이 훨씬 저렴합니다.
Raspberry Pi는 가장 인기 있는 싱글보드 컴퓨터 중 하나입니다.
마이크로컨트롤러와 마찬가지로 싱글보드 컴퓨터는 CPU, 메모리 및 입출력 핀을 가지고 있지만, 모니터를 연결할 수 있는 그래픽 칩, 오디오 출력, 키보드, 마우스 및 웹캠이나 외부 저장 장치와 같은 표준 USB 장치를 연결할 수 있는 USB 포트와 같은 추가 기능을 제공합니다. 프로그램은 보드에 내장된 메모리 칩 대신 SD 카드나 하드 드라이브에 운영 체제와 함께 저장됩니다.
🎓 싱글보드 컴퓨터는 현재 사용 중인 PC나 Mac의 더 작고 저렴한 버전으로 생각할 수 있으며, 센서와 액추에이터와 상호작용할 수 있는 GPIO(범용 입출력) 핀이 추가된 것입니다.
싱글보드 컴퓨터는 완전한 기능을 갖춘 컴퓨터이므로 모든 언어로 프로그래밍할 수 있습니다. IoT 장치는 일반적으로 Python으로 프로그래밍됩니다.
이후 강의를 위한 하드웨어 선택
이후 모든 강의는 IoT 장치를 사용하여 물리적 세계와 상호작용하고 클라우드와 통신하는 과제를 포함합니다. 각 강의는 3가지 장치 선택을 지원합니다 - Arduino(Seeed Studios Wio Terminal 사용), 또는 싱글보드 컴퓨터(물리적 장치 Raspberry Pi 4 또는 PC나 Mac에서 실행되는 가상 싱글보드 컴퓨터).
모든 과제를 완료하는 데 필요한 하드웨어에 대한 자세한 내용은 하드웨어 가이드를 참조하세요.
💁 IoT 하드웨어를 구매하지 않아도 과제를 완료할 수 있습니다. 모든 작업을 가상 싱글보드 컴퓨터를 사용하여 수행할 수 있습니다.
어떤 하드웨어를 선택할지는 집이나 학교에서 사용할 수 있는 장치와 배우고자 하는 프로그래밍 언어에 따라 다릅니다. 두 하드웨어 변형은 동일한 센서 생태계를 사용할 것이므로, 한 경로를 시작한 후에도 대부분의 키트를 교체하지 않고 다른 경로로 변경할 수 있습니다. 가상 싱글보드 컴퓨터는 Raspberry Pi를 학습하는 것과 동일하며, 나중에 실제 장치와 센서를 구입하면 대부분의 코드를 Pi로 이전할 수 있습니다.
Arduino 개발 키트
마이크로컨트롤러 개발에 관심이 있다면 Arduino 장치를 사용하여 과제를 완료할 수 있습니다. C/C++ 프로그래밍에 대한 기본적인 이해가 필요하며, 강의에서는 Arduino 프레임워크, 사용되는 센서와 액추에이터, 클라우드와 상호작용하는 라이브러리와 관련된 코드만 가르칩니다.
과제는 Visual Studio Code와 마이크로컨트롤러 개발을 위한 PlatformIO 확장을 사용합니다. Arduino IDE에 익숙하다면 이 도구를 사용할 수도 있지만, 이에 대한 지침은 제공되지 않습니다.
싱글보드 컴퓨터 개발 키트
싱글보드 컴퓨터를 사용한 IoT 개발에 관심이 있다면 Raspberry Pi 또는 PC나 Mac에서 실행되는 가상 장치를 사용하여 과제를 완료할 수 있습니다.
Python 프로그래밍에 대한 기본적인 이해가 필요하며, 강의에서는 사용되는 센서와 액추에이터, 클라우드와 상호작용하는 라이브러리와 관련된 코드만 가르칩니다.
💁 Python을 배우고 싶다면 다음 두 비디오 시리즈를 확인하세요:
과제는 Visual Studio Code를 사용합니다.
Raspberry Pi를 사용하는 경우, Raspberry Pi OS의 전체 데스크톱 버전을 실행하여 Pi에서 직접 코딩하거나, VS Code의 Raspberry Pi OS 버전을 사용하여 코딩할 수 있습니다. 또는 Pi를 헤드리스 장치로 실행하고 PC나 Mac에서 Remote SSH 확장을 사용하여 Pi에 연결하고, Pi에서 직접 코딩하는 것처럼 코드 편집, 디버깅 및 실행할 수 있습니다.
가상 장치 옵션을 사용하는 경우, 컴퓨터에서 직접 코딩합니다. 센서와 액추에이터에 접근하는 대신, 센서 값을 정의하고 액추에이터 결과를 화면에 표시하는 하드웨어를 시뮬레이션하는 도구를 사용합니다.
장치 설정하기
IoT 장치를 프로그래밍하기 전에 약간의 설정이 필요합니다. 사용할 장치에 따라 아래의 관련 지침을 따르세요. 💁 아직 기기를 준비하지 않았다면, 하드웨어 가이드를 참고하여 사용할 기기를 결정하고 추가로 구매해야 할 하드웨어를 확인하세요. 모든 프로젝트는 가상 하드웨어에서도 실행할 수 있으므로 하드웨어를 반드시 구매할 필요는 없습니다. 이 지침에는 사용하려는 하드웨어나 도구의 제작자가 제공하는 타사 웹사이트 링크가 포함되어 있습니다. 이를 통해 다양한 도구와 하드웨어에 대한 최신 지침을 항상 사용할 수 있도록 보장합니다.
관련 가이드를 따라 기기를 설정하고 'Hello World' 프로젝트를 완료하세요. 이는 이 입문 과정의 4개 레슨 동안 IoT 야간 조명을 만드는 첫 번째 단계가 될 것입니다.
✅ Arduino와 단일 보드 컴퓨터 모두에서 VS Code를 사용하게 됩니다. 이전에 사용해본 적이 없다면 VS Code 사이트에서 더 알아보세요.
IoT의 응용 분야
IoT는 몇 가지 주요 그룹에 걸쳐 매우 다양한 사용 사례를 포함합니다:
- 소비자 IoT
- 상업 IoT
- 산업 IoT
- 인프라 IoT
✅ 간단한 연구를 해보세요: 아래 설명된 각 분야에 대해 텍스트에 언급되지 않은 구체적인 예를 하나씩 찾아보세요.
소비자 IoT
소비자 IoT는 소비자가 집에서 구매하고 사용할 IoT 기기를 의미합니다. 이러한 기기 중 일부는 스마트 스피커, 스마트 난방 시스템, 로봇 청소기와 같이 매우 유용합니다. 반면에 음성으로 제어되는 수도꼭지처럼 유용성이 의심스러운 기기도 있습니다. 이런 수도꼭지는 물이 흐르는 소리 때문에 음성 제어가 작동하지 않아 끌 수 없게 되는 경우가 있습니다.
소비자 IoT 기기는 특히 장애를 가진 10억 명의 사람들을 포함하여 사람들이 주변 환경에서 더 많은 것을 성취할 수 있도록 돕고 있습니다. 로봇 청소기는 스스로 청소할 수 없는 이동성 문제가 있는 사람들에게 깨끗한 바닥을 제공할 수 있고, 음성으로 제어되는 오븐은 시각이나 운동 제어가 제한된 사람들이 음성만으로 오븐을 가열할 수 있도록 합니다. 건강 모니터는 환자가 만성 질환을 스스로 모니터링할 수 있도록 하며, 더 정기적이고 상세한 상태 업데이트를 제공합니다. 이러한 기기는 점점 더 보편화되고 있으며, 어린 아이들조차도 COVID 팬데믹 동안 가상 학습을 하면서 스마트 홈 기기에서 타이머를 설정하거나 알람을 사용하여 수업 일정을 관리하는 등 일상 생활에서 사용하고 있습니다.
✅ 집이나 몸에 어떤 소비자 IoT 기기를 가지고 있나요?
상업 IoT
상업 IoT는 직장에서 IoT를 사용하는 것을 포함합니다. 사무실 환경에서는 점유 센서와 동작 감지기를 사용하여 조명과 난방을 관리하고, 필요하지 않을 때는 불을 끄거나 난방을 줄여 비용과 탄소 배출을 줄일 수 있습니다. 공장에서는 IoT 기기가 안전 위험을 모니터링할 수 있습니다. 예를 들어, 작업자가 안전모를 착용하지 않았거나 소음이 위험 수준에 도달했을 때 이를 감지합니다. 소매업에서는 IoT 기기가 냉장고나 냉동고의 온도를 측정하여 필요한 온도 범위를 벗어났을 때 상점 주인에게 알리거나, 선반의 품목을 모니터링하여 직원에게 판매된 제품을 다시 채우도록 지시할 수 있습니다. 운송 산업은 차량 위치를 모니터링하고, 도로 사용자 요금을 위한 주행 거리 추적, 운전자 근무 시간 및 휴식 준수 추적, 또는 차량이 창고에 접근할 때 직원에게 알리는 등의 IoT 사용이 점점 더 많아지고 있습니다.
✅ 학교나 직장에서 어떤 상업 IoT 기기를 사용하고 있나요?
산업 IoT (IIoT)
산업 IoT 또는 IIoT는 대규모로 기계를 제어하고 관리하기 위해 IoT 기기를 사용하는 것을 의미합니다. 이는 공장에서 디지털 농업에 이르기까지 다양한 사용 사례를 포함합니다.
공장은 다양한 방식으로 IoT 기기를 사용합니다. 기계는 온도, 진동, 회전 속도와 같은 것을 추적하기 위해 여러 센서를 통해 모니터링될 수 있습니다. 이 데이터는 기계가 특정 허용 범위를 벗어날 경우 정지시키는 데 사용될 수 있습니다. 예를 들어, 기계가 너무 뜨거워지면 자동으로 정지됩니다. 이 데이터는 시간이 지나면서 수집 및 분석되어 예측 유지보수에 사용될 수 있습니다. AI 모델은 고장 직전의 데이터를 분석하여 다른 고장을 사전에 예측할 수 있습니다.
디지털 농업은 특히 자급농업에 의존하는 5억 가구의 20억 명을 포함하여 증가하는 인구를 먹여 살리기 위해 중요합니다. 디지털 농업은 몇 달러짜리 센서에서부터 대규모 상업적 설치까지 다양합니다. 농부는 온도를 모니터링하고 생육일수를 사용하여 작물이 수확 준비가 되는 시기를 예측할 수 있습니다. 토양 수분 모니터링을 자동 급수 시스템에 연결하여 작물에 필요한 만큼의 물만 제공하고, 물을 낭비하지 않으면서 작물이 마르지 않도록 할 수 있습니다. 농부들은 드론, 위성 데이터 및 AI를 사용하여 넓은 농지에서 작물 성장, 질병 및 토양 품질을 모니터링하는 데까지 나아가고 있습니다.
✅ 농부들에게 도움이 될 수 있는 다른 IoT 기기는 무엇이 있을까요?
인프라 IoT
인프라 IoT는 사람들이 매일 사용하는 지역 및 글로벌 인프라를 모니터링하고 제어하는 것을 포함합니다.
스마트 도시는 IoT 기기를 사용하여 도시 데이터를 수집하고 이를 통해 도시 운영을 개선하는 도시를 의미합니다. 이러한 도시는 일반적으로 지방 정부, 학계 및 지역 비즈니스 간의 협력을 통해 운영되며, 교통, 주차 및 오염과 같은 다양한 것을 추적하고 관리합니다. 예를 들어, 덴마크 코펜하겐에서는 공기 오염이 지역 주민들에게 중요한 문제이므로 이를 측정하고 데이터를 사용하여 가장 깨끗한 자전거 및 조깅 경로에 대한 정보를 제공합니다.
스마트 전력망은 개별 가정 수준에서 사용 데이터를 수집하여 전력 수요에 대한 더 나은 분석을 제공합니다. 이 데이터는 국가 차원에서 새로운 발전소를 건설할 위치를 결정하는 데 도움을 줄 수 있으며, 개인 차원에서는 사용자가 얼마나 많은 전력을 사용하고 있는지, 언제 사용하는지, 그리고 비용을 줄이는 방법에 대한 제안을 제공할 수 있습니다. 예를 들어, 전기차를 밤에 충전하는 것이 더 경제적일 수 있습니다.
✅ 당신이 사는 곳에서 무엇을 측정하기 위해 IoT 기기를 추가하고 싶나요?
주변에 있을 수 있는 IoT 기기 예시
주변에 얼마나 많은 IoT 기기가 있는지 알면 놀랄 것입니다. 저는 집에서 이 글을 쓰고 있으며, 다음과 같은 스마트 기능(앱 제어, 음성 제어 또는 휴대폰을 통해 데이터를 보내는 기능)을 가진 기기가 인터넷에 연결되어 있습니다:
- 여러 스마트 스피커
- 냉장고, 식기세척기, 오븐 및 전자레인지
- 태양광 패널용 전력 모니터
- 스마트 플러그
- 비디오 도어벨 및 보안 카메라
- 여러 스마트 룸 센서가 있는 스마트 온도 조절기
- 차고 문 개폐기
- 홈 엔터테인먼트 시스템 및 음성 제어 TV
- 조명
- 피트니스 및 건강 추적기
이 모든 유형의 기기는 센서와/또는 액추에이터를 가지고 있으며 인터넷과 연결됩니다. 저는 휴대폰으로 차고 문이 열려 있는지 확인하고 스마트 스피커를 통해 닫으라고 요청할 수 있습니다. 심지어 밤에 열려 있으면 자동으로 닫히도록 타이머를 설정할 수도 있습니다. 초인종이 울리면 세계 어디에 있든 휴대폰으로 누가 왔는지 확인하고 초인종에 내장된 스피커와 마이크를 통해 대화할 수 있습니다. 혈당, 심박수 및 수면 패턴을 모니터링하여 데이터를 분석하고 건강을 개선할 수 있습니다. 클라우드를 통해 조명을 제어할 수 있으며, 인터넷 연결이 끊기면 어둠 속에 앉아 있을 수도 있습니다.
🚀 도전 과제
집, 학교 또는 직장에서 있는 IoT 기기를 최대한 많이 나열해보세요. 생각보다 더 많을 수 있습니다!
강의 후 퀴즈
복습 및 자기 학습
소비자 IoT 프로젝트의 장점과 실패 사례에 대해 읽어보세요. 프라이버시 문제, 하드웨어 문제 또는 연결 부족으로 인한 문제와 같은 실패 사례에 대한 기사를 뉴스 사이트에서 찾아보세요.
몇 가지 예시:
- Twitter 계정 Internet of Sh*t *(욕설 경고)*에서 소비자 IoT 실패 사례를 확인해보세요.
- c|net - 내 Apple Watch가 내 생명을 구했다: 5명의 사람들이 자신의 이야기를 공유합니다
- c|net - ADT 기술자가 고객 카메라 피드를 수년간 엿본 혐의로 유죄를 인정하다 (트리거 경고 - 비동의 관음증)
과제
면책 조항:
이 문서는 AI 번역 서비스 Co-op Translator를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.