데드락에서 그린 스트릭스까지: Gemini와 함께 36시간 안에 AI 그린하우스 구축

발행: (2026년 3월 3일 오후 03:30 GMT+9)
10 분 소요
원문: Dev.to

Source: Dev.to

위의 링크에 있는 전체 글을 번역하려면, 해당 글의 본문을 제공해 주시겠어요?
본문을 주시면 원본 형식과 마크다운을 그대로 유지하면서 한국어로 번역해 드리겠습니다.

Overview

대학생인 저와 팀원들은 흔히 겪는 문제를 발견했습니다. 많은 사람들이 직접 과일과 채소를 재배하고 싶어하지만, 정원을 관리할 시간을 내지 못합니다. 우리는 그 격차를 메우고자 했습니다.

간단하고 접근하기 쉬운 Raspberry Pi 키트를 사용해 누구나 자동으로 작물을 재배할 수 있는 시스템을 만들기로 했습니다.

MLH가 후원한 uOttaHack 8(등록 학생 거의 천 명)에서 36시간에 걸쳐 제작한 Plante(프랑스어로 “식물”)는 수상 경력이 있는 소형 자동 온실이자 게임화된 학습 플랫폼입니다.

  • 온도, 습도, 토양 센서가 Raspberry Pi와 Arduino에 연결됩니다.
  • 온실은 서보 모터를 이용해 해치를 자동으로 열고 닫아 환경을 조절합니다.
  • 카메라가 식물의 상태를 모니터링합니다.

학습을 재미있게 만들기 위해 우리는 세련된 게임화 프론트엔드를 구축했으며(실제로 “Best Design” 상을 수상했습니다!). 사용자는 XP를 획득하고 “그린 스트릭”을 유지하며, 식물을 살아 있게 한 것에 대한 업적을 개인 박물관에서 잠금 해제합니다. 또한 친구들의 농장과 박물관을 방문할 수 있어 식물 재배의 사회적 측면도 강화됩니다.

AI Integration (Software Lead)

My main focus was integrating AI to make Plante truly intelligent. I used the Google Gemini API to power two core features:

1. Context‑Aware AI Chat

We didn’t want a generic botany bot. Real‑time sensor data from a user’s specific farm is passed directly into the prompt context.

Example: “도와줘, 내 토마토 농장이 위급해 😭😭😭” → Gemini는 정확한 습도와 온도 수준을 알고, 목표 지향적이고 실행 가능한 조언을 제공합니다.

2. Weekly Pulse Insights

Gemini analyzes a plant’s data over the week to generate custom reports and suggestions, helping users develop long‑term farming habits.

데모

  • 전체 하드웨어 및 소프트웨어 데모를 실시간으로 확인하려면 **here**를 클릭하세요.
  • Plante 앱에 직접 등록하셔도 되지만, 해커톤 종료 후 AI 기능이 비활성화되었음을 참고하세요.
  • 여기 작은 농장 게임의 데모 CodePen이 있습니다 (TypeScript로 처음부터 작성). G 키를 눌러 감정을 표현해 보세요!

내가 배운 점

기술 스킬

  • 하드웨어‑투‑웹 통합: 물리적인 하드웨어를 웹 애플리케이션에 연결하는 일은 농담이 아니다 🥶. 우리는 라즈베리 Pi에 전용 센서‑폴링 서비스를 만들고, 앱 서버가 그 서비스와 통신하도록 했습니다. 백엔드에서 직접 센서 데이터를 요청하면 교착 상태가 발생했기 때문입니다.
  • 아키텍처: 움직이는 부품이 많아질수록 시스템 아키텍처에 대한 고민도 기하급수적으로 늘어납니다.
  • 전자공학: 서보와 센서를 아두이노에 연결하고, 라즈베리 Pi를 통해 라우팅한 뒤, 하드웨어 상태를 REST API로 노출했습니다.

핵심: 거의 하드웨어 지식이 없었지만, 완전한 시스템을 구축할 수 있었습니다. Gemini와 같은 멀티모달 AI 모델 덕분에 지식 격차를 메우는 것이 매우 쉬워졌습니다. Google AI Studio로 앱을 만들고 싶다면 “Build Apps with Google AI Studio” 트랙을 따라가 보세요—스스로 창의력을 발휘하는 방법을 가르쳐 줍니다.

MVP & 피벗

