Dossier spécial sur la maison intelligente et Constellation dans le numéro d’été du magazine Programmez! dans vos kiosques partout en France
A l’heure de l’intelligence artificielle et de l’internet des objets (IoT), découvrons dans ce dossier les technologies pour concevoir pas à pas votre « maison intelligente » en dépassant le cas simple de la domotique largement proposé à travers les box du marché. Amis développeurs, sortez les tournevis et votre IDE et donnez une âme à votre logement !
Comme chaque année à la même période, le magazine Programmez! édition “Spécial été” est disponible depuis le début de ce mois de Juillet dans vos kiosques préférés partout en France durant tout l’été.
Le parfait compagnon pour vous accompagner pendant vos vacances, à la mer, à la montagne ou en campagne voire au bureau pour les moins chanceux.
Plein de bonne chose au programme de ce numéro 220 avec un dossier spécial sur la programmation en famille, le minage de crypto monnaie, de la VR, l’automatisation d’un bras robotisé avec un ESP8266 par Laurent Ellerbach (l’un des tout premier utilisateur de Constellation que je salue au passage ) et son fils ou encore une introduction à Kotlin.
Et une fois n’est pas coutume, vous retrouverez également un dossier très complet sur l’automatisation dans la maison, une introduction à l’IoT et l’IA dans le contexte de la maison connectée, avec en toile de fond, Constellation !
Le dossier sera publié en deux numéros, la première partie disponible dans ce numéro 220 et la suite du dossier sera disponible dans le prochain numéro à la rentrée en Septembre prochain.
Aujourd’hui âgé de 2 ans ½, mon fils ainé grandi dans une maison qui lui parle, qui allume ou éteint les lumières, les volets, le chauffage selon les conditions. Il trouve cela normal et suscite quelques interrogations de la part du personnel de la crèche quand il parle de la « dame qui parle dans le plafond de la salle de bain ». Même si cela prête sourire, il s’agit bien d’une réalité et d’ici quelques années çà sera le standard dans nos logements. Pensez aux GAFA qui proposent (ou travaillent) tous maintenant sur des assistants vocaux, des enceintes connectées ou autres protocoles, objets domotique et plus encore.
Avant de parler de l’intelligence de la maison, il faut la rendre « connectée ». Pour cela on va mettre en œuvre les principes de base de la domotique. Nous découvrirons dans une première partie les différentes technologies à votre disposition selon les contraintes d’exploitation : on parlera bien évidement des technologies filaires comme le KNX ou encore l’IPX800 que j’apprécie tout particulièrement, des technologies sans nouveau câble (type CPL) et aussi des technologies sans fil tel que le Z-Wave. Nous complèterons ensuite cette domotique d’objets connectés du commerce ou home-made pour assurer des taches spécifiques : thermostats connectés, stations météo connectées, lampes connectées, etc…
L’accent sera mis sur la mixité des technologies. Concevoir une maison connectée sur une seule technologie peut être très limitant mais à l’inverse si plusieurs technologies sont utilisées il faudra s’assurer de l’interopérabilité de ces dernières pour ne pas tomber dans un patchwork sans nom. Une plateforme d’interconnexion des objets connectés, des applications et des services comme la plateforme Constellation prendra alors tout son sens dans de telle solution.
On parlera également des systèmes de sécurité qui au delà d’être une alarme est également une immense source de données pour alimenter des algorithmes d’IA (perception de l’environnement), de la vidéo-surveillance avec des plateformes comme ZoneMinder ou Shinobi et aussi du réseau informatique (baie réseau, type de cable, switchs, routeurs, réseau d’AP Wifi, etc..).
Je vous parlerai également de mon installation personnelle dans une maison de 1930 basée sur du Z-Wave et une multitude d’objets connectés mais également de notre maison secondaire en Dordogne entièrement rénovée cette année avec comme base des IPX800. Cette seconde installation fera d’ailleurs l’objet d’un sujet à part entière sur ce blog d’ici la rentrée.
Sur la route de la maison intelligente, il n’y a pas que les objets connectés, n’oublions pas non plus les « services » : la météo, l’agenda, le trafic routier, les réseaux sociaux, les comptes en banque, etc… L’interconnexion de ces services avec les objets connectés de la maison permettront l’émergence de l’intelligence ambiante.
Dans la suite du dossier qui paraîtra en Septembre on parlera aussi d’objets connectés “home-made” pour compléter son installation comme la sonnette connectée avec un ESP8266, la porte de garage connectée avec un Raspberry, le miroir connecté, le dashboard Domotique, la supervision des ressources énergétiques et bien d’autre choses.
Et bien entendu pour finir nous aborderons les grands principes dans la mise en place d’une intelligence artificielle pour la maison connectée avec notre plateforme Constellation.
Car en effet une maison « connectée » c’est-à-dire où chaque dispositif peut être piloté depuis une interface informatique (une page Web, une application smartphone ou même à la voix), n’a rien d’intelligent ! Mais avec une plateforme comme Constellation on a la tuyauterie nécessaire pour faire émerger cette IA : nous pouvons ajouter des applicatifs (packages) quel que soit votre langage de développement dans le bus Constellation. Vous n’avez donc aucune limite autre que celle offerte par votre langage/plateforme et vos compétences de développeur.
Lorsque que l’on développe une IA qu’elle soit symbolique (typiquement un moteur de règle) ou connexionniste (un réseau de neurone) pour une « smart home », on peut appliquer le concept d’ « agent intelligent » c’est-à-dire une entité qui peut être considérée comme percevant sont environnement et qui agit sur cet environnement via des effecteurs. Mathématiquement parlant, le comportement de l’agent est décrit par la fonction agent qui fait correspondre une action à une séquence de percepts (c’est-à-dire à l’historique des entrées perceptives de ce qu’il a perçu).
Avec Constellation un agent est en fin de compte un package (applicatif) qui peut être déployé sur une sentinelle connectée sur le bus. La consommation de StateObject est en définitive des percepts pour percevoir l’environnement et les MessageCallbacks des effecteurs pour enclencher des actions sur l’environnement.
On peut donc grâce à Constellation implémenter facilement des fonctions agent plus ou moins complexe : réflexe simple pour réagir directement aux percepts (comme le fait d’allumer la lumière si il y a du mouvement), réflexe fondé sur des modèles (où il y a un maintien de l’état interne afin de suivre les aspects du monde non discernable dans le percept courant), sur des buts (pour atteindre des objectifs), sur l’utilité (pour maximiser la satisfaction espérée) et même des agents capables d’apprentissage pour améliorer leur performance.
Sans rentrer trop en profondeur dans les concepts théoriques de l’IA, le dossier vous présentera quelques exemples d’agent s’exécutant dans ma Constellation pour amener cette intelligence ambiante dans le contexte de la « smart home ».
Sans plus attendre, rendez-vous chez votre librairie préféré pour demander le numéro 220 du magazine Programmez!
En vous souhaitant une bonne lecture et surtout un bon été 2018,