Image de représentation du projet CR4IOT

CR4IOT

pythonhomekit

Ce projet a été réalisé dans le cadre de la matière projet système durant la première année de master à l'Ensta Bretagne avec une équipe de 4 étudiants. C'est un sujet de projet proposé par M. LAGADEC Loïc et INIZAN Michel. L'acronyme CR4IOT signifie Complex Requests for Internet of Things. Le but de ce projet est de réaliser une solution permettant à un utilisateur de maison connectée de contôler ses objets connectés à l'aide de requêtes dites complexes.

Proof of concept

La majorité des solutions domotiques actuelles permettent déjà de contrôler ses objets connectés à l'aide de requêtes simples en langage naturel. Par exemple, demander à Siri d'éteindre les lumières fonctionne très bien. Néanmoins, introduire des notions de conditions logiques ou de répétitions est presque impossible. Il serait donc intéressant de pouvoir contrôler ses objets connectés à l'aide de requêtes plus complexes, comme par exemple éteindre les lumières de la cuisine si la température est supérieure à 25°C sauf si je suis à la maison.

Pour répondre à ce besoin, nous avons travaillé sur le système d'exploitation pour Raspberry Pi Home Assistant qui est une solution open-source permettant de développer ses propres outils de domotique en python.

Card Image

Analyse lexicale

Comme le montre l'image ci-dessus, nous avons développé un outil d'analyse lexicale qui permet de transformer une requête complexe en une suite de conditions et d'actions. Cette analyse est rendue possible grâce au système Home Assistant, qui permet de récupérer l'état de tous les objets connectés de la maison, ainsi que leur nom et leur emplacement dans la maison. Des mots-clés sont égalements recherchés dans la requête pour déterminer les actions à réaliser : allumer, éteindre, augmenter, diminuer désignent des actions à réaliser sur les objets connectés, tandis que si, sauf,et et ou désignent des conditions logiques.

Vidéo

Gitlab