AutoMiam est un projet réalisé dans le cadre de l’enseignement Smart Environments, enseigné au sein du Master 2 Intelligence Artificielle de l'université Claude Bernard Lyon 1. Il est encadré par Lionel Medini et a pour sujet les objets connectés, l’internet des objets (IoT), et le web des objets (WoT).
L'objectif du projet était de réaliser un pet feeder intelligent, capable d’identifier les animaux enregistrés, afin d’adapter son comportement pour chacun.
Le système conçu peut délivrer de la nourriture, de manière automatique, aux animaux enregistrés qui s'en approche. Il identifie un animal avant de le nourrir, à l’aide d’une caméra, pour analyser ses besoins et lui fournir une dose de nourriture quotidienne adaptée. L'utilisateur peut enregistrer ses animaux dans le système et suivre leur consommation grâce à une interface web.
Dans le cadre du projet, nous avons restreint les animaux aux chiens, et le nombre de chiens reconnus à deux : Mina et Jappeloup.
Mina | Jappeloup |
doc/
: Documents de rendu du projetapp/
: Contient les modules de l'applicationui/
: Interface web utilisateurdog-identifier/
: Serveur python pour identifier et gérer les chiens enregistréspet-feeder/
:thing/
: App Node.js pour exposer l'objet connectécontroller/
: App Node.js pour consommer l'objet connecté
Pour exécuter le projet, il faut lancer trois modules :
dog-identifier
(serveur python)pet-feeder/thing
(App Node.js)pet-feeder/controller
(App Node.js)- (Optionnel) Interface web utilisateur
Il est nécessaire d'avoir une carte Arduino, montée avec StandardFirmataPlus, branchée selon les spécifications décrites ici et reliée en filaire à la machine. Cependant, il est possible d'exécuter le code sans arduino en modifiant le fichier app/pet-feeder/thing/src/Thing.ts
. Par ailleurs, certains modules peuvent être utilisés indépendamment (app/dog-identifier
& app/pet-feeder/thing/
).
Depuis le dossier source :
cd app/dog-identifier && pip install flask tensorflow &&
cd ../pet-feeder/thing && npm run buildAll &&
cd ../controller && npm install &&
Exécute les trois modules dans des terminaux séparés : app/run.sh
- Exposer l'objet connecté :
cd app/pet-feeder/thing && npm run start
- Serveur python :
cd app/dog-identifier && python3 server.py
- Controller :
cd app/pet-feeder/controller && npm run start
- UI :
firefox app/ui/Home.html
- Gaspard GOUPY
- Titouan KNOCKAERT
Voir Licence