Jul.16

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 Winking smile) et son fils ou encore une introduction à Kotlin.

Magazine Programmez! Spécial Ete 2018

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 !

Dossier "Automatiser sa maison de A à Z" dans le magazine Programmez! n°220

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.

image

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.

Tableau domotique - IPX800 (en cours d'installation)Placard technique - Electricité, domotique IPX800 et baie reseau (en cours d'installation)

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.

S-Panel

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! Smile

En vous souhaitant une bonne lecture et surtout un bon été 2018,

Domotique,Constellation

Apr.26

S-Watch : pilotez votre domotique et objets connectés depuis une montre Samsung Gear S2 ou comment développer des applications Tizen connectées à Constellation

Heureux détenteur d’une montre Samsung Gear S2 depuis fin de 2015, j’admets l’avoir toujours autour du poignet depuis maintenant plus de deux ans !

Samsung Gear S2 Classic

Très pratique pour donner l’heure (private joke), elle permet aussi et surtout de recevoir tout type de notification de son téléphone quelque soit l’application (Facebook, WhatsApp, Twitter, Paypal, Amazon, SNCF et j’en passe), prendre ou refuser les appels, répondre aux SMS, rappel du calendrier,  mesurer sa fréquence cardiaque, ses pas, etc. Bref plus besoin de sortir constamment son téléphone de la poche !

Et forcément en bon développeur, j’ai très rapidement cherché à connecter ma montre dans la plateforme Constellation afin de pouvoir facilement piloter l’alarme, lumières, volets, thermostat, media-center, porte de garage ou même la voiture depuis le poignet !

S-Watch / Constellation

Découvrons dans cet article comment développer des applications Tizen pour votre montre Samsung et delà piloter votre maison et autre objets connectés du poignet avec Constellation.

Dev,Constellation

Oct.12

S-DoorBell : connecter sa sonnette à Constellation avec un ESP8266 ou comment protéger le sommeil de son enfant, la sonnette propulsée dans Constellation !

Avec l’arrivée d’un enfant beaucoup de chose change dans la vie d’un nouveau parent, à commencer par les projets connectés ! Loin de moi l’idée d’équiper mon fils de différents capteurs, c’est la maison qui s’adapte à cette nouvelle organisation familiale en gérant de nouvelle chose comme la température de sa chambre, l’état de sa veilleuse, son volet, l’aération et qualité de l’air, etc…

Bref une maison qui prend soin de nous et automatise un grand nombre de petites actions que nous réalisons au quotidien.

Comme vous le savez un nouveau-né dort beaucoup et avec son arrivée beaucoup de visites à programmer avec les amis ou la famille. Dès lors une phrase revient souvent : « ne sonne pas, bébé dort ! ». Mais entre les livreurs, le facteur et les oublis des proches, il y a forcément des cas où la sonnette vient perturber la sieste du petit.

Intro

Alors en bon adapte du DIY et équipé d’une plateforme d’interconnexion des applications, services et objets connectés telle que Constellation il devient facile et rapide d’apporter une solution intelligente à ce problème. Et de fil en aiguille, avec la souplesse qu’offre Constellation, une simple sonnette branchée sur un ESP8266 et connectée à Constellation ouvre la voix à une multitude de possibilité !

Découvrons ensemble comment propulser une sonnette dans une Constellation  Winking smile

Domotique,Constellation

Jul.12

Découverte des ESP8266 : le microcontrôleur connecté par Wifi pour 2€ au potentiel phénoménal avec Constellation

Ce dossier a été initialement publié dans le magazine Programmez! n°190 en novembre 2015.

Programmez! n°190 - Novembre 2015 Article Programmez!

Arrivé à l’été 2014, l’ESP8266 est un microcontrôleur produit par la société chinoise Espressif intégrant un module Wifi.

Avec un prix avoisinant les 2€, il a très vite séduit les foules qui se sont empressées de créer une communauté dans laquelle on retrouve maintenant beaucoup de documentation, de bouts de codes, des firmwares et projets en tout genre.

Initialement cette puce était un « simple » module Wifi permettant à un microcontrôleur équipé d’une liaison série, tel un Arduino, de disposer d’une connectivité Wifi pour un prix dérisoire. Mais en Octobre 2014, Espressif publié un kit de développement (SDK) permettant de reprogrammer la puce supprimant ainsi la nécessité d’un microcontrôleur séparé. Comme nous allons le découvrir dans cet article, les possibilités sont immenses !

Domotique,Constellation

Nov.10

Contrôlez votre maison avec la télécommande de la TV–ou comment envoyer et recevoir des signaux infrarouges avec un ESP8266 et Constellation

Suite à la publication dans le magazine Programmez! de mon dossier sur les ESP8266, des microcontrôleurs équipés d’une interface Wifi, je vous propose ici la réalisation d’une passerelle infrarouge dans Constellation pour moins de 10€.

