IoT et objets connectés

Terminal de Communication :
Communicateur LoRa

Ce dispositif permet d'échanger des coordonnées et des messages textuels en utilisant le protocole LoRa.

communicateur LORA
communicateur LORA
Le dispositif est basé sur les éléments suivants :
  • Microcontrôleur : Raspberry Pi Pico

  • Écran : Écran tactile IPS 3,5 pouces sur port SPI

  • Modem : LORA E22 400T

  • GPS : NEOM6

  • RTC : DS3231

  • Stockage : Carte SD

  • Entrée : Émulation d'un USB Host pour la gestion d'un clavier externe via les PIO du Pico

Objectif du Projet

Ce projet vise à démontrer la possibilité de développer un terminal de communication texte sécurisé et autonome utilisant des technologies embarquées. Le dispositif permet :

L'échange de messages textuels chiffrés de manière sécurisée.

L'échange de coordonnées GPS, avec des fonctionnalités de navigation vers ces coordonnées.

Une grande autonomie énergétique, une portée étendue et une relative résilience aux perturbations des communications grâce au protocole LoRa.

Fonctionnalités

Échange de Messages Textuels

Le dispositif permet l'envoi et la réception de messages par le protocole LORA. les messages sont saisis grâce à un clavier USB connecté au dispositif. On peut  afficher les 256 lignes précédentes (reçues et envoyées).

Compétences Démontrées

Conception de circuits imprimés (PCB) : Adaptés à un système compact avec beaucoup de périphériques.

Développement d'une interface utilisateur solide : Gestion de menu, de nombreux affichages et curseurs (hitbox, gestion des saisies, etc.).

Implémentation de protocoles de communication sans fil (LoRa) : Configuration et optimisation pour les communications à longue portée.

Intégration de modules GPS : Pour la navigation et la synchronisation des clés de chiffrement.

Mots clefs

Systèmes embarqués, Raspberry Pi Pico, Écran tactile IPS, Modem LORA E22 400T, GPS NEOM6, RTC DS3231, Carte SD, Correction d'erreur Reed-Solomon, Échange de coordonnées GPS, Terminal de communication, Réglage des débits et de la puissance d'émission, LoRa, Q-learning, Relais, Réseau sans fil

architecture communicateur LORA
architecture communicateur LORA

Navigation et échange de coordonnées GPS
Le terminal permet également l'échange et l'utilisation de coordonnées GPS. Les utilisateurs peuvent envoyer leurs coordonnées, et le dispositif calculera la distance et l'azimut pour rejoindre la position cible. Cette fonctionnalité est particulièrement utile dans des contextes de recherche et sauvetage ou de navigation en milieu naturel.

Fonction de Relais
Le dispositif peut être configuré comme un relais, permettant de relier deux zones géographiques différentes et d'étendre la portée des communications au-delà des limitations directes du LORA.

Gestion de l'Énergie et Réglage des Débits
Le terminal permet de régler la puissance d'émission et le débit de données pour optimiser la consommation énergétique et assurer la transmission dans des conditions de signal variées. Un algorithme de correction d'erreurs de type Reed-Solomon a également été implémenté pour améliorer la fiabilité des transmissions.

Autonomie et Résilience
Le dispositif offre une autonomie de plusieurs dizaines d'heures grâce à une gestion optimisée de l'énergie. Sa robustesse physique (boitier avec renfort et épaisseur de 3 mm) et électronique (alimentation compatible avec des tensions entre 8 et 35V) le rend adapté à des environnements difficiles, tels que les opérations en montagne ou en zones isolées.

Ce projet de terminal de communication illustre ma capacité à concevoir des solutions embarquées innovantes, robustes et sécurisées. J'ai développé un dispositif capable de répondre aux exigences les plus élevées en matière de communication en environnements critiques, en garantissant une grande sécurité des communications et l'absence de dépendance aux réseaux centralisés.

Améliorations Futures

L'intégration de techniques de machine learning, comme le Q-learning, pourrait permettre un ajustement dynamique et optimal de la puissance d'émission et du débit, minimisant ainsi la consommation énergétique tout en garantissant la qualité des transmissions.

Applications

J'ai développé ce dispositif pour répondre à des besoins précis : partout où on ne dispose pas d'un réseau centralisé pour communiquer. Les principales applications de ce terminal incluent :

Sécurité des Communications en Environnement Critique :
Le dispositif est idéal pour les professionnels opérant dans des environnements hors réseau, comme les missions humanitaires, les équipes de secours en montagne, ou les chercheurs en terrain isolé.

Opérations de Secours :
Les équipes de secours peuvent utiliser ce terminal pour coordonner leurs efforts en toute sécurité. La capacité à échanger des coordonnées GPS et des messages textuels de manière sécurisée peut être vitale dans des situations d'urgence où chaque seconde compte.

