-
Notifications
You must be signed in to change notification settings - Fork 0
Projects & Version Evolution
Node-RED를 활용한 다양한 Raspberry Pi IoT 프로젝트와 라즈베리 파이의 버전별 변화에 대해 작성한 보고서입니다.
- Raspberry Pi 버전별 변화
- Raspberry Pi SoC의 변화
- Raspberry Pi 5와 Node-RED를 활용한 IoT 프로젝트 - 시각적 개요
- Raspberry Pi 5와 Node-RED를 활용한 IoT 프로젝트
Raspberry Pi의 보드(PCB) 디자인은 각 버전마다 하드웨어 기능 개선과 요구사항을 충족하면서 발전했습니다.
| 버전 | 주요 특징 | 변화 요인 |
|---|---|---|
| Raspberry Pi 1 (2012) | • 작은 크기, 단순한 레이아웃 • 기본 I/O 포트 제공 • 마이크로 USB 전원 공급 • SD 카드 저장소 |
초기 교육 및 프로토타이핑 용도 |
| Raspberry Pi 2 (2015) | • 1GB RAM, 쿼드코어 CPU • USB 포트 4개로 증가 • 40핀 GPIO |
성능 향상 및 외부 장치 지원 확대 |
| Raspberry Pi 3 (2016) | • Wi-Fi, Bluetooth 통합 • CPU 성능 향상 • 전력 관리 개선 |
무선 연결 지원과 에너지 효율성 개선 |
| Raspberry Pi 3 Model B+ (2018) | • 열 관리 개선 • 기가비트 이더넷 지원 • PoE 헤더 추가 |
네트워크 속도 및 연결성 개선 |
| Raspberry Pi 4 Model B (2019) | • USB-C 전원 • 듀얼 4K 디스플레이 지원 • RAM 옵션 다양화 • USB 3.0 도입 |
데스크탑 대체 및 멀티미디어 성능 개선 |
| Raspberry Pi 5 (2023) | • 최신 CPU/GPU • PCIe 및 M.2 SSD 지원 • 개선된 전력 및 열 관리 |
고성능 컴퓨팅 및 확장성 요구 |
Raspberry Pi의 SoC(System on Chip)는 각 버전마다 성능, 기능, 효율성을 개선해 왔습니다.
| 버전 | SoC | CPU | GPU | RAM | 주요 특징 |
|---|---|---|---|---|---|
| Pi 1 | BCM2835 | 700 MHz ARM1176JZF-S | VideoCore IV | 256MB/512MB | 저전력, 기본 컴퓨팅 |
| Pi 2 | BCM2836 | 900 MHz quad-core ARM Cortex-A7 | VideoCore IV | 1GB | 멀티태스킹 성능 향상 |
| Pi 3 | BCM2837 | 1.2 GHz quad-core ARM Cortex-A53 | VideoCore IV | 1GB | 64비트 지원, 무선 연결 |
| Pi 3 B+ | BCM2837B0 | 1.4 GHz quad-core ARM Cortex-A53 | VideoCore IV | 1GB | 열 관리 개선, 네트워크 향상 |
| Pi 4 | BCM2711 | 1.5 GHz quad-core ARM Cortex-A72 | VideoCore VI | 2GB/4GB/8GB | 대폭적인 성능 향상 |
| Pi 5 | BCM2712 | 2.4 GHz quad-core ARM Cortex-A76 | VideoCore VII | 4GB/8GB | 고성능, 확장성 강화 |
주요 변화 요약:
- CPU: ARMv6 → ARMv8 (성능/효율 개선)
- 코어: 단일 코어 → 쿼드코어 (멀티태스킹 향상)
- GPU: VideoCore IV → VII (그래픽 처리 능력 향상)
- RAM: 최대 8GB로 확장 (복잡한 앱 실행 가능)
- 연결성: Wi-Fi, Bluetooth, USB 3.0 지원 강화
IoT 시스템의 전체적인 흐름입니다. 주요 구성 요소와 데이터 흐름을 간단히 설명하겠습니다.
-
Raspberry Pi 5: 중앙에 위치한 Raspberry Pi 5는 시스템의 서비스 허브 역할을 하며, Node-RED와 MariaDB와 같은 소프트웨어가 설치되어 있습니다. 이 장치에서 모든 데이터 처리와 서비스 제공이 이루어집니다.
-
게이트웨이: 게이트웨이는 Wi-Fi 네트워크를 통해 센서들과 Raspberry Pi 5를 연결하고, MQTT 프로토콜을 사용하여 센서 데이터가 전송됩니다.
-
센서 네트워크: 아래 나열된 센서 장치들은 각종 데이터를 수집합니다. Wi-Fi를 통해 게이트웨이로 데이터를 전송하고 Raspberry Pi 5에서 처리됩니다.
-
클라이언트 디바이스: 클라이언트인 PC, 모바일 장치에서는 웹 브라우저를 통해 Raspberry Pi 5에서 처리된 데이터를 시각적으로 확인할 수 있습니다. HTTP를 통해 데이터를 수신하며, 실시간 대시보드로 시각화됩니다.
🎓 결론: 데이터의 흐름은 센서에서 출발해 게이트웨이를 거쳐 Raspberry Pi 5에서 처리된 후 클라이언트에게 전달됨. 중요한 점은 각 단계에서의 통신이 Wi-Fi와 HTTP를 통해 이루어지고 이러한 구조는 IoT 시스템의 실시간 모니터링과 효율적인 데이터 관리를 가능하게 함.
(정보를 확인하려면 클릭하세요!)
Node-RED는 웹 기반 프로그래밍 도구로, IoT 프로젝트에 주로 쓰입니다.
| 특징 | 설명 | 이점 |
|---|---|---|
| 시각적 프로그래밍 | 드래그 앤 드롭 인터페이스로 흐름 생성 | • 코딩 지식이 적어도 사용 가능 • 빠른 프로토타이핑 |
| 모듈식 구조 | 다양한 노드를 조합하여 복잡한 기능 구현 | • 재사용성 높음 • 유지보수 용이 |
| 다양한 프로토콜 지원 | HTTP, MQTT, WebSocket 등 다양한 프로토콜 통합 | • 다양한 디바이스와 서비스 연동 가능 |
| 풍부한 라이브러리 | 커뮤니티에서 제공하는 다양한 노드와 기능 | • 기능 확장이 쉬움 • 개발 시간 단축 |
| 커스텀 노드 개발 | JavaScript로 사용자 정의 노드 생성 가능 | • 프로젝트 특화 기능 구현 가능 |
| 반응형 대시보드 | 데이터 시각화와 사용자 인터페이스 생성 | • 실시간 모니터링 및 제어 용이 |
| 클라우드 호환성 | 로컬 또는 클라우드 환경에서 실행 가능 | • 확장성과 접근성 향상 |
| API 통합 | 외부 서비스와 API 쉽게 연동 | • 다양한 서비스와 데이터 통합 가능 |
| 보안 기능 | 인증, 암호화 등 보안 기능 제공 | • 안전한 IoT 시스템 구축 가능 |
| 웹 기반 인터페이스 | 브라우저를 통한 접근 및 관리 | • 원격 접근 및 관리 용이 |
-
다중 센서 데이터 통합
- 온도, 습도, 조도 센서의 데이터를 수집하고 통합하여 하나의 대시보드에 표시
-
조건부 알림 시스템
- 특정 조건(예: 온도 초과)이 발생했을 때 이메일, SMS, 또는 푸시 알림 전송
-
시간 기반 자동화
- 정해진 시간에 특정 작업(예: 조명 켜기/끄기, 데이터 백업)을 자동으로 수행
-
데이터 변환 및 필터링
- 센서에서 받은 원시 데이터를 가공하여 필요한 형태로 변환하거나 불필요한 데이터 필터링
-
다중 프로토콜 브리지
- MQTT로 받은 데이터를 HTTP API로 전송하거나, Zigbee 기기의 데이터를 Wi-Fi 네트워크로 전달
| 프로젝트 | 설명 | 필요 장비 | 구현 방법 |
|---|---|---|---|
| 🏠 스마트 홈 자동화 | 조명, 온도, 커튼 등 제어 | Pi 5, 스마트 전구, 온도 조절기, 모션 센서 | Node-RED로 장치 상태 모니터링 및 자동 제어 |
| 🌡️ 실시간 환경 모니터링 | 온도, 습도, 공기질 데이터 수집 | Pi 5, DHT11/22 센서, MQ-135 센서 | Node-RED로 데이터 수집 및 대시보드 시각화 |
| 🌱 스마트 농업 시스템 | 토양 상태 모니터링 및 자동 급수 | Pi 5, 토양 습도 센서, 물 펌프, 릴레이 모듈 | Node-RED로 센서 데이터 기반 자동 급수 제어 |
| 🔐 스마트 도어락 | 얼굴인식/NFC 기반 출입 통제 | Pi 5, 카메라 모듈, NFC 리더, 전자 자물쇠 | Node-RED로 인증 처리 및 도어락 제어 |
| ⚡ 에너지 소비 모니터링 | 가정 전력 소비 분석 | Pi 5, 에너지 모니터링 모듈 | Node-RED로 데이터 수집 및 효율화 알림 |
| 🗑️ 스마트 쓰레기통 | 쓰레기통 상태 모니터링 | Pi 5, 초음파 거리 센서 | Node-RED로 쓰레기 높이 감지 및 알림 |
| 🌺 스마트 가드닝 | 식물 상태 모니터링 및 관리 | Pi 5, 조도 센서, 수분 센서, 물 펌프 | Node-RED로 식물 관리 자동화 |
| 🌤️ 스마트 날씨 스테이션 | 실시간 기상 데이터 수집 | Pi 5, BME280 센서, 풍속계 | Node-RED로 데이터 수집 및 웹 인터페이스 제공 |
| 📹 스마트 보안 카메라 | 모션 감지 자동 녹화 | Pi 5, 카메라 모듈, PIR 센서 | Node-RED로 모션 감지 시 녹화 및 알림 |
| 💨 스마트 환기 시스템 | CO2 레벨 기반 자동 환기 | Pi 5, CO2 센서, 릴레이 모듈, 환기팬 | Node-RED로 CO2 농도 모니터링 및 팬 제어 |
📝 2주차 수업 후기
라즈베리 파이의 성능 변화 과정을 알게되었고 Node-RED를 활용한 프로젝트들가 굉장히 많다는 것을 배울 수 있어서 좋았습니다.
- Node-RED는 IoT 프로젝트에 있어서 편리하다는 점, 홈 자동화, 데이터 모니터링과 같은 분야에서 많이 활용될 수 있음.
- Raspberry Pi가 5로 업그레이드 되면서 센서와 기능을 활용해 다양한 IoT 솔루션을 구현할 수 있음을 배움.
- 프로젝트들이 어떻게 실생활의 문제를 해결하고 일상 생활 환경을 개선시키는지 배울 수 있어서 유의미한 경험이었음.
🎓 결론: 다양한 프로젝트를 통해 나도 라즈베리 파이 센서를 사용해보고 싶어졌다. 이전에 스마트 디바이스 수업때 아두이노와 MQTT센서의 데이터를 Node-RED에 전송해 온습도를 웹으로 띄운적이 있었는데 라즈베리파이에서는 어떻게 동작하는지 궁금해졌다.