1. 오늘 한 것
① 프로젝트 발표
- 리눅스 C와 아두이노를 연동한 스마트 창고 제어 시스템 기획 및 아키텍처 소개.

| ID | 기능 | 기능설명 | |
| F01 | 실시간 환경 모니터링 | HW 연동 | 아두이노 센서(SHT20)가 수집한 물리적 환경 정보(온도, 습도)를 I2C 및 직렬 통신을 통해 리눅스로 실시간 전송. |
| 백그라운드 처리 | 멀티스레드를 적용하여, 사용자가 UI를 조작하는 중에도 모니터 스레드가 지연 없이 하드웨어 정보를 받을 수 있음. | ||
| F02 | 환경 정보 연동 | 직관적인 온습도 조회 | 사용자가 콘솔 터미널(메인 스레드)을 통해 자재가 보관된 장소의 현재 온습도 상태를 즉각적으로 확인 가능. |
| F03 | 자동 위험 감지 및 경보 | 물리적 위험 경보 | 창고 온도가 30°C 이상으로 상승할 경우, 시스템이 즉시 위험을 인지하고 아두이노로 제어 신호를 보내 LED 경고등을 점등. |
| 스마트 환기 시스템 | 고온 감지 시 DC 모터(환기 팬)를 자동 가동하며, 최소 10초 이상 가동을 보장하는 타이머 로직 적용 | ||
| F04 | 데이터 저장 | 메모리 로깅 | 경고(30°C 초과) 발생 내역을 동적 할당된 연결 리스트(Linked List) 노드로 생성하여 빠른 순회 및 이력 조회 지원 |
| 데이터 저장 | 프로그램 종료 시 로깅 데이터를 warning_data.txt 파일에 자동 저장하고, 재시작 시 해당 파일을 읽어와 연결 리스트를 복구하는 데이터 보존 기능구현. | ||
② 시스템 시연
- 센서 히팅을 통한 고온(30도 이상) 환경 강제 조성.
- 백그라운드 스레드의 즉각적인 LED/모터 제어 확인.
- UI 조작을 통한 실시간 온습도 조회 및 과거 경고 기록(warning_data.txt) 출력 시연.
③ 질의응답
- 단일 스레드 대비 멀티스레드 구조의 안정성 방어.
- 메모리 누수 방지(free) 및 하드웨어 동기화 원리 설명.
2. 발표 내용 핵심
- 100% 실시간 하드웨어 제어(지연 현상 제거).
- 자료구조와 파일 시스템을 융합한 투명한 이력 관리 및 무결성.
- 24시간 무인 자동화 도입에 따른 기대효과 어필.
3. 프로젝트 결과
- C언어 소프트웨어와 하드웨어 통합 제어 시스템 성공적 구현.
- 멀티스레드 기반의 멈춤 없는 비동기 모니터링 동작 완벽 달성.

4. 프로젝트 회고
- C언어 포인터와 자료구조를 실제 비즈니스 로직에 적용해 본 값진 경험.
- SW 코딩뿐만 아니라 HW 타이밍 동기화(상태 관리)의 중요성 체감.
- AI 도구와 구조 설계 능력을 결합한 현대적 개발 사이클 확립.
5. 추후 목표
- Bluetooth/Wi-Fi 모듈 적용으로 무선 분산 IoT 환경 구축.
- 텔레그램 API 연동을 통한 관리자 모바일 푸시 알림 기능 추가.
- RDBMS(MySQL 등) 도입으로 데이터 시각화 대시보드 구축.
'포트폴리오 > [IoT 기반 피지컬 AI 교육일지]' 카테고리의 다른 글
| [ C++ 멀티스레드 TCP 서버 ] 데이터 구조화 및 스레드 동기화 (22일차 기록) (0) | 2026.03.11 |
|---|---|
| [ C++ 네트워크 통신 기초 ] TCP/UDP 차이 및 바이트 오더(Endian) 변환 등 정리 (21일차 기록) (1) | 2026.03.11 |
| [ C언어 IoT 프로젝트 개발 ] #2 멀티스레드 적용 및 위험 자동 감지 (19일차 기록) (0) | 2026.03.10 |
| [ C언어 IoT 프로젝트 개발 ] #1 센서 데이터 수집 및 UART 통신 (18일차 기록) (0) | 2026.03.10 |
| [ 17일차 기록 ] IoT 기초와 센서 실습 정리 (with. 아두이노) (0) | 2026.03.10 |