window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(funktion () { var w = vindue if (w.LeadBooster) { console.warn('LeadBooster findes 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 kattefoderautomat - The Codest
Codest
  • Om os
  • Serviceydelser
    • Udvikling af software
      • Frontend-udvikling
      • Backend-udvikling
    • Staff Augmentation
      • Frontend-udviklere
      • Backend-udviklere
      • Dataingeniører
      • Cloud-ingeniører
      • QA-ingeniører
      • Andet
    • Det rådgivende
      • Revision og rådgivning
  • Industrier
    • Fintech og bankvirksomhed
    • E-commerce
    • Adtech
    • Sundhedsteknologi
    • Produktion
    • Logistik
    • Biler
    • IOT
  • Værdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leder af levering
  • Vores team
  • Casestudier
  • Ved hvordan
    • Blog
    • Møder
    • Webinarer
    • Ressourcer
Karriere Tag kontakt til os
  • Om os
  • Serviceydelser
    • Udvikling af software
      • Frontend-udvikling
      • Backend-udvikling
    • Staff Augmentation
      • Frontend-udviklere
      • Backend-udviklere
      • Dataingeniører
      • Cloud-ingeniører
      • QA-ingeniører
      • Andet
    • Det rådgivende
      • Revision og rådgivning
  • Værdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leder af levering
  • Vores team
  • Casestudier
  • Ved hvordan
    • Blog
    • Møder
    • Webinarer
    • Ressourcer
Karriere Tag kontakt til os
Pil tilbage GÅ TILBAGE
2020-04-28
Codest

Automatisk kattefoderautomat

Arkadiusz Buras

Forestil dig en sådan situation: Klokken er 6:00 en lørdag morgen, du ligger behageligt i din seng og sover stadig godt. Pludselig hører du din kat kradse på døren, dens høje mjaven bliver uudholdelig, og din kat har alverdens tid til at fortælle dig, hvad den har brug for. Ved du, hvad den virkelig har brug for?

Forestil dig en sådan situation: Klokken er 6:00 en lørdag morgen, du ligger behageligt i din seng og sover stadig godt. Pludselig hører du din kat kradse på døren, dens høje mjaven bliver uudholdelig, og din kat har alverdens tid til at fortælle dig, hvad den har brug for. Ved du, hvad den virkelig har brug for? Jeg ved det - din kat vil have mad nu! Lige nu! Hvordan kan jeg vide det? Fordi jeg på et tidspunkt begyndte at fodre min kat på det tidspunkt ... Og det blev selvfølgelig et nyt standardtidspunkt for at få mad.

Dette scenarie inspirerede mig til at bygge en automatisk kattefoderautomat, som ville fjerne besværet med at fodre katten om morgenen og gøre den glad.

Første generation

Den første generation af kattefoderautomaten var en simpel MVP lavet af noget pap, en simpel servo og ESP WeMos. Den brugte en servo til at dreje den øverste beholder 180 grader for at dosere maden.

En mikrocontroller var forbundet til mit lokale Wi-Fi og kommunikerede med Smart Home-serveren, der kører HomeAssistant, via MQTT-protokollen. Takket være det kunne jeg bruge HomeAssistant-automatiseringssystemet til at planlægge fodring og udlevering af mad via Google Home-kommandoer. Hver fodring blev defineret som en særlig begivenhed i Google-kalenderen. Det gav mig mulighed for nemt at kontrollere kattens fodringstidspunkt og ændre det, når det var nødvendigt.

Selvfølgelig stødte denne generation på nogle problemer:

  • kunne den øverste beholder nogle gange løsne sig fra servohåndtaget og spilde hele maden (jeg kaldte det "Jackpot-effekten"),
  • Den havde ikke det bedste design,
  • begyndte pappet at blive dårligere.

Som med de fleste MVP'er blev den kun brugt i 2 år, før den gik i stykker.

Anden generation

Jeg besluttede, at den næste kattefoderautomat skulle:

  • bygges af 3D-printede dele,
  • Brug Raspberry Pi 3,
  • har et lille kamera til at se, hvordan katten reagerede, og hvad dyret gjorde.

Jeg startede hele processen med at designe grundelementer til opdeling af maden. Da designene var klar, blev alle elementer printet med Creality Ender-3 og PLA.

Dele

Efter at have sikret mig, at alt fungerede, gik jeg i gang med at designe og printe resten af delene:

Base for RaspberryPi (niveau 0)

Den har særlige steder til skruer, som hjælper med at installere Raspberry Pi. På forsiden er der desuden et lille hul, som giver nem adgang til Raspberry Pi's SD-kort.

Skålholder

Denne plastikdel bruges til at placere en madskål i metal (den er selvfølgelig printet med guldfilamenter til ære for min kat). Den er forbundet med basen ved hjælp af 2 neodymmagneter.

Servoholder (niveau 1)

Dette niveau bruges til at holde servoen, mens den roterer delen på det næste niveau. Det har også en lille hældning for bedre at kunne servere maden.

Beholder til rationeringsmekanisme (niveau 2)

Dette er et simpelt generisk niveau, som portionerer mad fra en beholder placeret ovenover. Den drejes af servoen.

Holder til madbeholder (niveau 3)

Denne del bruges til at holde madbeholderen. Det er den eneste plastikdel, der ikke er 3D-printet. Jeg ønskede at minimere fødevarekontakt med 3D-printede dele. I teorien indeholder gennemsigtig PLA-plast ingen giftige stoffer, men jeg købte den billigste korndispenser og tog delen til madbeholderen for at være på den sikre side. Og så ser den virkelig cool ud.

Hus og låg

De sidste to dele var huset og låget. Ikke noget særligt her, bortset fra mere guld for at få det til at se bedre ud og vinde kattens beundring.

Alle dele

Endelig samling

Software

Raspberry Pi kører en Raspbian, der er provisioneret ved hjælp af ansible playbook til at køre disse tjenester:

MotionEye

MotionEye er en open source-software til at bygge din egen private overvågning. Den registrerer ethvert kamera, der er tilsluttet Raspberry Pi. Derudover får du bevægelsesdetektering, et slutpunkt til deling af strømmen og understøttelse af webhook.

Servo-service

Denne service styrer servoens rotation. Det er en simpel Python script, der opretter forbindelse til MQTT-serveren, der kører min Smart House-software, og venter på en besked, der kan sætte gang i rotationen.

Ledende service

Ligesom servotjenesten implementerer den en protokol til lyskilder, der styres af MQTT i HomeAssistant.

Automatisering af hjemmeassistent

Og endelig HomeAssistant-automatikken, der udløser fodring.

Den udløser madudlevering i to situationer:

  • når fodringstiden dukker op i kalenderen,
  • når den internationale rumstation befinder sig over mit hjem.

Denne automatisering Kode ser sådan her ud:

- alias: Giv katten mad
udløser:
- platform: stat
entity_id: 'binær_sensor.iss'
fra: 'off'
til: 'on'
- platform: stat
entity_id: calendar.cat_feed_schedule
fra: 'off'
til: 'on'
handling:
- service: script.feed_the_cat

Sammenfatning

Denne version er naturligvis ikke den sidste. Men den tjener sit formål - katten er velernæret, og jeg har mine dovne morgener 🙂 .

Læs mere om det:

– E-commerce: Ny tilstand i spillet 2020 (rapport)

– Hvordan driver man en virksomhed under krisen?

– Programmering i Ruby. Begynderens terminal - del 2

Relaterede artikler

Codest

Codests kerneværdi #1

The Codest tror på fire afgørende værdier, som er kernen i alle de handlinger, som The Codest-teams foretager. I denne artikel forklarer vores CEO og medstifter, Greg Polec, hvad...

Codest
Greg Polec ADMINISTRERENDE DIREKTØR
Codest

Codests succeshistorie: Mød vores Finance Lead Iza

I denne artikelserie fortæller vi historier om Codest-medarbejdere, som har haft indflydelse på vores virksomheds nuværende form. I den følgende artikel spørger vi...

Codest
Monika Krupa Markedsføringsleder
Codest

The Codest's succeshistorie: Mød Lukasz Brzeszcz

Denne gang er stjernen i Codest-succeshistorien Lukasz Brzeszcz, vores Ruby-softwareudvikler og -programmør. Hvordan begyndte Lukasz' rejse med The Codest, og hvad hjalp ham...

Codest
Monika Krupa Markedsføringsleder
Codest

Brugte MVP-tilgang til at rebrande The Codest med succes

For nogen tid siden pralede vi med den nye åbning af The Codest. Vi gennemførte en intensiv rebrandingproces og præsenterede den for verden for et par dage siden. Det...

Codest
Jakub Czosnyka Markedsføringsleder
Codest

TheCodestReview #2 - ugentlig software engineering juice

Hej og hjertelig velkommen til 2. afsnit af vores TheCodesReview-serie. I denne uge har vi fokuseret på kvalitet i softwareudviklingsprojekter, vigtigheden af frontend-arkitektur og overgang...

Codest
Kamil Ferens Chef for vækst

Tilmeld dig vores vidensbase, og hold dig opdateret om ekspertisen fra it-sektoren.

    Om os

    The Codest - International softwareudviklingsvirksomhed med tech-hubs i Polen.

    Storbritannien - Hovedkvarter

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

    Polen - Lokale teknologiske knudepunkter

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

      Codest

    • Hjem
    • Om os
    • Serviceydelser
    • Casestudier
    • Ved hvordan
    • Karriere
    • Ordbog

      Serviceydelser

    • Det rådgivende
    • Udvikling af software
    • Backend-udvikling
    • Frontend-udvikling
    • Staff Augmentation
    • Backend-udviklere
    • Cloud-ingeniører
    • Dataingeniører
    • Andet
    • QA-ingeniører

      Ressourcer

    • Fakta og myter om at samarbejde med en ekstern softwareudviklingspartner
    • Fra USA til Europa: Hvorfor beslutter amerikanske startups sig for at flytte til Europa?
    • Sammenligning af Tech Offshore-udviklingsknudepunkter: Tech Offshore Europa (Polen), ASEAN (Filippinerne), Eurasien (Tyrkiet)
    • Hvad er de største udfordringer for CTO'er og CIO'er?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Vilkår for brug af hjemmesiden

    Copyright © 2025 af The Codest. Alle rettigheder forbeholdes.

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