ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 슬랙으로 누구나 간편하게 구축하는 스마트홈 (NET-ZERO 해커톤)
    프로젝트/SlackPower Hub 2024. 7. 21. 17:59

    7월 19일 - 20일동안 무박 2일로 넷제로 해커톤을 진행했다.

     

    해커톤에는 2가지의 문제가 주어졌는데, 우리 팀은 문제 B : 저전력/고효율을 위한 스마트홈 어플리케이션 개발을 선택했다.

     

    사실 주제를 정할 때 스마트홈 어플리케이션이 너무 잘 되어있어서 고민이 많았는데, 그럼에도 불구하고 사람들이 스마트홈을 많이 사용하지 않는다는 생각이 들었기에 단점을 찾아 보완하는 방식으로 진행했다.

     

    우리팀의 주제는 슬랙 채팅 봇을 이용해서 집 안의 전기기기들을 제어할 수 있는 스마트홈 개발을 주제로 했다.

     

     

    여기서 많은 사람들이 의아해 하는 부분이 있을텐데, 기존의 스마트홈이 많은데 왜 굳이 스마트홈 개발을 추가로 진행하냐는 것이라고 생각된다.

     

     

     

    PPT 발표 자료에 있는 사진들로 설명을 해보자면, 기존의 스마트홈 어플은 높은 가격과 접근성이 떨어진다는 단점이 있었다. 우리 시스템은 3000원 정도의 저렴한 스마트 플러그로도 제어가 가능해서 모든 가전 기기에 호환이 된다는 차별점이 있었다.

     

    또한, 일정 시간 미사용시 자동으로 전력을 제어해주기 때문에 스마트홈 제어를 까먹었을 때에도 이중 제어가 가능하다는 장점도 존재한다.

    이러한 이유들로 1인 가구를 타겟으로 잡아 차별점을 토대로 프로젝트를 진행했다.

     

     

    차별점

    1. 저렴한 가격으로 모든 기기와의 호환 가능

    2. 미사용 전력 자동으로 이중 제어

    3. 실시간 전력 사용 대시보드 제공

     

     

     

    기능 설명

    1. 슬랙으로 원하는 스마트 플러그를 제어하는 기능

     

    잘 안보이긴 하지만 슬랙 봇에 꺼달라는 요청을 했을 때, 조명이 꺼지는 기능을 시연한 것이다. 사용자가 꺼달라고 슬랙 메시지를 보내면 스마트 플러그를 제어하는 Iot API에 요청을 보내서 제어를 한다.

     

     

     

     

    2. 일정시간 미사용시 전력 차단 기능

    시연을 찍기 애매해서 텍스트로 설명하자면, 스프링 스케줄러를 사용해서 IoT와 연결된 serverlessUrl에 5분 간격으로 해당 전기기기가 사용중인지 데이터를 요청해서 받아온다.

    사용자가 1시간이라고 지정했으면 1시간동안 5분 간격으로 12번의 미사용 데이터가 들어오면, 전기를 차단시켜서 전력 감소 및 화재 예방을 할 수 있는 기능이다.

     

     

     

    3. Grafana를 이용한 실내 전력 사용량 실시간 모니터

    그라파나를 mysql과 연동시켜 5분 단위로 데이터를 받아와서 얼마나 사용하는지 측정해 사용자에게 웹에서 보여주는 기능이다.

     

     

    백엔드 개발자가 2명이었는데, 나는 2번과 3번을 스프링으로 개발했다. 개발 코드는 아래의 깃허브 링크에 있다.

    (나머지 백엔드 개발자는 node 개발자여서 다른 깃허브에 코드가 있음)

    https://github.com/chanhee01/SlackPower-Hub_BE

     

     

     

    시스템 아키텍쳐

    우리 팀에 클라우드 인프라를 본격적으로 하시는 분이 있으셨기 때문에 많은 AWS 기능들을 사용하게 되었다.

    해커톤 이름이 aws와 함께하는 2024 SW INHA NET-ZERO 공동해커톤인만큼 AWS의 기능을 많이 사용하라고 하셨는데, 운이 좋게도 클라우드 인프라 개발자가 있으셔서 프론트엔드, 백엔드 등의 배포/관리와 Lambda를 이용한 serverless API를 운영해주셨다.

     

    프로젝트를 진행할 때 기획자, 디자이너, 개발자하고만 개발을 했고, 인프라/배포 관련해서도 내가 했어기에 클라우드 개발자와 프로젝트를 진행해보고 싶었는데 좋은 경험이었다고 생각했다.

     

     

    팀원들이 모두 열심히 해주셔서 프로젝트 결과도 잘 나왔고 최종 발표회에서 우수상을 수상했습니다!!

Designed by Tistory.