Grâce à celle-ci, vous pourrez envoyer ou recevoir des signaux infrarouges (IR) depuis vos programmes, scripts, pages Web ou objets connectés dans Constellation.

Schéma général

Après une introduction au monde du signal infrarouge, je vous expliquerai comment j’ai pu porter l’excellente librairie Arduino “IRremote” sur ESP8266 et comment l’intégrer dans Constellation.

Nous exploiterons cette passerelle pour :

  • Piloter des appareils IR depuis une application Web ou Android avec 5 lignes de JavaScript ou même un script Powershell
  • Piloter une scène BabylonJS ou sa maison (domotique Z-Wave, lampes Hue, thermostat Nest ou media-center Kodi) depuis une simple télécommande infrarouge

Passerelle IR pour Constellation

Bonne découverte …

Domotique,Constellation

Oct.29

ESP8266 : des microcontrôleurs avec Wifi intégré pour 2€, l’avalanche des objets connectés dans Constellation : dossier complet dans le magazine Programmez!

Arrivé à l’été 2014, l’ESP8266 est un microcontrôleur produit par la société chinoise Espressif intégrant un module Wifi. Avec un prix avoisinant les 2€, il a très vite séduit les foules qui se sont empressées de créer une communauté dans laquelle on retrouve maintenant beaucoup de documentation, de bouts de codes, plusieurs firmwares, projets en tout genre et des forums très riches d’enseignement.

ESP8266

Initialement cette puce était un « simple » module Wifi permettant à un microcontrôleur équipé d’une liaison série, tel un Arduino, de disposer d’une connectivité Wifi pour un prix dérisoire. Mais depuis Octobre 2014, Espressif a publié un kit de développement (SDK) permettant de reprogrammer la puce supprimant ainsi la nécessité d’un microcontrôleur séparé ! On peut donc maintenant développer sur ce microcontrôleur autonome en C++ natif, en Arduino, en Lua, etc…

ESP8266 - ESP-01

Grâce au SDK Constellation, ce microcontrôleur de la taille d’une pièce de 2€ peut échanger avec tous les systèmes connectés de votre Constellation comme avec un thermostat Nest, une alarme Paradox, de la domotique Z-Wave, des ordinateurs Linux ou Windows, etc… Et le tout en quelques lignes de code seulement !

Différents modèles de l'ESP8266 par AI-Thinker

Update Juillet 2016 : ce dossier est désormais disponible en ligne sur mon site à l’adresse : https://sebastien.warin.fr/2016/07/12/4138-decouverte-des-esp8266-le-microcontroleur-connecte-par-wifi-pour-2-au-potentiel-phenomenal-avec-constellation/

Domotique,Constellation

Oct.09

Créez votre “Home Analytics” : l’analyse et le reporting de votre domotique, informatique et objets connectés avec ElasticSearch, Graylog, Kibana et la plateforme Constellation

connect houseDésormais la maison est équipée d’une multitude de systèmes informatiques et d’objets connectés. Des serveurs, aux média-centers (XBMC/Kodi) et ordinateurs en tout genre, en passant par le thermostat connecté, la TV & ampli connectées, les capteurs météo connectés, système d’alarme connecté, lampes connectées, etc… La maison intelligente dispose d’un nombre impressionnant de capteur produisant beaucoup de données.

Par exemple un module intérieur NetAtmo produit des données sur la température mesurée, l’humidité, le taux de CO² mais aussi l’état de sa batterie, la puissance du signal, etc.. Sur un ampli Home-Cinéma on aura son état (allumé ou éteint), le niveau du volume, l’entrée sélectionnée, etc… Un micro-module Fibaro Z-Wave indiquera quant à lui l’état de ses relais et une zone du système d’alarme indiquera si elle est ouverte ou fermée, en alarme, en maintenance, etc…

iot home

Comme vous le savez en lisant ce blog, ma plateforme Constellation permet l’interconnexion des différents objets et services connectés. Que ce soit des ordinateurs ou serveurs, des services externes, des objets connectés du commerce ou que vous avez vous-même développé (à base d’Arduino, ESP8266, Gadgeteer, Raspberry, & co), vous pouvez les connecter sur la plateforme Constellation afin de pouvoir les faire dialoguer ensemble et créer ainsi de l’intelligence ambiante et des interfaces de pilotage universelle.

Dans cet article nous allons découvrir comment historiser l’ensemble des données qui circule dans la Constellation à des fins d’analyse et d’alerting.

Schema Constellation Graylog

Pour cela nous allons connecter Graylog à Constellation et utiliser ElasticSearch comme base de données et Kibana comme interface Web de visualisation.

Dashboard Constellation dans Kibana

Domotique,Constellation