The Codest Põhiväärtus #1
The Codest usub nelja olulisse väärtusesse, mis on The Codest meeskondade kõigi tegevuste keskmes. Selles artiklis selgitab meie CEO ja kaasasutaja Greg Polec, mida...

Kujutage ette sellist olukorda: on 6:00 hommikul laupäeva hommikul, te lebate mugavalt oma voodis ja magate veel sügavalt. Järsku kuuled sa oma kassi kraapimist uksel, tema valjud niutsud muutuvad talumatuks ja sinu kassil on kogu aeg aega, et sulle teada anda, mida ta vajab. Kas te teate, mida ta tegelikult vajab?
Kujutage ette sellist olukorda: on 6:00 hommikul laupäeva hommikul, te lebate mugavalt oma voodis ja magate veel sügavalt. Järsku kuuled sa oma kassi kraapimist uksel, tema valjud niutsud muutuvad talumatuks ja sinu kassil on kogu aeg aega, et sulle teada anda, mida ta vajab. Kas te teate, mida ta tegelikult vajab? Ma tean - teie kass tahab nüüd toitu! Just nüüd! Kuidas ma seda tean? Sest mingil hetkel hakkasin ma oma kassi just sel ajal söötma... Ja muidugi sai sellest uus standardaeg toidu saamiseks.
See stsenaarium inspireeris mind ehitama automaatset kassisöötjat, mis kõrvaldaks kasside hommikuse söötmisega seotud probleemid ja hoiaks kassi õnnelikuna.
Esimese põlvkonna kassisöötja oli lihtne MVP valmistatud mõnest papist, lihtsast servost ja ESP WeMost. See kasutas servot, et pöörata ülemist konteinerit 180 kraadi võrra, et toitu väljastada.
Mikrokontroller oli ühendatud minu kohaliku WiFi-ühendusega ja suhtles MQTT-protokolli kaudu Smart Home serveriga, kus töötab HomeAssistant. Tänu sellele sain ma HomeAssistant'i automaatikasüsteemi kasutada Google Home'i käskude kaudu söötmise ja toidu väljastamise ajakava koostamiseks. Iga söötmine määratleti Google'i kalendris erisündmusena. See võimaldas mul hõlpsasti kontrollida kassi söötmise aega ja seda vajadusel muuta.
Loomulikult tekkis sellel põlvkonnal mõningaid probleeme:
Nagu enamiku MVPde puhul, kasutati seda ainult 2 aastat, kuni see purunes.
Otsustasin, et järgmine kassisöötja peaks:
Alustasin kogu protsessi toidu jaotamise põhielementide kavandamisest. Seejärel, kui kujundused olid valmis, trükiti kõik elemendid Creality Ender-3 ja PLA abil.
Pärast seda, kui olin veendunud, et kõik töötab, asusin ülejäänud osade projekteerimise ja printimisega tegelema:
Sellel on spetsiaalsed kohad kruvide jaoks, mis aitavad Raspberry Pi paigaldamisel. Lisaks on esiküljel väike auk, et Raspberry Pi SD-kaardile oleks lihtne ligi pääseda.
Seda plastist osa kasutatakse metallist toidukausi paigutamiseks (loomulikult on see trükitud kuldsetest kiududest, minu kassi kuulsuse ja hiilguse pärast). See on alusega ühendatud 2 neodüümimagneti abil.
Seda tasandit kasutatakse servo hoidmiseks, samal ajal kui see pöörleb järgmisel tasandil asuvat detaili. Sellel on ka väike kalle toidu paremaks serveerimiseks.
See on lihtne üldine tase, mis jagab toitu üleval asuvast konteinerist. Seda pööratakse servo abil.
Seda osa kasutatakse toidupakendi hoidmiseks. See on ainus plastmassist osa, mis ei ole 3D-trükitud. Tahtsin vähendada toiduga kokkupuutumist 3D-prinditud osadega. Teoreetiliselt ei ole läbipaistvas PLA-plastikus mingeid mürgiseid saasteaineid, kuid ma ostsin kõige odavama teravilja jaoturi ja võtsin toidu konteineri osa, lihtsalt selleks, et olla kindel. Samuti näeb see tõesti lahe välja.
Kaks viimast osa olid korpus ja kaas. Siin ei ole midagi erilist, välja arvatud rohkem kulda, et see näeks parem välja ja võidaks kassi imetlust.
Vaarika Pi töötab Raspbian, mis on ette nähtud kasutades ansible mänguraamat nende teenuste osutamiseks:
MotionEye on avatud lähtekoodiga tarkvara, mille abil saate luua oma isikliku seire. See tuvastab kõik Raspberry Pi'ga ühendatud kaamerad. Lisaks saate karbist välja liikumistuvastuse, lõpp-punkti voo jagamiseks ja webhooki toe.
See teenus kontrollib servo pöörlemist. See on lihtne Python skript, mis ühendub MQTT-serveriga, kus töötab minu Smart House'i tarkvara, ja ootab sõnumit, et käivitada rotatsioon.
Nii nagu servo teenus, rakendab see MQTT poolt juhitava valgusallika protokolli MQTT-s. HomeAssistent.
Ja lõpuks HomeAssistant automaatika, mis käivitab söötmise.
See käivitab toidu väljastamise kahes olukorras:
See automatiseerimine kood näeb välja selline:
- alias: Sööda kassi
päästik:
- platvorm: riik
entity_id: "binary_sensor.iss".
from: 'off'
to: "sisse
- platvorm: riik
entity_id: calendar.cat_feed_schedule
from: 'off'
to: "sisse
tegevus:
- teenus: script.feed_the_cat
Ilmselt ei ole see versioon viimane. Aga see täidab oma eesmärki - kass on hästi toidetud ja mina saan oma laisad hommikud 🙂 .
Loe edasi:
– E-commerce: Mängu uus seis 2020 (aruanne)
– Kuidas juhtida äri kriisi ajal?
– Ruby programmeerimine. Algaja terminal - 2. osa