window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versjon: 2, } ;(function () { var w = vindu if (w.LeadBooster) { console.warn('LeadBooster finnes allerede') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Automatisk kattemater - The Codest
The Codest
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Industrier
    • Fintech og bankvirksomhet
    • E-commerce
    • Adtech
    • Helseteknologi
    • Produksjon
    • Logistikk
    • Bilindustrien
    • IOT
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
Pil tilbake GÅ TILBAKE
2020-04-28
The Codest

Automatisk kattemater

Arkadiusz Buras

Forestill deg en slik situasjon: Klokken er 06:00 en lørdag morgen, du ligger komfortabelt i sengen din og sover fortsatt godt. Plutselig hører du katten din klore på døren, dens høylytte mjauing blir uutholdelig, og katten din har all verdens tid til å fortelle deg hva den trenger. Vet du hva den egentlig trenger?

Forestill deg en slik situasjon: Klokken er 06:00 en lørdag morgen, du ligger komfortabelt i sengen din og sover fortsatt godt. Plutselig hører du katten din klore på døren, dens høylytte mjauing blir uutholdelig, og katten din har all verdens tid til å fortelle deg hva den trenger. Vet du hva den egentlig trenger? Jeg vet det - katten din vil ha mat nå! Akkurat nå! Hvordan vet jeg det? Fordi jeg på et tidspunkt begynte å mate katten min på det tidspunktet ... Og det ble selvfølgelig et nytt standardtidspunkt for å få mat.

Dette scenariet inspirerte meg til å bygge en automatisk kattemater, som ville fjerne problemene med å mate katten om morgenen og holde katten fornøyd.

Første generasjon

Den første generasjonen av kattemateren var en enkel MVP laget av litt papp, en enkel servo og ESP WeMos. Den brukte servo til å rotere den øverste beholderen 180 grader for å dispensere maten.

En mikrokontroller var koblet til mitt lokale Wi-Fi og kommuniserte med Smart Home-serveren som kjører HomeAssistant via MQTT-protokollen. Takket være dette kunne jeg bruke HomeAssistant-automatiseringssystemet til å planlegge mating og utdeling av mat gjennom Google Home-kommandoer. Hver fôring ble definert som en spesiell hendelse i Google Kalender. På den måten kunne jeg enkelt kontrollere fôringstiden til katten og endre den ved behov.

Denne generasjonen møtte selvfølgelig på noen problemer:

  • den øverste beholderen kunne av og til løsne fra servohåndtaket og søle ut all maten (jeg kalte det "Jackpot-effekten"),
  • Den hadde ikke det beste designet,
  • begynte pappen å bli dårligere.

Som med de fleste MVP-er ble den bare brukt i to år før den gikk i stykker.

Andre generasjon

Jeg bestemte meg for at neste kattemater skulle:

  • bygges av 3D-printede deler,
  • bruke Raspberry Pi 3,
  • ha et lite kamera for å se hvordan katten reagerte og hva dyret gjorde.

Jeg startet hele prosessen med å designe grunnleggende elementer for matinndeling. Da designene var klare, ble alle elementene skrevet ut ved hjelp av Creality Ender-3 og PLA

Deler

Etter å ha forsikret meg om at alt fungerte, fortsatte jeg med å designe og skrive ut resten av delene:

Base for RaspberryPi (nivå 0)

Den har spesielle steder for skruer som gjør det enklere å installere Raspberry Pi. I tillegg er det et lite hull på forsiden for enkel tilgang til SD-kortet til Raspberry Pi.

Skålholder

Denne plastdelen brukes til å plassere en matskål av metall (selvfølgelig ble den trykt med gullfilamenter, til ære og berømmelse for katten min). Den er koblet til basen ved hjelp av 2 neodymmagneter.

Servoholder (nivå 1)

Dette nivået brukes til å holde servoen mens den roterer delen på neste nivå. Det har også en liten helling for bedre matservering.

Beholder for rasjoneringsmekanisme (nivå 2)

Dette er et enkelt, generisk nivå som porsjonerer mat fra en beholder som er plassert over. Den roteres av servoen.

Holder for matbeholder (nivå 3)

Denne delen brukes til å holde matbeholderen. Det er den eneste plastdelen som ikke er 3D-printet. Jeg ønsket å minimere matkontakt med 3D-printede deler. I teorien har gjennomsiktig PLA-plast ingen giftige forurensninger, men jeg kjøpte den billigste frokostblandingsdispenseren og tok matbeholderdelen, bare for å være på den sikre siden. Dessuten ser den veldig kul ut.

Hus og lokk

De to siste delene var huset og lokket. Ikke noe spesielt her, bortsett fra mer gull for å få det til å se bedre ut og vinne kattens beundring.

Alle deler

Endelig montering

Programvare

Raspberry Pi kjører en Raspbian som er klargjort ved hjelp av ansible spillbok for å kjøre disse tjenestene:

MotionEye

MotionEye er en programvare med åpen kildekode for å bygge din egen private overvåking. Den oppdager alle kameraer som er koblet til Raspberry Pi. I tillegg får du bevegelsesdeteksjon, et endepunkt for deling av strømmen og støtte for webhook.

Servoservice

Denne tjenesten styrer servoens rotasjon. Det er en enkel Python skript som kobler seg til MQTT-serveren som kjører Smart House-programvaren min, og venter på en melding for å utløse rotasjonen.

Ledet tjeneste

På samme måte som servotjenesten implementerer den en protokoll for lyskilder som styres av MQTT i HomeAssistant.

Automatisering av hjemmeassistenter

Og til slutt, HomeAssistant-automatiseringen som utløser mating.

Den utløser matutdeling i to situasjoner:

  • når fôringstiden dukker opp i kalenderen,
  • når den internasjonale romstasjonen er over der jeg bor.

Denne automatiseringen kode ser slik ut:

- alias: Gi katten mat
utløser:
- plattform: stat
entity_id: 'binær_sensor.iss'
fra: 'av'
til: "på
- plattform: stat
entity_id: calendar.cat_feed_schedule
fra: 'av'
til: "på
handling:
- tjeneste: script.feed_the_cat

Sammendrag

Denne versjonen er selvsagt ikke den siste. Men den tjener sitt formål - katten får god mat og jeg har mine late morgener 🙂 🙂 .

Les mer om dette:

– E-commerce: Ny status for spillet 2020 (rapport)

– Hvordan drive en virksomhet under krisen?

– Programmering i Ruby. Nybegynnerens terminal - del 2

Relaterte artikler

The Codest

The Codest Kjerneverdi #1

The Codest tror på fire viktige verdier som er kjernen i alle handlinger som utføres av The Codest-teamene. I denne artikkelen forklarer vår CEO og medgrunnlegger, Greg Polec, hva...

The Codest
Greg Polec ADMINISTRERENDE DIREKTØR
The Codest

The Codests suksesshistorie: Møt vår Finance Lead Iza

I denne artikkelserien deler vi historiene til medarbeidere i The Codest som har hatt en innvirkning på hvordan selskapet vårt ser ut i dag. I denne artikkelen spør vi...

The Codest
Monika Krupa Markedsføringsleder
The Codest

The Codests suksesshistorie: Møt Lukasz Brzeszcz

Denne gangen er det Lukasz Brzeszcz, vår Ruby-programvareutvikler og programmerer, som er stjernen i The Codests suksesshistorie. Hvordan begynte Lukasz' reise med The Codest, og hva hjalp ham...

The Codest
Monika Krupa Markedsføringsleder
The Codest

Brukte MVP-tilnærming for å omprofilere The Codest

For en tid tilbake skrøt vi av den nye åpningen for The Codest. Vi gjennomførte en intensiv rebrandingprosess og presenterte den for verden for noen dager siden. Det...

The Codest
Jakub Czosnyka Markedsføringsleder
The Codest

TheCodestReview #2 - ukentlig juice for programvareutvikling

Hei og hjertelig velkommen til den andre episoden i vår TheCodesReview-serie. Denne uken har vi fokusert på kvalitet i programvareutviklingsprosjekter, viktigheten av frontend-arkitektur og overgang...

The Codest
Kamil Ferens Leder for vekst

Abonner på vår kunnskapsbase og hold deg oppdatert på ekspertisen fra IT-sektoren.

    Om oss

    The Codest - Internasjonalt programvareutviklingsselskap med teknologisentre i Polen.

    Storbritannia - Hovedkvarter

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale teknologisentre

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      The Codest

    • Hjem
    • Om oss
    • Tjenester
    • Casestudier
    • Vet hvordan
    • Karriere
    • Ordbok

      Tjenester

    • Det rådgivende
    • Programvareutvikling
    • Backend-utvikling
    • Frontend-utvikling
    • Staff Augmentation
    • Backend-utviklere
    • Ingeniører i skyen
    • Dataingeniører
    • Annet
    • QA-ingeniører

      Ressurser

    • Fakta og myter om samarbeid med en ekstern programvareutviklingspartner
    • Fra USA til Europa: Hvorfor velger amerikanske oppstartsbedrifter å flytte til Europa?
    • Sammenligning av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinene), Eurasia (Tyrkia)
    • Hva er de største utfordringene for CTO-er og CIO-er?
    • The Codest
    • The Codest
    • The Codest
    • Retningslinjer for personver
    • Vilkår for bruk av nettstedet

    Opphavsrett © 2025 av The Codest. Alle rettigheter forbeholdt.

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