The Codest Valor principal #1
O The Codest acredita em quatro valores cruciais que são o núcleo de todas as acções tomadas pelas equipas do The Codest. Neste artigo, o nosso CEO e cofundador, Greg Polec, explica o que...
Imagine uma situação destas: são 6 horas da manhã de um sábado, está confortavelmente deitado na sua cama, ainda a dormir profundamente. De repente, ouve o seu gato a arranhar a porta, os seus miados altos tornam-se insuportáveis e o seu gato tem todo o tempo do mundo para lhe dizer o que precisa. Sabe do que é que ele precisa realmente?
Imagine uma situação destas: são 6 horas da manhã de um sábado, está confortavelmente deitado na sua cama, ainda a dormir profundamente. De repente, ouve o seu gato a arranhar a porta, os seus miados altos tornam-se insuportáveis e o seu gato tem todo o tempo do mundo para lhe dizer o que precisa. Sabe do que é que ele realmente precisa? Eu sei - o seu gato quer comida agora! Agora mesmo! Como é que eu sei isso? Porque, a dada altura, comecei a dar comida ao meu gato a essa hora... E, claro, tornou-se uma nova hora padrão para receber comida.
Este cenário inspirou-me a construir um alimentador automático para gatos, que eliminaria os problemas da alimentação matinal do gato e o manteria feliz.
A primeira geração do comedouro para gatos era um simples MVP feito de cartão, servo simples e ESP WeMos. Utilizava o servo para rodar o recipiente superior em 180 graus para distribuir a comida.
Um microcontrolador foi ligado ao meu Wi-Fi local e comunicou com o servidor Smart Home que executa o HomeAssistant através do protocolo MQTT. Graças a isso, pude utilizar o sistema de automação HomeAssistant para programar a alimentação e a distribuição de alimentos através de comandos do Google Home. Cada alimentação foi definida como um evento especial no Google Calendar. Isto permitiu-me controlar facilmente a hora de alimentação do gato e alterá-la quando necessário.
É claro que esta geração teve alguns problemas:
Tal como acontece com a maioria dos MVP, foi utilizado apenas durante 2 anos até se avariar.
Decidi que o próximo comedouro para gatos deveria:
Comecei todo o processo a partir da conceção de elementos básicos para a divisão dos alimentos. Depois, quando os desenhos estavam prontos, todos os elementos foram impressos utilizando a Creality Ender-3 e PLA
Depois de me certificar de que tudo funcionava, comecei a desenhar e a imprimir o resto das peças:

Tem locais especiais para os parafusos para ajudar a instalar o Raspberry Pi. Além disso, na parte da frente, existe um pequeno orifício para facilitar o acesso ao cartão SD do Raspberry Pi.
Esta peça de plástico é utilizada para colocar uma tigela de comida de metal (claro que foi impressa com filamentos de ouro, para a fama e glória do meu gato). Está ligada à base através de 2 ímanes de neodímio.

Este nível é utilizado para segurar o servo enquanto este roda a peça no nível seguinte. Tem também uma pequena inclinação para melhor servir a comida.

Trata-se de um nível genérico simples que reparte os alimentos de um recipiente colocado por cima. É rodado pelo servo.

Esta peça é utilizada para segurar o recipiente de alimentos. É a única peça de plástico que não foi impressa em 3D. Queria minimizar o contacto dos alimentos com as peças impressas em 3D. Em teoria, o plástico PLA transparente não tem quaisquer contaminantes tóxicos, mas comprei o distribuidor de cereais mais barato e tirei a parte do recipiente para alimentos, só para jogar pelo seguro. Além disso, tem um aspeto muito fixe.

As duas últimas peças foram a caixa e a tampa. Nada de especial aqui, exceto mais ouro para ficar mais bonito e ganhar a admiração do gato.



O Raspberry Pi está a executar um Raspbian provisionado utilizando o manual ansible para executar estes serviços:
O MotionEye é um software de código aberto para construir a sua própria monitorização privada. Detecta qualquer câmara ligada ao Raspberry Pi. Adicionalmente, a partir da caixa, obtém deteção de movimento, um ponto final para partilhar o fluxo e suporte para webhook.
Este serviço controla a rotação do servo. Trata-se de um simples Python que se liga ao servidor MQTT que executa o meu software Smart House e aguarda uma mensagem para acionar a rotação.
Tal como o serviço servo, implementa um protocolo para a fonte de luz controlada pelo MQTT em HomeAssistant.
E, finalmente, a automação HomeAssistant que acciona a alimentação.
Acciona a distribuição de alimentos em duas situações:
Esta automatização código tem este aspeto:
- pseudónimo: Alimentar o gato
acionamento:
- plataforma: estado
entity_id: 'binary_sensor.iss'
de: "off" (desligado)
para: 'on'
- plataforma: estado
entity_id: calendar.cat_feed_schedule
de: "off" (desligado)
para: 'on'
ação:
- serviço: script.feed_the_cat
Obviamente, esta versão não é a última. Mas serve o seu objetivo - o gato está bem alimentado e eu tenho as minhas manhãs preguiçosas 🙂
Ler mais:
– E-commerce: Novo estado do jogo 2020 (relatório)
– Como gerir uma empresa durante a crise?
– Programação em Ruby. Terminal para principiantes - parte 2