Bien que des dispositifs similaires existent, ce projet présente une combinaison unique de simplicité, de sécurité, et d'autonomie qui peut répondre à des besoins spécifiques non couverts par les solutions actuelles. Pour ces raisons, ce dispositif me semble être une solution innovante et spécialisée pour les communications en environnements dégradés.

Terminal de Communication Sans Réseau : Communicateur AFSK

Ce terminal reprend les fonctionnalités de celui présenté avant dans la page. La base matérielle est différente cependant : on utilise un modem AFSK (un TCM3105, bien connu des radioamateurs) pour transmettre la donnée par radio.

communicateur AFSK
communicateur AFSK
Le dispositif est basé sur les éléments suivants :
  • Arduino Mega

  • Écran LCD 128x64 sur port parallèle

  • Modem AFSK TCM3105

  • GPS NEOM6

  • RTC DS3231

  • Carte SD pour le stockage des setups et de la clef de chiffrement

  • USB Host pour clavier externe USB

  • PCB double face dédié

  • Boîtier d'inspiration "post-apocalyptique"

Fonctionnalités :

Échange de messages textuels

Envoi et réception de coordonnées GPS

Orientation vers des coordonnées spécifiques

Fonctionnement Global

Le terminal conditionne les messages en trames de 16 octets.

Chaque message peut contenir plusieurs trames de 16 caractères contenant 14 caractères signifiants. La taille maximale d'un message est de 112 caractères.

Les liaisons sont simplex, mais j'ai implémenté deux techniques de correction d'erreur pour assurer une transmission optimale : correction de Hamming et correction de Reed Solomon. À chaque trame de 16 caractères sont associés 2 caractères supplémentaires pour la correction de Reed Solomon. Ensuite, les 18 caractères ainsi formés "passent" dans la correction de Hamming, ce qui porte la taille de la trame transmise à 36 caractères.

Le dispositif permet également l'envoi de coordonnées GPS, que le récepteur peut utiliser pour déterminer la distance et l'azimut vers la position envoyée.

Améliorations Possibles

Utilisation de LoRa : Une version améliorée du projet avec un microcontrôleur plus performant, un écran couleur de meilleure résolution, et un modem prenant en charge le protocole LoRa. Ce projet a été réalisé et est présenté au début de cette page.
Gestion des destinataires : Amélioration du système pour permettre la gestion de plusieurs destinataires.

architecture communicateur AFSK
architecture communicateur AFSK
Pourquoi un tel projet ?

Pour une communication véritablement sécurisée, un dispositif "on the edge" est nécessaire, ne communiquant avec aucun réseau centralisé et utilisant un système embarqué simple et contrôlable. C'est le meilleur moyen d'obtenir de la résilience pour les communications.

Perspectives

Ce terminal de communication, d'un coût inférieur à 50 euros, est pleinement opérationnel pour des échanges textuels, résilients et hors réseau. Compact, léger et compatible avec un large éventail de radios, il offre une solution de communication sécurisée et autonome, parfaitement adaptée aux environnements hors réseau.

Mots clefs

Systèmes embarqués, Arduino Mega, Écran LCD 128x64, GPS NEOM6, DS3231, Carte SD, GPS, USB Host, PCB double face, Correction d'erreurs Reed-Solomon et Hamming, Échange de messages textuels, Échange de coordonnées GPS, Communication hors réseau, Réseau hors ligne, Boîtier imprimé en 3D, Ergonomie matérielle et logicielle, CAO

Fonctions Possibles pour un Tel Projet

Ce projet permet d'échanger des messages textuels avec d'autres utilisateurs.

Le projet inclut également la possibilité de suivre et de partager des positions GPS en temps réel, facilitant ainsi le suivi de contacts ou la navigation vers des destinations spécifiques en terrain inconnu. Les coordonnées GPS reçues sont exploitées pour calculer l'azimut et la distance jusqu'à la destination choisie, améliorant ainsi l'orientation de l'utilisateur.

Les échanges de données critiques sont sécurisés en évitant l'utilisation de réseaux centralisés, permettant de communiquer hors réseau. De plus, l'interface utilisateur a été conçue pour être intuitive et personnalisable, permettant à l'utilisateur d'ajuster le dispositif selon ses besoins spécifiques.

La robustesse du dispositif est assurée par un boîtier épais imprimé en 3D, offrant une protection efficace dans des environnements hostiles et garantissant une durabilité à long terme. Enfin, la compatibilité universelle avec une large gamme de radios, rendue possible par l'utilisation d'un modem AFSK, augmente la flexibilité des communications, même en l'absence de réseau centralisé, ce qui réduit la rémanence des messages échangés.

Ces caractéristiques soulignent la polyvalence et l'utilité de ce terminal dans divers scénarios, qu'il s'agisse de communications sécurisées en situation d'urgence.

