📝 IoT 프로그래밍 — 1~8주차 정리
📝 개요 & 핵심 공식
IoT 프로그래밍 3학년 1학기 — 1~8주차 전체 정리
IoT 개론 · 라즈베리파이 · 리눅스 · AWS IoT Core · 전자기초 · LED 회로
IoT 개론 · 라즈베리파이 · 리눅스 · AWS IoT Core · 전자기초 · LED 회로
V = I × R (옴의 법칙) | KCL: ΣI_in = ΣI_out | KVL: 전압강하의 합 = 전원전압
LED 저항: R = (전원전압 − VF) / IF
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 | 사용자 홈 디렉터리 |
| /root | root 사용자 홈 |
| /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슬라이드)
- 개요: AWS IoT Core는 수많은 IoT 기기를 AWS 클라우드에 안전하게 연결·관리하는 관리형 서비스
- 주요 기능: 디바이스 게이트웨이, 메시지 브로커(MQTT/HTTP), 디바이스 섀도우, 룰 엔진, 디바이스 관리
- 아키텍처: 디바이스 → MQTT/TLS → IoT Core → 룰 엔진 → AWS 서비스(S3, Lambda, DynamoDB 등)
- 보안: X.509 인증서 기반 상호 인증, IAM 정책, TLS 암호화
- 활용 사례: 스마트홈, 제조업 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
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
(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 — 통신 비용 하락
② 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). 항복전압: 역방향 거대 전압에서 역전류 급증 시작.