📝 IoT 프로그래밍 — 1~8주차 정리

Notes / 3학년1학기 / IoT 프로그래밍 중간고사 대비

📝 개요 & 핵심 공식

IoT 프로그래밍 3학년 1학기 — 1~8주차 전체 정리
IoT 개론 · 라즈베리파이 · 리눅스 · AWS IoT Core · 전자기초 · LED 회로
V = I × R  (옴의 법칙)  |  KCL: ΣI_in = ΣI_out  |  KVL: 전압강하의 합 = 전원전압
LED 저항: R = (전원전압 − VF) / IF

📅 1주차 — IoT 개론

사물인터넷 개념, 구성요소, 발전 배경, 한계점, 평가 기준

🌐 IoT(Internet of Things)란?

  • 4차 산업혁명: 물리적(physical) 세계와 기술적 세계의 경계를 허물어가는(blurring) 흐름
  • IoT = 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술
  • 연결된 사물들이 데이터를 수집·분석하고 학습한다
  • 외부 환경 제어를 위한 controller가 필요

🚀 IoT 발전 배경 3가지

  • Cheap sensors — 센서 가격의 급격한 하락
  • Cheap processing — 지난 10년간 처리용량 기준 컴퓨팅 비용 60배 하락
  • Cheap bandwidth — 통신 비용 하락으로 대용량 데이터 전송 가능

⚠️ IoT의 Challenges (한계점)

  • 보안 이슈: 사물이 해킹의 대상이 될 수 있음
  • IP 주소 부족: 모든 사물에 유일한 IP 필요 → IP 고갈
  • 표준 부재: IoT 프로토콜·플랫폼 표준 부재로 회사 간 경쟁/호환성 문제

📊 평가 기준

  • 수행평가 1, 수행평가 2
  • 중간고사 / 기말고사 각 30점
  • 출석 20점

📅 2~3주차 — 라즈베리파이 & 네트워크

라즈베리파이 하드웨어, SBC 개념, Wi-Fi/Cellular, 공유기 구조

🍓 라즈베리파이 개요

  • SBC(Single Board Computer) — CPU, RAM, I/O가 단일 기판 위에 통합된 소형 컴퓨터
  • 라즈베리파이 3부터 와이파이, 블루투스 기본 내장
  • 라즈베리파이 4는 듀얼 모니터 연결 및 최대 4GB RAM 지원
  • 하드웨어 구성: CPU, RAM/ROM, GPIO, HDMI, USB, 네트워크

💡 SBC vs PC 차이

  • SBC: 단일 보드, 저전력, 임베디드·IoT용. 저장장치는 SD카드
  • PC: 메인보드 + 주변장치 조합, 고성능, 범용 데스크톱

📡 무선 네트워크 — 2.4GHz vs 5GHz

대역장점단점
2.4 GHz도달 거리 길고 장애물 투과 우수속도 낮고 간섭 많음
5 GHz고속, 간섭 적음거리 짧고 장애물에 약함

📱 Cellular Network & 테더링

  • Cellular Network: 3G/4G/5G 기반 이동통신망 — 기지국(cell) 단위 커버리지
  • 테더링: 스마트폰의 셀룰러 연결을 Wi-Fi/USB/Bluetooth로 다른 기기에 공유

🏠 공유기(Router)의 역할 5가지

  • Switch: 유선 단자 간 패킷 전달 (L2)
  • AP (Access Point): 무선 기기 Wi-Fi 접속
  • Router: 내부망 ↔ 외부망 패킷 라우팅 (L3)
  • NAT: 사설 IP ↔ 공인 IP 변환
  • DHCP: 내부 기기에 사설 IP 자동 할당

🔦 LED 실습 개념

GPIO 핀으로 디지털 HIGH/LOW 출력 → LED 점등 제어. 과전류 방지 위해 직렬 저항 필수.

📅 4주차 — ch02 리눅스 기초

OS 개념, VNC/PuTTY, 리눅스 파일시스템, 명령어, 권한, 패키지 관리

💻 운영체제 & 원격접속

  • OS = 하드웨어 추상화 계층(Layer)을 제공하는 시스템 소프트웨어. 시스템 프로그램 + 응용 프로그램
  • Debian 계열 → Ubuntu, 라즈베리파이 OS
  • VNC: 원격 GUI 접속 / PuTTY: SSH 기반 원격 CLI 접속

📁 리눅스 파일시스템 (FHS)