Compétences Illustrées par le Projet

Ce projet met en évidence un ensemble diversifié de compétences techniques et de conception. Il démontre la capacité à concevoir des systèmes embarqués en utilisant l'Arduino Mega et en intégrant différents composants matériels pour créer un dispositif fonctionnel. La gestion de la mémoire vive, limitée à seulement 8 ko, témoigne d'une optimisation rigoureuse, permettant à l'ensemble du système de fonctionner de manière fluide malgré ces contraintes.

Le projet illustre également la maîtrise des techniques de correction d'erreurs telles que Reed-Solomon et Hamming. La conception et la fabrication d'un PCB double face ont permis une intégration compacte et fiable des composants.

En parallèle, la conception assistée par ordinateur (CAO) et l'impression 3D ont permis de réaliser un boîtier ergonomique et fonctionnel. Le développement d'une interface utilisateur intuitive, associé à une structure matérielle robuste, reflète l'attention portée à l'ergonomie logicielle et matérielle.

Enfin, l'intégration de modules GPS pour l'envoi et la réception de coordonnées, ainsi que pour la navigation et le suivi de position, illustre la capacité à interpréter les coordonnées pour élaborer un azimut et une distance entre deux points.

Capteur environnemental

Le dispositif est basé sur les éléments suivants :
  • ESP32 : Le microcontrôleur assure le traitement des données et la connectivité Bluetooth.

  • Capteur de température et d'humidité AHT20 : Ce capteur offre des mesures précises des conditions climatiques ambiantes.

  • Capteur de qualité de l'air ENS160 : Il détecte et quantifie les composés organiques volatils totaux (TVOC) et le dioxyde de carbone équivalent (eCO2).

  • Écran SPI ST7789 : Affiche en temps réel les données collectées avec une interface graphique conviviale.

Contexte et Objectif du Projet

Ce dispositif de surveillance environnementale permet une mesure précise et en temps réel des paramètres de qualité de l'air, notamment la teneur en gaz carbonique et en composés organiques volatils (TVOC).

Mots clefs

Systèmes embarqués, Intelligence artificielle, Capteurs environnementaux, ESP32, AHT20, ENS160, Écran SPI, ST7789, Bluetooth, Qualité de l'air, AQI, Dioxyde de carbone équivalent, Composés organiques volatils totaux, TVOC, Température et humidité, Surveillance environnementale, Internet des Objets (IoT), Santé intérieure

TVOC ?

Les composés organiques volatils totaux (TVOC) sont un groupe de substances chimiques provenant de diverses sources courantes dans notre environnement quotidien, notamment les produits de nettoyage, les peintures, les matériaux de construction et les équipements électroniques. Les TVOC posent des risques pour la santé en raison de leurs effets potentiellement néfastes. Une exposition prolongée ou répétée peut entraîner des symptômes tels que maux de tête, irritations des yeux, du nez et de la gorge, ainsi que de la fatigue. À long terme, une exposition chronique peut causer des troubles respiratoires ou des maladies graves. La surveillance des niveaux de TVOC est donc cruciale pour maintenir un environnement intérieur sain et sécurisé, particulièrement dans le contexte des bâtiments récents qui utilisent une ventilation mécanique contrôlée (VMC) pour le renouvellement de l'air.

Objectif du Projet

Ce projet s'inscrit dans la volonté de concevoir et d'intégrer des solutions complètes dans le domaine de l'Internet des Objets (IoT) et de la surveillance environnementale. En répondant à des enjeux cruciaux de santé et de sécurité intérieure, ce dispositif assez simple offre un service efficace et démontre la robustesse de l'approche retenue pour l'intégration de systèmes embarqués.

Le dispositif envoie les données environnementales via Bluetooth toutes les deux secondes, assurant une surveillance continue et instantanée. L'écran SPI affiche l'AQI, l'eCO2, les TVOC, la température et l'humidité, offrant ainsi une vue complète et immédiate de la qualité de l'air intérieur et des conditions climatiques. La connectivité Bluetooth permet un appareillage facile avec d'autres dispositifs.

Serveur wifi pour observer la tension batterie

Le dispositif est basé sur les éléments suivants :
  • Microcontrôleur ESP8266 : Gère la connectivité Wi-Fi et le traitement des données.

  • Étage d'alimentation avec LM2596 : Régule la tension pour alimenter le dispositif.

  • Pont diviseur de tension : Adapté pour mesurer la tension de la batterie via l'entrée analogique de l'ESP8266.

Contexte et Motivation

Résidant à la campagne et disposant d'un parc de panneaux solaires, l'une des difficultés majeures est de surveiller l'état des batteries depuis l'intérieur de mon domicile. Pour remédier à cette problématique, j'ai développé un dispositif simple mais efficace pour mesurer et surveiller la tension des batteries en temps réel.

