콘테스트 프로젝트 진행 상황
각 Quest를 단계적으로 완성하는 프로젝트입니다.
Quest 1: 심박수 및 산소포화도 측정기
2023.11.25
□ IoT를 활용한 어떤 문제나 응용 분야에 대한 아이디어 제안
심박수 및 산소포화도 측정기
□ 해당 아이디어가 어떤 가치를 제공하고, 어떤 문제를 해결할 수 있는지에 대한 설명
규칙적으로 심박수 및 산소포화도를 측정함으로써 건강 관리에 도움을 줍니다.
□ 개발에 필요한 HW/SW적 구성 및 일정 계획
# 프로젝트 설명
사용자는 심박수 및 산소포화도 측정기를 사용하여 심박수 및 산소포화도를 측정합니다.
이렇게 측정된 값은 MQTT를 사용하여 Node-RED dashboard에 전송되어 보여줍니다.
만약 측정값이 비정상일 경우 핸드폰으로 알림 메시지를 전송하여 사용자에게 알려주며,
Node-RED dashboard의 스케줄러를 사용하여 주기적으로 약 복용 시간 및 자가 검진 시간을 설정할 수 있으며,
설정된 시간에 핸드폰으로 알림 메시지를 전송하여 약 복용 또는 자가 검진을 할 수 있도록 합니다.
# H/W

# S/W
- 심박수 및 산소포화도 센서를 사용한 센서값 측정 구현
- MQTT를 사용하여 Node-RED dashboard에 도식화 작업 구현
- Node-RED의 dashboard에서 스케줄러 작업 구현
- 안드로이드 모바일 디바이스를 사용하여 알림 수신 구현
# 일정
- 심박수 및 산소포화도 측정기 하드웨어 제작 : 2023-11-27 ~ 29 (3일)
- 측정기 S/W 구현 : 2023-11-30 ~ 12-3 (4일)
- Node-RED 구현: 2023-12-4 ~ 9 (6일)
- 안드로이드 앱 구현: 2023-12-10 ~ 15 (6일)
- 문서 작성: 2023-12-16 ~ 17 (2일)
Quest 2: 심박수 및 산소포화도 측정기
2023.12.16
IoT를 활용한 생활 편의 기능 만들기
# 프로젝트명:
심박수 및 산소포화도 측정기
# 프로젝트 설명
사용자는 심박수 및 산소포화도 측정기를 사용하여 심박수 및 산소 포화도를 측정합니다.
이렇게 측정된 값은 MQTT를 사용하여 Node-RED dashboard에 전송되어 보여줍니다.
Node-RED dashboard의 스케줄러를 사용하여 주기적으로 약 복용 시간 및 자가 검진 시간을 설정할 수 있으며, 설정된 시간에 핸드폰으로 알림 메시지를 전송하여 약 복용 또는 자가 검진을 할 수 있도록 합니다.
.png)
# 하드웨어 구현
WeMos D1 Mini, MAX30102, OLED를 사용하여 간단한 ‘심박수 및 산소포화도 측정기’ 를 만들어 보았습니다.

IoT관련 사용될 WeMos D1 mini와 OLED입니다.

WeMos D1 mini에 연결할 수 있게 심박수 센서를 모듈 형태로 만들었습니다.
아래와 같이 3개의 모듈이 연결됩니다.
.png)
내부 모듈이 안보이도록 케이스를 만듭니다.

아래 부분으로 손가락을 넣어 심박수를 측정할 수 있도록 하였습니다.
.png)
위쪽은 하얀색 동그라미 부분은 기기 인식을 위한 NFC 태그를 붙어 놓았습니다.
이 NFC 태그 부분에 핸드폰을 가져다 대면 NFC 태그를 인식하여 관련 안드로이드 앱이 실행됩니다. (동영상 참고)
부팅 완료 후 모습입니다.
.png)
실제 측정시 심박수와 산소 포화도가 OLED에 표시됩니다.

# 소프트웨어 구현
WeMos D1 Mini에서 심박수 센서와 MQTT의 동작을 구현하였습니다.(첨부파일을 참고)
Node-RED를 사용하여 아래와 같은 flow를 작성하였습니다.

MQTT에 Subscribe 메시지를 수신하여 데이터를 심박수와 산소 포화도를 분리하여 각 각의 차트와 그래프에 표시합니다. 또한 스케줄러를 사용하여 약 복용시간 및 측정시간의 알림을 설정하여 MQTT로 publish 됩니다. (참고로 이 publish된 데이터는 핸드폰에서 알림 용도로 사용됩니다.)
위 그림의 왼쪽 사각형 Test 영역은 디버깅 및 테스트를 위해 구현된 내용입니다.
아래 이미지는 위 flow에서 구현된 코드를 적용한 Node-RED dashboard입니다.
심박수, 산소포화도, 스케줄러, 테스트의 총 4개의 탭으로 구성되어 있습니다.

모니터링 및 관리 목적으로 안드로이드 어플리케이션을 제작해 보았습니다.
심박수 및 산소 포화도 측정기의 NFC 태그에 핸드폰을 가져다 대면 아래 이미지와 같이 앱의 메인 화면이 실행되어 MQTT와 연결 시 심박수 및 산소 포화도를 표시해 줍니다. 또한 Node-RED dashboard에서 설정된 스케줄러에 의해 동작되는 약 복용 및 심박수 체크 시간을 사용자에게 알람으로 알려줍니다.

# 데모 영상
프로젝트 갤러리
프로젝트 제작 과정과 최종 결과물을 담은 이미지 갤러리입니다.



.png)


프로젝트 자료실
프로젝트를 재현하거나 학습하는데 필요한 모든 자료를 제공합니다.
등록된 자료가 없습니다.
프로젝트 소개
아직 등록된 프로젝트 소개가 없습니다.
코드 & 회로도
등록된 코드/회로 자료가 없습니다.
댓글 0개
아직 댓글이 없습니다. 첫 댓글을 남겨보세요!