디렉터리역할
/bin기본 명령어 바이너리
/etc시스템 설정 파일
/home사용자 홈 디렉터리
/rootroot 사용자 홈
/usr사용자 프로그램, 라이브러리
/var로그, 가변 데이터
/tmp임시 파일
/dev장치 파일
/proc프로세스/커널 정보 (가상)
/mnt, /media마운트 포인트

⌨️ 주요 명령어

# 시스템
date           # 현재 날짜/시간
hostname       # 호스트명
clear          # 화면 지우기
passwd         # 비밀번호 변경

# 탐색/파일
ls -al         # 숨김파일 포함 상세 목록
pwd            # 현재 경로
cd ~           # 홈으로 이동
mkdir dir      # 폴더 생성
touch file     # 빈 파일 생성
cat / head / tail file  # 내용 보기

# 복사/이동/삭제
cp src dst
mv src dst
rm -rf dir

# 탐색
which cmd      # 실행 파일 경로
whereis cmd
find / -name "*.txt"

# 권한
chmod 755 file
chown user:group file

# IO 재지정
cmd > out.log   # stdout 저장
cmd 2> err.log  # stderr 저장
cmd | cmd2      # 파이프

# 패키지/네트워크
wget URL
apt-get install pkg
git clone URL
tar -czvf archive.tar.gz dir   # 압축
tar -xzvf archive.tar.gz       # 해제

🔑 시험 포인트 키워드

  • OS 정의 — 하드웨어 추상화 계층
  • 파일시스템 주요 디렉터리 의미
  • ls, pwd, cd, cat, mkdir 기능
  • chmod 숫자 권한, IO 재지정 기호

📅 5주차 — AWS IoT Core (수행평가 1)

발표 수행평가 — AWS IoT Core 기능·아키텍처·활용 사례

📢 발표 스크립트 요약 (5슬라이드)

  1. 개요: AWS IoT Core는 수많은 IoT 기기를 AWS 클라우드에 안전하게 연결·관리하는 관리형 서비스
  2. 주요 기능: 디바이스 게이트웨이, 메시지 브로커(MQTT/HTTP), 디바이스 섀도우, 룰 엔진, 디바이스 관리
  3. 아키텍처: 디바이스 → MQTT/TLS → IoT Core → 룰 엔진 → AWS 서비스(S3, Lambda, DynamoDB 등)
  4. 보안: X.509 인증서 기반 상호 인증, IAM 정책, TLS 암호화
  5. 활용 사례: 스마트홈, 제조업 IoT, 커넥티드카, 농업 모니터링

❓ 예상 Q&A 5개

Q1. AWS IoT Core에서 사용되는 주요 통신 프로토콜은?
MQTT (경량 pub/sub), HTTPS, LoRaWAN. MQTT는 저전력·저대역폭 IoT에 최적화
Q2. 디바이스 섀도우(Device Shadow)란?
디바이스의 현재/원하는 상태를 JSON으로 클라우드에 저장 → 오프라인 상태에서도 상태 조회/변경 가능
Q3. 룰 엔진(Rule Engine)은 어떤 역할?
수신된 MQTT 메시지를 SQL 기반 규칙으로 필터링·변환 → 다른 AWS 서비스(S3, Lambda 등)로 라우팅
Q4. IoT Core의 보안 방식은?
X.509 인증서 기반 상호 TLS 인증 + IAM/IoT 정책으로 액세스 제어
Q5. IoT Core의 대표적인 활용 사례는?
스마트홈(원격 제어), 산업 IoT(예측 정비), 커넥티드카, 스마트 농업

📅 6주차 — ch04 전자 기초

옴의 법칙, KCL/KVL, 브레드보드, 저항·LED·콘덴서·트랜지스터·다이오드

⚡ 회로 기초

  • 닫힌 회로: 전류가 흐를 수 있는 경로가 완성된 상태 / 열린 회로: 끊어진 상태
  • V(전압) — 전류를 흐르게 하는 힘(압력)
  • I(전류) — 전선을 통해 흐르는 전기의 양
  • R(저항) — 전기 흐름을 방해하는 정도

📐 옴의 법칙 — 예제 4.1

V = I × R → I = V / R, R = V / I

예) 5V 전원, 250Ω 저항 → I = 5 / 250 = 0.02 A = 20mA

📐 KCL · KVL — 예제 4.2

  • KCL: 접속점으로 들어오는 전류의 합 = 나가는 전류의 합 → ΣI_in = ΣI_out
  • KVL: 폐회로에서 전압강하의 합 = 전원전압 → Σ전압강하 = 전원전압
