window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster가 이미 존재합니다') } else { w.LeadBooster = { q: [], on: 함수 (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 함수 (n) { this.q.push({ t: 't', n: n }) }, } } })() 자동 고양이 급식기 - The Codest
The Codest
  • 회사 소개
  • 서비스
    • 소프트웨어 개발
      • 프론트엔드 개발
      • 백엔드 개발
    • Staff Augmentation
      • 프론트엔드 개발자
      • 백엔드 개발자
      • 데이터 엔지니어
      • 클라우드 엔지니어
      • QA 엔지니어
      • 기타
    • IT 자문
      • 감사 및 컨설팅
  • 산업 분야
    • 핀테크 및 뱅킹
    • E-commerce
    • 애드테크
    • 헬스 테크
    • 제조
    • 물류
    • 자동차
    • IOT
  • 가치
    • CEO
    • CTO
    • 배달 관리자
  • 우리 팀
  • Case Studies
  • 방법 알아보기
    • 블로그
    • 모임
    • 웹 세미나
    • 리소스
채용 정보 연락하기
  • 회사 소개
  • 서비스
    • 소프트웨어 개발
      • 프론트엔드 개발
      • 백엔드 개발
    • Staff Augmentation
      • 프론트엔드 개발자
      • 백엔드 개발자
      • 데이터 엔지니어
      • 클라우드 엔지니어
      • QA 엔지니어
      • 기타
    • IT 자문
      • 감사 및 컨설팅
  • 가치
    • CEO
    • CTO
    • 배달 관리자
  • 우리 팀
  • Case Studies
  • 방법 알아보기
    • 블로그
    • 모임
    • 웹 세미나
    • 리소스
채용 정보 연락하기
뒤로 화살표 뒤로 가기
2020-04-28
The Codest

자동 고양이 급식기

아르카디우스 부라스

토요일 아침 6시, 침대에 편안히 누워 숙면을 취하고 있는 상황을 상상해 보세요. 갑자기 고양이가 문을 긁는 소리가 들리고, 고양이의 시끄러운 야옹 소리가 견딜 수 없을 정도로 커지고, 고양이가 필요한 것이 무엇인지 알려줄 시간이 생깁니다. 고양이에게 정말 필요한 것이 무엇인지 알고 계신가요?

토요일 아침 6시, 침대에 편안히 누워 숙면을 취하고 있는 상황을 상상해 보세요. 갑자기 고양이가 문을 긁는 소리가 들리고, 고양이의 시끄러운 야옹 소리가 견딜 수 없을 정도로 커지고, 고양이가 필요한 것이 무엇인지 알려줄 시간이 생깁니다. 고양이에게 정말 필요한 것이 무엇인지 알고 있나요? 고양이가 지금 음식을 원합니다! 지금 당장! 어떻게 알 수 있을까요? 어느 순간부터 고양이에게 밥을 주기 시작했으니까요... 그리고 당연히 그 시간이 밥을 주는 새로운 표준 시간이 되었죠.

이 시나리오를 보고 고양이에게 아침마다 먹이를 주는 수고를 덜어주고 고양이를 행복하게 해줄 자동 고양이 급식기를 만들기로 결심했습니다.

1세대

1세대 고양이 급식기는 단순했습니다. MVP 골판지, 간단한 서보 및 ESP WeMos로 만들었습니다. 서보를 사용하여 상단 용기를 180도 회전시켜 음식을 분배했습니다.

마이크로 컨트롤러가 제 로컬 Wi-Fi에 연결되어 MQTT 프로토콜을 통해 HomeAssistant를 실행하는 스마트 홈 서버와 통신했습니다. 덕분에 홈 어시스턴트 자동화 시스템을 사용하여 Google 홈 명령을 통해 사료 공급 및 배식 일정을 예약할 수 있었습니다. 각 수유는 Google 캘린더에서 특별한 이벤트로 정의되었습니다. 덕분에 고양이의 수유 시간을 쉽게 제어하고 필요할 때 변경할 수 있었습니다.

물론 이 세대에도 몇 가지 문제가 발생했습니다:

  • 상단 용기가 서보 손잡이에서 분리되어 음식이 통째로 쏟아지곤 했습니다(저는 이를 '잭팟 효과'라고 불렀습니다),
  • 최고의 디자인이 아니었습니다,
  • 골판지가 열화되기 시작했습니다.

