(function(w,d,s,l,i){w[l]=w[l]|||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=? 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); Automātiskā kaķu barotava - The Codest
The Codest
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Nozares
    • Fintech un banku darbība
    • E-commerce
    • Adtech
    • Healthtech
    • Ražošana
    • Loģistika
    • Automobiļu nozare
    • IOT
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
Atpakaļ bultiņa ATGRIEZTIES ATPAKAĻ
2019-07-24
The Codest

Automātiskā kaķu barotava

Arkadiusz Buras

Iedomājieties šādu situāciju: ir sestdienas rīts, pulksten 6:00, jūs ērti guļat savā gultā un vēl mierīgi guļat. Pēkšņi dzirdat, ka jūsu kaķis skrāpē pie durvīm, tā skaļās minkas kļūst nepanesamas, un jūsu kaķim ir viss laiks pasaulē, lai paziņotu jums, kas viņam nepieciešams. Vai jūs zināt, kas tam patiešām ir vajadzīgs?

Iedomājieties šādu situāciju: ir sestdienas rīts, pulksten 6:00, jūs ērti guļat savā gultā un vēl mierīgi guļat. Pēkšņi dzirdat, ka jūsu kaķis skrāpē pie durvīm, tā skaļās minkas kļūst nepanesamas, un jūsu kaķim ir viss laiks pasaulē, lai paziņotu jums, kas viņam nepieciešams. Vai jūs zināt, kas tam patiešām ir vajadzīgs? Es zinu - jūsu kaķis vēlas ēst! Tieši tagad! No kurienes es to zinu? Tāpēc, ka kādā brīdī es sāku savu kaķi barot tieši šajā laikā... Un, protams, tas kļuva par jaunu standarta laiku barības saņemšanai.

Šis scenārijs mani iedvesmoja uzbūvēt automātisko kaķu barotavu, kas novērstu rīta kaķu barošanas rūpes un nodrošinātu kaķa apmierinātību.

Pirmā paaudze

Pirmā kaķu barotavas paaudze bija vienkāršs MVP izgatavots no kartona, vienkārša servo un ESP WeMos. Tas izmantoja servopiedziņu, lai pagrieztu augšējo tvertni par 180 grādiem un izsniegtu pārtiku.

Mikrokontrolieris tika pieslēgts manam vietējam Wi-Fi un sazinājās ar Smart Home serveri, kurā darbojas HomeAssistant, izmantojot MQTT protokolu. Pateicoties tam, es varēju izmantot HomeAssistant automatizācijas sistēmu, lai, izmantojot Google Home komandas, ieplānotu barošanu un pārtikas izsniegšanu. Katra barošana tika definēta kā īpašs notikums Google kalendārā. Tas ļāva man viegli kontrolēt kaķa barošanas laiku un vajadzības gadījumā to mainīt.

Protams, šī paaudze saskārās ar dažām problēmām:

  • augšējais konteiners dažreiz atdalījās no servo roktura un izlēja visu ēdienu (es to saucu par “džekpota efektu”),
  • tam nebija labākais dizains,
  • kartons sāka bojāties.

Tāpat kā lielākā daļa MVP, tas tika lietots tikai 2 gadus, līdz salūza.

Otrā paaudze

Es nolēmu, ka nākamajam kaķu barotājam vajadzētu:

  • var izgatavot no 3D drukātām detaļām,
  • izmantot Raspberry Pi 3,
  • ir neliela kamera, lai vērotu, kā kaķis reacted un ko dzīvnieks dara.

Es sāku visu procesu no pārtikas produktu sadalīšanas pamatelementu projektēšanas. Pēc tam, kad dizaini bija gatavi, visi elementi tika drukāti, izmantojot Creality Ender-3 un PLA.

Daļas

Pēc tam, kad pārliecinājos, ka viss darbojas, es ķēros pie pārējo detaļu projektēšanas un drukāšanas:

RaspberryPi bāze (0 līmenis)

Tajā ir īpašas vietas skrūvēm, kas palīdz uzstādīt Raspberry Pi. Turklāt priekšpusē ir neliels caurums, lai viegli piekļūt Raspberry Pi SD kartei.

Bļodas turētājs

Šī plastmasas detaļa tiek izmantota metāla ēdiena bļodiņas ievietošanai (protams, tā tika izdrukāta ar zelta pavedieniem, mana kaķa slavas un slavas dēļ). Tā ir savienota ar pamatni, izmantojot 2 neodīma magnētus.

Servo turētājs (1. līmenis)

Šis līmenis tiek izmantots, lai turētu servopiedziņu, kamēr tā griež detaļu nākamajā līmenī. Tam ir arī neliels slīpums labākai ēdiena pasniegšanai.

Racionālā mehānisma konteiners (2. līmenis)

Šis ir vienkāršs vispārīgs līmenis, kas ēdienu porcionē no virs tā novietota konteinera. To rotē servopiedziņa.

Pārtikas trauku turētājs (3. līmenis)

Šī daļa tiek izmantota, lai turētu pārtikas trauku. Tā ir vienīgā plastmasas detaļa, kas nav 3D drukāta. Es vēlējos samazināt kontaktu ar pārtiku, izmantojot 3D drukātās detaļas. Teorētiski caurspīdīgajai PLA plastmasai nav toksisku piesārņotāju, taču es nopirku lētāko graudaugu dozatoru un pārtikas trauka daļu paņēmu, lai būtu drošībā. Turklāt tas izskatās patiešām forši.

Korpuss un vāks

Pēdējās divas daļas bija korpuss un vāks. Šeit nekas īpašs, izņemot vairāk zelta, lai tas izskatītos labāk un iemantotu kaķa apbrīnu.

Visas daļas

Galīgā montāža

Programmatūra

Aveņu Pi darbojas Raspbian nodrošināts, izmantojot ansible playbook lai darbinātu šos pakalpojumus:

MotionEye

MotionEye ir atvērtā pirmkoda programmatūra, lai izveidotu savu privāto monitoringu. Tā nosaka jebkuru kameru, kas savienota ar Raspberry Pi. Turklāt jau komplektā ir pieejama kustības noteikšana, galapunkts straumes koplietošanai un webhook atbalsts.

Servo servopārvadājumu serviss

Šis pakalpojums kontrolē servopiedziņas rotāciju. Tas ir vienkāršs Python skriptu, kas savienojas ar MQTT serveri, uz kura darbojas mana Smart House programmatūra, un gaida ziņojumu, lai aktivizētu rotāciju.

Vadīts pakalpojums

Tāpat kā servo pakalpojums, tas īsteno protokolu gaismas avotam, ko kontrolē MQTT in HomeAsistents.

Mājas asistenta automatizācija

Un, visbeidzot, HomeAssistant automatizācija, kas aktivizē barošanu.

Tas aktivizē pārtikas izsniegšanu divās situācijās:

  • kad kalendārā parādās barošanas laiks,
  • kad Starptautiskā kosmosa stacija atrodas virs manas dzīvesvietas.

Šī automatizācija kods izskatās šādi:

- pseidonīms: Barot kaķi
aktivizēt:
- platforma: valsts
entity_id: ‘binary_sensor.iss’.’
no: ‘off’
uz: ‘ieslēgts’
- platforma: valsts
entity_id: calendar.cat_feed_schedule
no: ‘off’
uz: ‘ieslēgts’
rīcība:
- pakalpojums: script.feed_the_cat

Kopsavilkums

Acīmredzot šī versija nav pēdējā. Bet tas kalpo savam mērķim - kaķis ir labi paēdis, un man ir mani slinki rīti 🙂

Lasīt vairāk:

- E-commerce: Jaunais spēles stāvoklis 2020 (ziņojums)

- Kā vadīt uzņēmumu krīzes laikā?

- Ruby programmēšana. Iesācēja terminālis - 2. daļa

Saistītie raksti

Finanšu iestādes ikonas ilustrācija, kas savienota ar programmatūras izstrādes saskarni, kas simbolizē uz produktu orientētu inženieriju FinTech.
The Codest

Kā dažādi programmatūras izstrādes uzņēmumi pieiet uz produktu orientētai inženierijai FinTech

Uzziniet, kā programmatūras izstrādes uzņēmumi FinTech izmanto uz produktu orientētu inženieriju, lai izveidotu drošas, mērogojamas finanšu platformas. Atklājiet galvenās stratēģijas, tehnoloģijas un reālus piemērus, kas veido mūsdienīgus finanšu produktus.

The Codest
Monika Krupa Marketing Lead
The Codest

The Codest Pamatvērtība #1

The Codest tic četrām būtiskām vērtībām, kas ir visu The Codest komandu veikto darbību pamatā. Šajā rakstā mūsu CEO un līdzdibinātājs Gregs Polecs skaidro, kas...

The Codest
Greg Polec CEO
The Codest

The Codest veiksmes stāsts: Iepazīstieties ar mūsu Finance Lead Iza

Šajā rakstu sērijā mēs dalāmies stāstos par The Codest komandas biedriem, kuri ir ietekmējuši mūsu uzņēmuma pašreizējo veidolu. Šajā rakstā mēs jautājam...

The Codest
Monika Krupa Marketing Lead
The Codest

The Codest veiksmes stāsts: Iepazīstieties ar Lukāšu Bžešču (Lukasz Brzeszcz)

Šoreiz The Codest veiksmes stāsta zvaigzne ir Lukasz Brzeszcz, mūsu Ruby programmatūras izstrādātājs un programmētājs. Kā sākās Lukāša ceļojums ar The Codest un kas viņam palīdzēja...

The Codest
Monika Krupa Marketing Lead
The Codest

The Codest paplašināšanās ASV: 5 lietas, kas jums jāzina

The Codest jau gadiem ilgi ir pieejams ASV tirgū. Kas mums palīdzēja to sasniegt? Ieskatieties zemāk esošajā rakstā un uzziniet to!

Michal Bulakowski

Abonējiet mūsu zināšanu bāzi un saņemiet jaunāko informāciju par IT nozares pieredzi.

    Par mums

    The Codest - starptautisks programmatūras izstrādes uzņēmums ar tehnoloģiju centriem Polijā.

    Apvienotā Karaliste - Galvenā mītne

    • 303B birojs, 182-184 High Street North E6 2JA
      Londona, Anglija

    Polija - Vietējie tehnoloģiju centri

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polija

    The Codest

    • Sākums
    • Par mums
    • Pakalpojumi
    • Case Studies
    • Zināt, kā
    • Karjera
    • Vārdnīca

    Pakalpojumi

    • Tā Konsultatīvais dienests
    • Programmatūras izstrāde
    • Backend izstrāde
    • Frontend izveide
    • Staff Augmentation
    • Backend izstrādātāji
    • Mākoņa inženieri
    • Datu inženieri
    • Citi
    • QA inženieri

    Resursi

    • Fakti un mīti par sadarbību ar ārējo programmatūras izstrādes partneri
    • No ASV uz Eiropu: Kāpēc Amerikas jaunuzņēmumi nolemj pārcelties uz Eiropu?
    • Tehnoloģiju ārzonas attīstības centru salīdzinājums: Tech Offshore Eiropa (Polija), ASEAN (Filipīnas), Eirāzija (Turcija)
    • Kādi ir galvenie CTO un CIO izaicinājumi?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autortiesības © 2026 The Codest. Visas tiesības aizsargātas.

    lvLatvian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lt_LTLithuanian is_ISIcelandic lvLatvian