The Codest Valeur de base #1
The Codest croit en quatre valeurs cruciales qui sont au cœur de toutes les actions entreprises par les équipes de The Codest. Dans cet article, notre CEO et cofondateur, Greg Polec, explique ce que...
Imaginez une telle situation : il est 6 heures du matin un samedi, vous êtes confortablement allongé dans votre lit, vous dormez encore à poings fermés. Soudain, vous entendez votre chat gratter à la porte, ses miaulements bruyants deviennent insupportables et votre chat a tout le temps de vous faire part de ses besoins. Savez-vous ce dont il a vraiment besoin ?
Imaginez une telle situation : il est 6 heures du matin un samedi, vous êtes confortablement allongé dans votre lit, vous dormez encore à poings fermés. Soudain, vous entendez votre chat gratter à la porte, ses miaulements bruyants deviennent insupportables et votre chat a tout le temps de vous faire part de ses besoins. Savez-vous ce dont il a vraiment besoin ? Je sais : votre chat veut de la nourriture tout de suite ! Tout de suite ! Comment le sais-je ? Parce qu'à un moment donné, j'ai commencé à nourrir mon chat à cette heure-là... Et, bien sûr, c'est devenu une nouvelle heure standard pour obtenir de la nourriture.
Ce scénario m'a inspiré la construction d'un distributeur automatique de nourriture pour chats, qui supprimerait les problèmes liés à l'alimentation du chat le matin et le rendrait heureux.
La première génération de mangeoires pour chats était une simple MVP Il est constitué d'un peu de carton, d'un simple servo et d'un ESP WeMos. Il utilise un servo pour faire pivoter le récipient supérieur de 180 degrés afin de distribuer la nourriture.
Un microcontrôleur a été connecté à mon Wi-Fi local et a communiqué avec le serveur Smart Home exécutant HomeAssistant via le protocole MQTT. Grâce à cela, j'ai pu utiliser le système d'automatisation HomeAssistant pour programmer l'alimentation et la distribution de nourriture par le biais de commandes Google Home. Chaque repas a été défini comme un événement spécial dans le calendrier Google. Cela m'a permis de contrôler facilement l'heure des repas du chat et de la modifier si nécessaire.
Bien sûr, cette génération a rencontré quelques problèmes :
Comme la plupart des MVP, il n'a été utilisé que pendant deux ans, jusqu'à ce qu'il se casse.
J'ai décidé que la prochaine mangeoire pour chat devrait :
J'ai commencé l'ensemble du processus en concevant des éléments de base pour le cloisonnement des aliments. Une fois les dessins prêts, tous les éléments ont été imprimés à l'aide de la machine Ender-3 de Creality et de PLA.
Après m'être assuré que tout fonctionnait, j'ai commencé à concevoir et à imprimer le reste des pièces :
Il comporte des emplacements spéciaux pour les vis afin de faciliter l'installation du Raspberry Pi. De plus, sur le devant, il y a un petit trou pour faciliter l'accès à la carte SD du Raspberry Pi.
Cette pièce en plastique sert à placer un bol de nourriture en métal (bien sûr, elle a été imprimée avec des filaments d'or, pour la gloire de mon chat). Elle est reliée à la base par deux aimants en néodyme.
Ce niveau sert à maintenir le servo pendant qu'il fait tourner la pièce au niveau suivant. Il présente également une petite pente pour mieux servir les aliments.
Il s'agit d'un simple niveau générique qui prélève des portions de nourriture dans un récipient placé au-dessus. Il est mis en rotation par le servo.
Cette pièce sert à maintenir le récipient alimentaire. C'est la seule pièce en plastique qui n'a pas été imprimée en 3D. Je voulais minimiser le contact des aliments avec les pièces imprimées en 3D. En théorie, le plastique PLA transparent ne contient pas de contaminants toxiques, mais j'ai acheté le distributeur de céréales le moins cher et j'ai enlevé la partie contenant la nourriture, juste pour être sûr. De plus, il a l'air vraiment cool.
Les deux dernières pièces étaient le boîtier et le couvercle. Rien de spécial ici, si ce n'est un peu plus d'or pour embellir le tout et gagner l'admiration du chat.
Le Raspberry Pi utilise une version de Raspbian approvisionnée à l'aide de la commande cahier de jeu ansible pour faire fonctionner ces services :
MotionEye est un logiciel open source permettant de créer sa propre surveillance privée. Il détecte toute caméra connectée à Raspberry Pi. De plus, vous bénéficiez de la détection de mouvement, d'un point de terminaison pour le partage du flux et de la prise en charge des webhooks.
Ce service contrôle la rotation du servo. Il s'agit d'un simple Python qui se connecte au serveur MQTT exécutant mon logiciel Smart House et attend un message pour déclencher la rotation.
Tout comme le service d'asservissement, il met en œuvre un protocole pour les sources lumineuses contrôlées par le protocole MQTT en Assistant(e) à domicile.
Et enfin, l'automatisation HomeAssistant qui déclenche l'alimentation.
Il déclenche la distribution d'aliments dans deux situations :
Cette automatisation code ressemble à ceci :
- alias : Nourrir le chat
déclencher :
- plateforme : état
entity_id : 'binary_sensor.iss'
de : 'off'
à : 'on'
- plateforme : état
entity_id : calendar.cat_feed_schedule
de : 'off'
à : 'on'
action :
- service : script.feed_the_cat
Évidemment, cette version n'est pas la dernière. Mais elle remplit son rôle - le chat est bien nourri et j'ai mes matinées de farniente 🙂 .
En savoir plus :
– E-commerce : Nouvel état du jeu 2020 (rapport)
– Comment gérer une entreprise pendant la crise ?
– Programmation en Ruby. Terminal pour débutants - partie 2