대부분의 MVP와 마찬가지로 고장날 때까지 2년 동안만 사용되었습니다.

2세대

다음 고양이 먹이통은 그렇게 하기로 결정했습니다:

  • 3D 프린팅 부품으로 제작할 수 있습니다,
  • 라즈베리 파이 3을 사용합니다,
  • 고양이가 어떻게 반응하고 무엇을 하는지 관찰할 수 있는 작은 카메라가 있습니다.

저는 음식 칸막이를 위한 기본 요소를 디자인하는 것부터 모든 과정을 시작했습니다. 그런 다음 디자인이 준비되면 모든 요소를 Creality Ender-3 및 PLA를 사용하여 인쇄했습니다.

부품

모든 것이 제대로 작동하는지 확인한 후 나머지 부품을 디자인하고 인쇄하는 작업을 진행했습니다:

라즈베리파이용 베이스(레벨 0)

라즈베리 파이를 설치하는 데 도움이 되는 나사를 위한 특별한 공간이 있습니다. 또한 전면에는 라즈베리파이의 SD 카드에 쉽게 접근할 수 있는 작은 구멍이 있습니다.

보울 홀더

이 플라스틱 부분은 금속 음식 그릇을 놓는 데 사용됩니다 (물론 고양이의 명성과 영광을 위해 금색 필라멘트로 인쇄되었습니다). 네오디뮴 자석 2개를 사용하여 베이스와 연결됩니다.

서보 홀더(레벨 1)

이 레벨은 다음 레벨에서 부품을 회전하는 동안 서보를 고정하는 데 사용됩니다. 또한 더 나은 음식 서빙을 위해 작은 경사가 있습니다.

배급 메커니즘 컨테이너(레벨 2)

위에 놓인 용기에서 음식을 나누어 담는 간단한 일반 레벨입니다. 서보에 의해 회전합니다.

식품 용기 홀더(레벨 3)

이 부품은 식품 용기를 고정하는 데 사용됩니다. 3D 프린팅되지 않은 유일한 플라스틱 부품입니다. 3D 프린팅 부품과 식품의 접촉을 최소화하고 싶었기 때문입니다. 이론적으로 투명한 PLA 플라스틱에는 독성 오염 물질이 없지만, 저는 안전을 위해 가장 저렴한 시리얼 디스펜서를 구입하고 식품 용기 부분을 가져 왔습니다. 그리고 정말 멋져 보이기도 하죠.

하우징 및 뚜껑

마지막 두 부분은 하우징과 뚜껑입니다. 더 멋지게 보이고 고양이의 찬사를 받기 위해 더 많은 금을 추가한 것 외에는 특별한 것은 없습니다.

모든 부품

최종 조립

소프트웨어

라즈베리 파이가 프로비저닝된 라즈비안을 실행 중입니다. 앤서블 플레이북 를 사용하여 이러한 서비스를 실행할 수 있습니다:

MotionEye

MotionEye는 나만의 프라이빗 모니터링을 구축하기 위한 오픈 소스 소프트웨어입니다. 이 소프트웨어는 라즈베리파이에 연결된 모든 카메라를 감지합니다. 또한 모션 감지, 스트림 공유를 위한 엔드포인트, 웹훅 지원이 기본으로 제공됩니다.

서보 서비스

이 서비스는 서보의 회전을 제어합니다. 간단한 Python 스크립트는 내 스마트 하우스 소프트웨어를 실행하는 MQTT 서버에 연결하고 회전을 트리거할 메시지를 기다립니다.

LED 서비스

서보 서비스와 마찬가지로 MQTT로 제어되는 광원에 대한 프로토콜을 구현합니다. 홈 어시스턴트.

홈 어시스턴트 자동화

마지막으로 홈 어시스턴트 자동화를 통해 피딩을 트리거할 수 있습니다.

두 가지 상황에서 음식 배식을 트리거합니다:

  • 를 누르면 캘린더에 수유 시간이 표시됩니다,
  • 국제우주정거장이 내 집 위치 상공에 있을 때입니다.

이 자동화 코드 는 다음과 같이 보입니다:

