ESP32, React Native, OpenAI를 활용한 실시간 감정 로깅 및 음악 추천 앱 개발기
🤖 AI 추천
IoT와 AI 기술을 결합하여 실시간 데이터를 처리하고 사용자 경험을 향상시키는 프로젝트에 관심 있는 프론트엔드 개발자, 백엔드 개발자, IoT 개발자, 또는 모바일 개발자에게 유익합니다. 특히 Expo와 WebSocket의 실시간 데이터 처리 경험을 쌓고 싶은 주니어 및 미들 레벨 개발자에게 추천합니다.
🔖 주요 키워드

핵심 기술: 본 프로젝트는 ESP32 기반의 시뮬레이션된 스마트 링에서 수집한 온도 및 습도 데이터를 React Native 앱으로 실시간 전송하고, OpenAI API를 통해 감정을 분석하며 Spotify API를 이용해 음악을 추천하는 과정을 담고 있습니다.
기술적 세부사항:
* 프론트엔드: React Native와 Expo를 사용하여 빠르고 쉬운 테스트 및 공유가 가능한 모바일 애플리케이션을 구축했습니다.
* 백엔드: Node.js와 WebSocket을 활용하여 IoT 장치로부터 실시간 데이터를 스트리밍하고 클라이언트에게 푸시하는 서버를 구현했습니다.
* IoT 시뮬레이션: 실제 하드웨어 없이 Wokwi 시뮬레이터를 사용하여 ESP32와 DHT22 센서를 시뮬레이션하고 데이터를 생성했습니다.
* 데이터 분석 및 감정 예측: OpenAI API를 사용하여 센서 데이터를 기반으로 사용자의 감정을 예측했습니다.
* 음악 추천: 감정 예측 결과에 따라 Spotify API를 통해 장르별 음악 추천을 제공했습니다.
* 아키텍처: 시뮬레이션된 스마트 링 → WebSocket 서버 (데이터 분석) → React Native 앱 (데이터 표시 및 음악 추천)의 실시간 데이터 흐름을 구축했습니다.
* 배포: WebSocket 통신을 위해 Vercel 대신 Koyeb을 사용하여 백엔드를 배포했습니다.
개발 임팩트:
이 프로젝트는 IoT 기기와 모바일 앱 간의 실시간 데이터 통신, 클라우드 기반 AI 서비스 통합, 그리고 외부 API 연동을 통해 사용자에게 개인화된 경험을 제공하는 방법을 보여줍니다. 특히 WebSocket의 연결 유지 및 데이터 손실 처리에 대한 실질적인 경험을 얻을 수 있습니다.
커뮤니티 반응:
개발자는 Vercel에서 WebSocket이 작동하지 않았던 경험을 공유하며, Koyeb과 같은 대안 배포 플랫폼의 유용성을 언급했습니다. 또한, 실시간 데이터 연결의 만족감과 연결 끊김 및 데이터 손실 디버깅의 어려움을 토로하며 개발 커뮤니티의 공감을 얻을 수 있습니다.
톤앤매너: 개발자의 경험을 바탕으로 솔직하고 현실적인 기술적인 도전과 해결 과정을 공유하는 톤을 유지합니다.