원래 계획에는 완전 자동화된 물 펌프가 포함돼 있었지만, 하드웨어 키트가 충분한 전력을 공급하지 못했습니다. 시간이 촉박해지자 물리적인 펌프를 포기하고 “Water Now” 트리거가 사용자에게 모바일 푸시 알림을 보내는 소프트웨어 솔루션으로 전환했습니다.

교훈: MVP 범위 설정과 빠른 적응이 하드웨어가 협조하지 않을 때 필수적입니다.

향후 방향

  • 더 큰 식물을 위한 대형 기계식 박스 설계.
  • 보다 고급 액추에이터와 커뮤니티 리더보드 추가.
  • Raspberry Pi AI HAT+ 2 Kit을 배포해 LLM/LVM 기능을 갖춘 엣지 추론 구현.

Gemini 경험

  • 모델: Gemini 2.5 Flash – 해커톤에 적합한 빠르고 균형 잡힌 모델.
  • 컨텍스트 윈도우: 100만 토큰을 지원해 온도, 습도, 조도, 농장, 사용자 정보를 프롬프트에 그대로 넣을 수 있어 잘라내지 않아도 됩니다.
  • 멀티모달 도움: 막히는 상황에서 하드웨어 사진을 찍어 텍스트와 함께 웹 인터페이스를 통해 Gemini에 보냈습니다. 큰 도움이 되었고, 이후 하드웨어 담당자는 Buildo(Gemini로 이미지를 생성하고 필요한 부품을 찾아 하드웨어 아이디어를 현실화하는 앱)를 만들었습니다. 그의 팀은 MLH의 Best Use of Gemini API 상을 받아, 하드웨어 프로젝트에서 Gemini의 힘을 입증했습니다.

프롬프트 엔지니어링: 명시적인 시스템 지시가 없으면 Gemini가 때때로 “과도하게 설계”된 답변을 제시해, 복잡한 솔루션으로 넘어가곤 했습니다. 철저한 프롬프트 엔지니어링을 통해 AI를 유용한 “플랜트 어시스턴트” 페르소나에 머물게 하고, 환상을 방지했습니다.

요청 제한: 최근에 약 15 …​ 정도로 감소한 Gemini API 무료 티어 제한.

속도 제한 문제 (Flash API)

우리의 빠른 야간 테스트 단계에서 Flash의 분당 요청 제한에 크게 부딪혔습니다. 우리는 채팅 기능을 디버깅하려 할 때마다 두려운 429 Too Many Requests 오류가 계속 발생했습니다.

데모 준비 중 앱이 충돌하지 않도록 UI 작업을 잠시 중단하고 지수 백오프 로직을 구현해야 했습니다.
하지만 경험은 나쁘지 않았습니다. 몇 번의 클릭만으로 API 키를 받아 바로 사용할 수 있었으니까요 🫡.

🌱 Plante

🏆 최우수 디자인상 – uOttaHack 8 2026

AI 챗, Raspberry Pi 센서 연동, 실시간 농장 관리가 가능한 게임화된 픽셀‑아트 스마트 식물 모니터링 시스템.

  • Devpost: [Link]
  • Demo Video: [Link]

✨ 기능

  • 🎮 픽셀‑아트 UI – PICO‑8 색상 팔레트와 NES.css를 사용한 레트로 스타일 인터페이스
  • 🤖 AI 챗 어시스턴트 – Gemini 기반 챗과 음성 합성(ElevenLabs) 지원
  • 📊 실시간 센서 데이터 – Raspberry Pi에서 제공하는 온도, 습도, 토양 수분을 실시간으로 표시
  • 📸 Pi 카메라 피드 – 픽셀‑아트 필터가 적용된 식물 사진 자동 촬영
  • 🔔 스마트 알림 – Twilio를 통한 인앱 및 SMS 알림
  • 📈 주간 Pulse – AI가 생성하는 식물에 대한 주간 인사이트 제공
  • 🏆 게임화 – XP, 레벨, 업적, 리더보드
  • 🔐 Google 인증 – NextAuth.js를 이용한 보안 인증

🚀 빠른 시작

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env with your API keys

# Start development server
npm run dev

# Open the app
open http://localhost:3000

GitHub에서 보기: [Repository Link]

0 조회
Back to Blog

관련 글

더 보기 »

일이 정신 건강 위험이 될 때

markdown !Ravi Mishrahttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fu...