flowchart LR subgraph KCL["KCL · 전류 보존"] N([접점 N]) I1[I1 = 2A] -->|들어옴| N I2[I2 = 3A] -->|들어옴| N N -->|나감| I3[I3 = 5A] NOTE1["ΣI_in = ΣI_out
2 + 3 = 5"] end subgraph KVL["KVL · 전압 보존"] V1[V1 = 12V
전원] --> R1[R1 = 4Ω] R1 --> R2[R2 = 8Ω] R2 --> V1 NOTE2["ΣV_rise = ΣV_drop
12 = 4I + 8I → I=1A"] end

🔌 브레드보드 & 저항 컬러코드

  • 브레드보드 안쪽은 5칸씩 연결. 전원 레일은 세로로 이어짐
  • 저항 컬러코드: 4밴드(2자리+승수+오차) / 5밴드(3자리+승수+오차)
  • 예) 갈-검-빨-금 = 10 × 10² = 1000Ω = 1kΩ (±5%)

💡 LED + 저항 회로 — 예제 계산

flowchart LR BAT(["전원 Vs = 5V"]) --> R["저항 R
(Vs - Vf) / If"] R --> LED["LED
Vf ≈ 2V · If = 20mA"] LED --> GND([GND]) NOTE["예: R = (5 - 2) / 0.02 = 150Ω
시판 표준 저항 220Ω 사용 (안전여유)"] LED -.-> NOTE

🔧 전자 부품

  • 콘덴서: 직류 연결 시 일정 시간 충전되다가 전류 차단 → 회로에 연결하면 방전
  • 트랜지스터 (B/C/E — 베이스/컬렉터/이미터): 전자 신호·전력을 증폭하거나 스위칭
  • 다이오드: 한쪽 방향으로만 전류를 흘리는 정류 작용. 순방향 전압강하·항복전압 개념
  • LED 극성: 긴 다리 = +(Anode), 짧은 다리 = −(Cathode)

📅 7주차 — 중간고사 대비 주간

본 주차는 별도 진도 없이 1~6주차 복습 및 중간고사 준비로 운영되었습니다. 핵심 내용은 8주차 중간고사 정리 섹션 참고.

📝 8주차 — 중간고사 정리

Closed Book · 빈칸 32문 + 주관식 14문

🌐 IoT 개론 — 빈칸 Q1~Q8

Q1. 4차 산업혁명: blurring the ___ world with the technological world
→ physical
Q2. IoT: 사물에 ___ 와 통신 기능을 내장하여 인터넷에 연결하는 기술
→ 센서
Q3. 연결된 사물들이 ___ 를 수집, 분석하고 학습한다.
→ 데이터
Q4. 외부 환경 제어를 위한 ___ 가 필요하다.
→ controller
Q5. Cheap ___ : 지난 10년 간 처리 용량 기준 가격 60배 하락
→ processing (컴퓨팅)
Q6. 사물이 ___ 의 대상이 될 수 있어 보안 이슈가 발생한다.
→ 해킹
Q7. 자신을 구별할 수 있는 유일한 ___ 를 가지고 인터넷에 연결되어야 한다.
→ IP 주소
Q8. IoT 프로토콜 및 플랫폼 ___ 의 부재로 회사 간 경쟁이 발생한다.
→ 표준

🍓 라즈베리파이 — 빈칸 Q9~Q12

Q9. 라즈베리파이 3부터 *** 와 *** 가 기본 내장되어 있다.
→ 와이파이, 블루투스
Q10. 라즈베리파이 4는 듀얼 ___ 연결이 가능하다.
→ 모니터
Q11. 라즈베리파이는 최대 4GB의 ___ 을 지원한다.
→ RAM
Q12. 라즈베리파이는 ___ (Single Board Computer) 이다.
→ SBC

🐧 리눅스 — 빈칸 Q13~Q18

Q13. 운영체제란 하드웨어 추상화 ___ 을 제공하는 시스템 소프트웨어이다.
→ 계층 (Layer)
Q14. Debian 계열 => ___ 운영체제
→ Ubuntu
Q15. 운영체제는 시스템 프로그램과 ___ 프로그램으로 구성된다.
→ 응용
Q16. ___ 명령어: 현재 디렉터리 안에 존재하는 모든 것을 확인한다.
→ ls
Q17. ___ 명령어: 현재 작업 디렉터리를 보여준다.
→ pwd
Q18. ___ 명령어: 파일의 내용을 화면에 바로 출력한다.
→ cat

⚡ 전자 기초 — 빈칸 Q19~Q32

Q19. 전류가 흐를 때의 힘(압력)을 나타내는 물리량은?
→ 전압 (V)
Q20. 전선을 통해 흐르는 전기의 양을 나타내는 물리량은?
→ 전류 (I)
Q21. 전기의 흐름을 방해하는 정도를 나타내는 물리량은?
→ 저항 (R)
Q22. 전압이 높을수록, ___ 이 작을수록 전류가 많아진다.
→ 저항
Q23. KCL: 접속점에 들어오는 전류와 나가는 전류의 ___ 은 같다.
→ 합
Q24. 전압강하란 전류가 전선을 타고 이동할 때 저항을 만나 ___ 의 크기가 낮아지는 현상이다.
→ 전압
Q25. 브레드보드 안쪽은 ___ 칸씩 연결되어 있다.
→ 5
Q26. 옴의 법칙에 따라서 R = V / I = 3V / 0.02A = ___ Ω
→ 150 (그러므로 저항은 150~220Ω)
Q27. 콘덴서에 직류전원을 연결하면 일정 시간 ___ 되다가 전류가 흐르지 않는다.
→ 충전
Q28. 충전된 콘덴서를 회로에 연결하면 ___ 이 발생한다.
→ 방전
Q29. 트랜지스터는 전자 신호 및 전력을 ___ 하거나 스위칭하는 반도체 소자이다.
→ 증폭
Q30. 다이오드는 한쪽 방향으로만 전류가 흐르는 ___ 작용을 한다.
→ 정류
Q31. 다이오드에 순방향으로 전류가 흐를 때 전압이 낮아지는 현상은?
→ 순방향 전압강하
Q32. 다이오드에 역방향으로 매우 큰 전압이 걸려 역전류가 흐르게 되는 전압은?
→ 항복(Breakdown) 전압

✏️ 주관식 14문

[주관1] IoT(사물인터넷)의 정의를 서술하시오.
사물에 센서와 통신 기능을 내장하여 인터넷에 연결하고, 수집된 데이터를 분석·학습하여 서비스를 제공하는 기술. 각 사물은 유일한 IP 주소를 가져야 한다.
[주관2] IoT가 빠르게 발전할 수 있었던 3가지 배경을 서술하시오.
① Cheap sensors — 센서 가격 급락
② Cheap processing — 컴퓨팅 비용 60배 하락
③ Cheap bandwidth — 통신 비용 하락
[주관3] IoT의 문제점(한계) 3가지를 서술하시오.
① 보안 이슈(해킹) ② IP 주소 부족 ③ 표준 부재
[주관4] SBC가 무엇인지 설명하고, 라즈베리파이가 SBC인 이유를 서술하시오.
SBC는 CPU·RAM·저장·I/O가 단일 기판에 통합된 소형 컴퓨터. 라즈베리파이는 하나의 보드에 모든 기능이 통합되어 있어 SBC에 해당.
[주관5] 라즈베리파이 3과 4의 주요 차이점 2가지 이상.
① 4는 듀얼 모니터 지원 ② 4는 최대 4GB RAM ③ 둘 다 Wi-Fi·블루투스 내장
[주관6] 운영체제(OS)의 역할을 설명하시오.
하드웨어 추상화 계층을 제공하는 시스템 SW. 시스템·응용 프로그램 구성. 자원 관리 + 인터페이스 제공.
[주관7] 리눅스 명령어 ls, pwd, cd, cat, mkdir 기능 설명.
ls 목록 · pwd 절대경로 · cd 이동 · cat 내용 출력 · mkdir 폴더 생성
[주관8] Debian 계열 대표 배포판과 특징.
Ubuntu. apt 패키지 관리자 사용. 라즈베리파이 OS도 Debian 기반. 안정적·사용자 친화적.
[주관9] 옴의 법칙을 설명하고 공식을 쓰시오.
V = I × R. 전압↑·저항↓ → 전류↑
[주관10] KCL과 KVL을 정의하고 식으로 표현.
KCL: ΣI_in = ΣI_out · KVL: Σ전압강하 = 전원전압
[주관11] 5V, VF=2V, IF=20mA일 때 직렬 저항값.
R = (5−2) / 0.02 = 150Ω (실무 150~220Ω)
[주관12] 전압강하 개념.
전류가 저항을 만나 전압 크기가 낮아지는 현상. R·I 클수록 크게 발생.
[주관13] 트랜지스터의 역할.
전자 신호·전력을 증폭하거나 스위칭하는 반도체 소자. 소량의 베이스 전류로 대량의 컬렉터-이미터 전류를 제어.
[주관14] 다이오드의 역할 · 순방향 전압강하 · 항복전압.
역할: 정류(한 방향 전류). 순방향 전압강하: 순방향 흐를 때 전압 감소(LED VF). 항복전압: 역방향 거대 전압에서 역전류 급증 시작.