AWS IoT et ESP32 : Comment j'ai créé un cadre photo intelligent pour ma domotique personnelle

lundi 12 mai 202510 min de lecturePar Damien Gilbrin
AWS IoT et ESP32 : Comment j'ai créé un cadre photo intelligent pour ma domotique personnelle

Table des matières

🖼️

Un cadre photo intelligent qui fait bien plus qu'afficher des images

Avez-vous déjà souhaité avoir un objet discret dans votre salon qui affiche vos souvenirs de voyage tout en vous tenant informé de la météo et de l'état de vos plantes ? C'est exactement le projet que j'ai entrepris de réaliser, combinant ma passion pour la domotique, les composants Arduino et les services cloud AWS.

Mon objectif : créer un cadre photo connecté capable d'afficher mes souvenirs de voyage, mais qui puisse également m'alerter en cas de vigilance météo en Île-de-France, m'avertir s'il va pleuvoir dans l'heure, ou me signaler quand une de mes plantes a besoin d'eau. Un véritable assistant discret et élégant pour mon intérieur.

Bien que ce projet soit encore en cours de développement, j'ai réalisé des avancées significatives que je souhaite partager avec vous. Voici comment j'ai abordé ce défi et les solutions techniques que j'ai mises en place.

🌱

Surveillance intelligente des plantes avec ESP32 et AWS IoT

La première composante de mon système est un réseau de capteurs pour surveiller mes plantes d'intérieur. Pour cela, j'ai choisi la carte ESP32, une solution puissante et économique qui offre une excellente connectivité WiFi.

Chaque capteur est composé des éléments suivants :

  • Une carte ESP32 servant de cerveau à l'installation
  • Des capteurs d'humidité du sol placés dans chaque pot de plante
  • Un capteur de température ambiante pour contextualiser les données d'humidité

J'ai programmé ces cartes en C++ pour :

  1. Se connecter à mon réseau WiFi domestique
  2. Établir une connexion sécurisée avec AWS IoT
  3. Envoyer toutes les 30 minutes des données précises sur le taux d'humidité de chaque plante ainsi que la température ambiante

Ces données sont ensuite interceptées par une fonction Lambda déployée sur AWS, qui se charge de les enregistrer dans une base de données DynamoDB. Chaque plante est associée à un type spécifique dans la base, ce qui permettra ultérieurement d'adapter les recommandations d'arrosage selon les besoins propres à chaque espèce.

Cette approche me permet de collecter un historique précis des conditions de mes plantes, créant ainsi une base de données qui servira à l'analyse prédictive pour déterminer le moment optimal d'arrosage.

🎨

Le cadre photo : un défi d'affichage résolu avec créativité

La partie la plus visible du projet est bien sûr le cadre photo lui-même. J'ai opté pour un écran à encre électronique capable d'afficher 7 couleurs, une technologie qui offre une excellente lisibilité même en plein soleil et une consommation d'énergie minimale.

Cependant, ce type d'écran présente un défi de taille : il est complexe d'y afficher des graphiques ou du texte dynamique de façon directe. J'ai donc développé une approche alternative :

  1. J'ai créé une page web en React qui sert de "maquette" pour l'affichage, où mes photos de voyage servent de fond avec la possibilité d'afficher par-dessus des informations contextuelles comme les alertes météo

  2. Une fonction Lambda équipée de Puppeteer effectue une capture d'écran de cette page web à intervalles réguliers

  3. Cette image est ensuite stockée sur Amazon S3 puis convertie au format BMP adapté aux 7 couleurs spécifiques de l'écran

  4. Lorsque l'image est prête, un événement AWS IoT est envoyé au cadre photo connecté

  5. Le cadre télécharge alors la nouvelle image et allume les LED correspondantes selon les instructions reçues (position et couleur hexadécimale)

