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.