스마트디바이스 실습 강의계획서_2025‐1 - dhryu60/SmartDevice_2025-1 GitHub Wiki
스마트디바이스 실습 강의 계획서
1. 강의 정보
- 강의명: 스마트디바이스 실습
- 대상: 컴퓨터공학과 2~3학년
- 학점: 3학점 (이론 및 실습 병행)
- 수업 형태: 이론 강의 (30%) + 실습 (70%)
- 실습 도구: ESP32(NodeMCU), Arduino IDE, GitHub, Firebase, MQTT, Web Server 등
2. 강의 개요
스마트디바이스는 사물인터넷(IoT) 구조에서 중요한 요소로, 센서/액츄에이터, 제어부(마이크로프로세서),
통신부(Wi-Fi, Bluetooth 등)로 구성됩니다. 본 강의에서는 오픈소스 하드웨어인 **ESP32(NodeMCU)**를 활용하여
마이크로프로세서의 기초와 응용을 학습하고 실습을 진행합니다.
학생들은 센서 및 액츄에이터 제어, 무선통신, 클라우드 연동, 실시간 데이터 전송 등 다양한 IoT 기술을 익히고,
텀 프로젝트를 통해 스마트디바이스 기반의 제품 개발 경험을 쌓습니다.
https://github.com/user-attachments/assets/626136d3-cf04-408f-b46a-84940fd3ccd9
3. 학습 목표
- IoT 시스템의 기본 개념 및 스마트디바이스의 구조 이해
- 마이크로프로세서(ESP32)의 동작 원리 및 프로그래밍 실습
- 센서 및 액츄에이터 제어 실습
- Wi-Fi 및 Bluetooth 통신을 활용한 IoT 시스템 구현
- 클라우드(Firebase, MQTT 등) 연동 및 데이터 처리 실습
- 텀 프로젝트를 통해 스마트디바이스 개발 경험 습득
- GitHub를 활용한 코드 및 문서 관리 및 협업 경험
4. 강의 진행 내용
🔹 1주차: 강의 소개 및 GitHub 활용
- 강의 목표 및 진행 방식 소개
- IoT 및 스마트디바이스 개요
- GitHub 활용법 (저장소 생성, 코드 관리, 협업)
- 실습: GitHub에 첫 번째 코드 및 문서 업로드
🔹 2주차: Arduino IDE 및 ESP32 개발환경 설정
- ESP32 개발환경 소개
- Arduino IDE 2.0 설치 및 ESP32 보드 매니저 설정
- ESP32 기본 코드(Blink 예제) 업로드 실습
🔹 3주차: ESP32 GPIO 입출력 실습
- GPIO 개념 및 활용
- 디지털 입력/출력 (LED 점멸, 버튼 입력)
- 아날로그 입력/출력 (가변저항, PWM)
- 실습: LED 밝기 조절 프로젝트
🔹 4주차: Bluetooth 통신을 활용한 스마트디바이스
- Bluetooth & BLE 개요
- ESP32 BluetoothSerial 및 BLE 통신 실습
- 실습: 스마트폰과 ESP32 간 데이터 송수신 구현
🔹 5주차: Web Server 기반 센서 데이터 시각화
- Wi-Fi 연결 및 웹 서버 개요
- ESP32 Web Server 구축 및 HTML 페이지 작성
- 실습: 온습도 센서(DHT11) 데이터를 웹 페이지에 실시간 표시
🔹 6주차: MQTT를 활용한 실시간 데이터 전송
- MQTT 프로토콜 개요 및 활용 사례
- ESP32와 MQTT 브로커 연결 및 데이터 발행/구독
- 실습: 초음파 센서 데이터를 MQTT를 통해 모니터링
🔹 7주차: Firebase를 활용한 IoT 데이터 저장 및 분석
- Firebase Realtime Database 개요
- ESP32와 Firebase 연동
- 실습: 센서 데이터를 Firebase에 저장하고 웹에서 시각화
🔹 8주차: Arduino IoT Cloud 연동
- Arduino Cloud 개요
- IoT Dashboard 활용법
- 실습: ESP32를 이용한 원격 장치 제어 및 모니터링
🔹 9주차: NTP 서버를 활용한 실시간 시계 구현
- NTP(Network Time Protocol) 개요
- ESP32에서 실시간 시간 동기화 및 OLED 디스플레이 출력
- 실습: IoT 기반 디지털 시계 만들기
🔹 10주차: 공공 데이터를 활용한 IoT 프로젝트
- 공공 데이터 API 활용
- ESP32에서 미세먼지 데이터 수집 및 OLED 표시
- 실습: 실시간 대기오염 정보 디스플레이 구현
🔹 11주차: 카카오톡을 활용한 IoT 알림 시스템
- ESP32에서 카카오톡 메시지 전송하기
- 실습: 토양 수분 센서 값을 기반으로 알림 메시지 전송
🔹 12주차: JSON 인코딩 및 디코딩 실습
- JSON 데이터 구조 및 활용
- ESP32에서 JSON을 사용한 데이터 송수신 실습
- 실습: 센서 데이터를 JSON 형식으로 변환하여 송수신
🔹 13~14주차: 텀 프로젝트 (팀별 IoT 제품 개발)
- 팀별 IoT 프로젝트 주제 선정 및 설계
- ESP32 및 클라우드 연동을 활용한 IoT 서비스 개발
- 프로젝트 진행 및 GitHub 코드 관리
🔹 15주차: 최종 프로젝트 발표 및 피드백
- 팀 프로젝트 발표 및 시연
- 코드 리뷰 및 프로젝트 결과 공유
- 피드백 및 강의 마무리
5. 평가 방식
- 출석 및 참여도: 20%
- 실습 보고서 평가: 40% (GitHub 제출 : 실습완성도 + 보고서충실도)
- 중간고사/기말고사: 없음
- 텀 프로젝트: 40% (구현 30% + 발표 10%)
6. 실습 보고서 제출 방식
- 매주 실습 결과를 GitHub에 업로드하고, 단톡방에 링크 제출
- 실습 보고서에는 코드(주석포함), 회로 연결도, 실험 결과 및 분석 포함, 주요 강의 내용도 정리해서 보고서로 작성할 것
- 작성 요령
본 강의는 ESP32 기반 IoT 시스템 개발 역량을 키우고, 실습을 통해 실제 디바이스를 제작하는 경험을 제공합니다.
추가 요청 사항이 있으면 말씀해주세요!