- 별칭: 고양이에게 먹이 주기
트리거:
- 플랫폼: 상태
엔티티_ID: 'binary_sensor.iss'
출발: 'off'
에 'on'
- 플랫폼: 상태
엔티티_ID: calendar.cat_feed_schedule
출발: 'off'
에 'on'
액션:
- 서비스: 스크립트 피드_더_캣

요약

분명히이 버전은 마지막 버전이 아닙니다. 하지만 고양이는 영양이 풍부하고 저는 게으른 아침을 보내고 있습니다 🙂.

자세히 읽어보세요:

– E-commerce: 새로운 게임 현황 2020(보고서)

– 위기 상황에서 비즈니스를 운영하는 방법은 무엇인가요?

– 루비 프로그래밍. 초보자 터미널 - 2부

관련 문서

The Codest

The Codest 핵심 가치 #1

The Codest는 The Codest 팀이 취하는 모든 행동의 핵심이 되는 네 가지 중요한 가치를 믿습니다. 이 글에서는 CEO의 공동 창립자인 Greg Polec가 이에 대해 설명합니다.

The Codest
그렉 폴크 CEO
The Codest

The Codest의 성공 스토리: Finance Lead 이자를 만나보세요

이 기사 시리즈에서는 현재 회사의 모습에 영향을 미친 The Codest 팀원들의 이야기를 공유합니다. 다음 글에서는...

The Codest
모니카 크루파 Marketing Lead
The Codest

The Codest의 성공 스토리: 루카스 브르제슈치를 만나보세요.

이번 The Codest 성공 스토리의 주인공은 루비 소프트웨어 개발자이자 프로그래머인 루카스 브르제슈치입니다. The Codest와 루카스의 여정은 어떻게 시작되었고 무엇이 도움이 되었을까요?

The Codest
모니카 크루파 Marketing Lead
The Codest

MVP 접근 방식을 사용하여 The Codest를 성공적으로 리브랜딩한 사례

얼마 전, The Codest의 새로운 오픈에 대해 자랑했습니다. 집중적인 리브랜딩 작업을 거쳐 며칠 전에 세상에 선보였습니다. It...

The Codest
야쿱 쵸스니카 Marketing Lead
The Codest

TheCodestReview #2 - 주간 소프트웨어 엔지니어링 주스

안녕하세요, 더코드 리뷰 시리즈의 두 번째 에피소드에 오신 것을 환영합니다. 이번 주에는 소프트웨어 엔지니어링 프로젝트의 품질, 프론트엔드 아키텍처의 중요성 및 전환에 대해 집중적으로 살펴봤습니다.

The Codest
카밀 페렌스 성장 책임자

지식창고를 구독하고 IT 분야의 전문 지식을 최신 상태로 유지하세요.

    회사 소개

    The Codest - 폴란드에 기술 허브를 둔 국제 소프트웨어 개발 회사입니다.

    영국 - 본사

    • 사무실 303B, 182-184 하이 스트리트 노스 E6 2JA
      영국 런던

    폴란드 - 현지 기술 허브

    • 파브리츠나 오피스 파크, 알레야
      포코주 18, 31-564 크라쿠프
    • 뇌 대사관, 콘스트럭터스카
      11, 02-673 바르샤바, 폴란드

      The Codest

    • 홈
    • 회사 소개
    • 서비스
    • Case Studies
    • 방법 알아보기
    • 채용 정보
    • 사전

      서비스

    • IT 자문
    • 소프트웨어 개발
    • 백엔드 개발
    • 프론트엔드 개발
    • Staff Augmentation
    • 백엔드 개발자
    • 클라우드 엔지니어
    • 데이터 엔지니어
    • 기타
    • QA 엔지니어

      리소스

    • 외부 소프트웨어 개발 파트너와의 협력에 대한 사실과 오해
    • 미국에서 유럽으로: 미국 스타트업이 유럽으로 이전을 결정하는 이유
    • 테크 오프쇼어 개발 허브 비교: 테크 오프쇼어 유럽(폴란드), 아세안(필리핀), 유라시아(터키)
    • CTO와 CIO의 주요 과제는 무엇인가요?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • 웹사이트 이용 약관

    저작권 © 2025 by The Codest. 모든 권리 보유.

    ko_KRKorean
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese es_ESSpanish nl_NLDutch etEstonian elGreek ko_KRKorean