Ce dispositif utilise la tension de la batterie pour son propre fonctionnement, éliminant ainsi le besoin d'une alimentation fixe.

En conclusion, ce projet démontre une application pratique et utile des systèmes embarqués pour la surveillance à distance, avec des perspectives intéressantes d'amélioration et d'intégration de technologies avancées comme le deep learning pour optimiser la gestion énergétique.

Objectif du Projet

L'objectif principal est de récupérer la tension de la batterie et d'envoyer ces données en temps réel sur une page web accessible via un réseau Wi-Fi dédié, créé par l'ESP8266. Cela permet une surveillance continue et à distance de l'état de la batterie.

Perspectives d'Amélioration

Bien que simple, ce dispositif a un potentiel d'application étendu :

Stockage Local des Données : Avec l'ajout d'une carte SD, les données pourraient être stockées localement pour une analyse ultérieure.

Intégration avec Deep Learning : Les données collectées peuvent être utilisées pour entraîner des modèles de deep learning (par exemple, RNN ou CNN 1D) pour prédire la consommation et l'état des batteries. Cela nécessiterait l'ajout de capteurs supplémentaires (courant, luminosité, horloge DS3231).

Gestion Avancée de la Consommation : Un modèle prédictif pourrait être déployé sur le microcontrôleur pour gérer de manière optimale la consommation électrique, déconnecter certains appareils électroménagers, ajuster les périodes de chauffage de l'eau sanitaire, etc.

Fonctionnalité

Mesure de la Tension : Le dispositif prend la tension toutes les secondes à l'entrée du LM2596 et l'envoie via Wi-Fi.

Transmission des Données : Les données sont accessibles sur une page web spécifique, hébergée par l'ESP8266.

Mots clefs

Systèmes embarqués, ESP8266, Deep learning, Entraînement de modèle, Réseau Wi-Fi, Mesure de tension à distance, Surveillance de batterie, Régulateur de tension LM2596, Pont diviseur de tension, Modèle prédictif de consommation

Caméra IP avec prise de vue toutes les 2 secondes

Le dispositif est basé sur les éléments suivants :
  • ESP32

  • Caméra OV2640 : Connue pour sa haute résolution et sa compatibilité avec l'ESP32.

  • Lecteur de carte SD : Permet le stockage local des images capturées.

  • Boîtier en impression 3D : Conçu pour être résistant aux intempéries et compatible avec les accessoires "GoPro" standards pour une fixation facile et stable.

  • antenne wifi avec gros gain

Contexte et Objectif du Projet :

Dans le domaine du Deep Learning appliqué à la computer vision, l'acquisition de données de haute qualité est essentielle pour entraîner des modèles performants. La précision et la pertinence des images collectées influencent directement l'efficacité des algorithmes de traitement d'image. Pour faciliter ce travail d'acquisition de données, j'ai développé un dispositif basé sur le microcontrôleur ESP32 et la caméra OV5640, intégrant un lecteur de carte SD pour le stockage local. Ce projet met en avant une solution économique et efficace pour collecter des images en conditions réelles, nécessaires à l'entraînement des modèles de deep learning.

Mots-Clés :

Systèmes embarqués, ESP32, Deep learning, Entraînement de modèle, Computer vision, Réseau Wi-Fi, Stream vidéo, Surveillance vidéo

Fonctionnalités et Avantages :

Acquisition de Données : Capture des images à intervalles réguliers de 2 secondes, assurant une fréquence d'acquisition élevée pour des bases de données riches et variées.

Streaming Vidéo : Le flux vidéo est transmis en continu sur un réseau Wi-Fi dédié, permettant une visualisation et une analyse en temps réel.

Stockage Local : Les images capturées sont également sauvegardées sur une carte SD, assurant une redondance des données et une possibilité d'analyse ultérieure.

Robustesse et Flexibilité : Grâce au boîtier imprimé en 3D, le dispositif est protégé des intempéries et peut être facilement installé grâce à sa compatibilité avec les accessoires "GoPro".

Perspectives et Applications :

Un tel système, dont le coût n'excède pas la dizaine d'euros, est entièrement opérationnel pour capturer des images en faible résolution à une fréquence élevée, tout en générant un flux vidéo diffusé via un réseau Wi-Fi. L'ESP32, doté d'une mémoire vive suffisante et d'un processeur performant, permet d'envisager des tâches de computer vision pour des applications ne nécessitant pas des réponses ultra-rapides.

Ce dispositif constitue une étape idéale pour simuler les conditions de prise de vue proches de celles rencontrées en production. Par la suite, il est possible de déployer les modèles de deep learning directement sur le même support matériel, assurant une continuité et une cohérence dans le processus de développement et de mise en œuvre des solutions de vision par ordinateur.