윈도우 10 IoT 코어 라즈베리 파이로 심박수 펄스 읽기 – 단계별 가이드
| 하드웨어 구성품: |
|
|
× |
1 |
|
|
|
× |
1 |
|
|
| SparkFun Heart Rate Pulse Sensor | |
|
× |
1 |
|
|
|
× |
1 |
|
|
|
× |
15 |
|
| 소프트웨어 앱 및 온라인 서비스: |
|
| Microsoft Windows 10 IoT Core | |
|
|
|
|
| Microsoft Visual Studio 2015 |
|
개요
이 튜토리얼은 SparkFun 심박수 펄스 센서를 라즈베리 파이 3 모델 B에 연결하고, 윈도우 10 IoT 코어의 UWP 애플리케이션으로 아날로그 출력을 캡처하는 과정을 안내합니다. 완료하면 실시간 심박 데이터를 읽는 작동 예제를 얻고, IoT 대시보드나 클라우드 서비스로 확장할 수 있습니다.
1단계 – 하드웨어 배선
펄스 센서에는 세 개의 핀이 있습니다:
- 검정(BLACK) – 접지
- 빨강(RED) – 3V/5V 전원
- 보라(PURPLE) – 아날로그 신호 출력
라즈베리 파이에는 네이티브 아날로그 입력이 없으므로 MCP3008 8채널 ADC를 사용합니다. 센서 신호 핀을 MCP3008 채널 0에 연결하고, 센서 전원 핀을 파이 3.3V 레일(센서가 지원하면 5V)에 연결하고, 접지 핀들을 함께 묶습니다. MCP3008은 SPI로 통신하므로 CS, SCK, SDI, SDO 핀을 파이의 해당 SPI 핀에 연결합니다. 전체 배선도는 아래 회로도에 나와 있습니다.
2단계 – UWP 앱에서 데이터 읽기
SPI 버스를 열고 MCP3008 채널 0을 폴링해 원시 값을 펄스 레이트로 변환하는 경량 C# UWP 프로젝트를 만들었습니다. 코드는 깃허브에 오픈소스로 공개돼 있어 검토, 수정, 자체 IoT 솔루션에 재사용 가능합니다. 핵심 포인트:
- 올바른 버스 ID와 칩 셀렉트 라인으로
SpiDevice 초기화
- MCP3008 명령 바이트 전송 및 10비트 결과 읽기
- 단순 보정 곡선으로 원시 ADC 값을 심박 주파수로 매핑
- UI에 순간 심박수 표시
라인별 상세 설명은 저장소의 README를 참고하세요.
3단계 – 데모 확장하기
원시 펄스 데이터가 파이에서 사용 가능해지면 여러 다음 단계를 추진할 수 있습니다:
- 실시간 시각화 – UWP 앱을 로컬 화면에 연결하거나 차트 컴포넌트 임베드. Syncfusion SfChart나 Telerik UWP Chart 같은 라이브러리로 심박 추이를 쉽게 플로팅할 수 있습니다.
- 클라우드 텔레메트리 – 판독값을 Azure IoT Hub나 다른 MQTT 브로커로 전송한 후 Power BI나 Grafana로 고급 대시보드 구성.
- 엣지 분석 – 온보드 필터링이나 이상 탐지 적용으로 심박수가 예상 범위에서 벗어날 때 알림.
이 확장들은 단일 센서가 어떻게 완전한 IoT 건강 모니터링 시스템의 기반이 될 수 있는지 보여줍니다.