Cette approche ingénieuse me permet de contourner les limitations de l'écran à encre électronique tout en exploitant sa qualité d'affichage exceptionnelle. Les 7 couleurs de base sont utilisées pour créer des motifs de points qui, vus à distance, donnent l'illusion d'une palette bien plus riche (similaire au principe des points CMJN d'une imprimante).

🧠

Le cerveau du système : IA et analyse prédictive avec AWS

La partie la plus sophistiquée de ce projet - et celle qui est encore en cours de développement - est le système décisionnel qui détermine quand alerter sur l'état des plantes ou les conditions météorologiques.

Voici l'architecture que j'ai conçue :

  1. Une Step Function AWS est déclenchée toutes les heures pour orchestrer l'analyse des données

  2. Cette fonction récupère :

    • L'historique des taux d'humidité de chaque plante depuis DynamoDB
    • Les prévisions météorologiques actuelles via une API externe
    • La température intérieure actuelle
    • Les caractéristiques spécifiques de chaque type de plante
  3. Ces données sont envoyées à Amazon Bedrock qui, grâce à un modèle d'IA configuré avec des instructions spécifiques, détermine :

    • Si une plante a besoin d'être arrosée, en tenant compte de son espèce, des conditions ambiantes et de son historique d'humidité
    • Si une alerte météo est active pour ma région
    • S'il va pleuvoir dans l'heure à venir
  4. Les résultats de cette analyse sont enregistrés dans DynamoDB

  5. Lors de la génération de l'image pour le cadre photo, ces informations sont récupérées et intégrées dans le rendu React pour afficher les alertes appropriées

Cette approche permet une gestion intelligente des notifications, évitant les faux positifs et adaptant les recommandations d'arrosage aux besoins spécifiques de chaque plante. Par exemple, une plante tropicale et une plante grasse n'ont pas les mêmes besoins en eau, et le système en tient compte dans son analyse.

Les avantages de cette approche architecturale

Cette architecture présente plusieurs avantages significatifs :

  • Extensibilité : Il est facile d'ajouter de nouveaux capteurs ou de nouvelles fonctionnalités sans modifier l'ensemble du système

  • Faible consommation d'énergie : L'écran à encre électronique et les ESP32 en mode veille consomment très peu d'électricité

  • Fiabilité : Les services AWS offrent une disponibilité quasi permanente, garantissant le bon fonctionnement du système

  • Intelligence évolutive : Plus le système collecte de données, plus il devient précis dans ses recommandations grâce à l'apprentissage continu

  • Discrétion : L'ensemble s'intègre parfaitement dans un intérieur moderne, sans ressembler à un équipement technique

Démonstration du prototype de mon cadre photo intelligent connecté à AWS IoT

🚀

Évolutions futures du projet

Bien que déjà fonctionnel dans ses composantes essentielles, ce projet continuera d'évoluer. Voici les améliorations que j'envisage d'apporter :

  1. Intégration de capteurs supplémentaires : Qualité de l'air, luminosité, présence, pour enrichir encore les fonctionnalités du système

  2. Interface web de contrôle : Développer une interface permettant de configurer le système et de visualiser l'historique des données

  3. Automatisation de l'arrosage : Connecter le système à des vannes d'arrosage automatiques pour les plantes nécessitant une attention particulière

  4. Analyse d'image par IA : Utiliser la reconnaissance d'image pour détecter les maladies des plantes à partir de photos prises périodiquement

  5. Intégration avec d'autres systèmes domotiques : Connecter ce projet à des plateformes comme Amazon Alexa ou Google Home pour une expérience utilisateur unifiée

🏁

Conclusion : La puissance d'AWS IoT pour la domotique personnalisée

Ce projet de cadre photo intelligent illustre parfaitement comment les services AWS IoT peuvent être mis à profit pour créer des solutions de domotique personnalisées et innovantes. En combinant des composants matériels accessibles comme l'ESP32 avec la puissance du cloud AWS, il devient possible de réaliser des systèmes intelligents qui répondent précisément à nos besoins spécifiques.

L'association de plusieurs services AWS (IoT Core, Lambda, DynamoDB, S3, Step Functions et Bedrock) permet de créer une architecture robuste et évolutive, capable de traiter et d'analyser des données en temps réel pour fournir des informations pertinentes.

Bien que ce projet soit encore en développement, les résultats obtenus jusqu'à présent sont très prometteurs. La possibilité de transformer un simple cadre photo en un hub d'information contextuel et élégant démontre tout le potentiel de l'Internet des Objets lorsqu'il est associé à des services cloud puissants.

Si vous avez des questions sur ce projet ou des suggestions d'amélioration, n'hésitez pas à me contacter. Je serais ravi d'échanger sur les possibilités qu'offrent AWS IoT et les composants Arduino pour la domotique personnalisée.

Damien Gilbrin

Damien Gilbrin

Développeur fullstack passionné, je crée des applications web performantes et modernes grâce à mon expertise en React, Next.js, PHP Symfony et les solutions AWS.