As-tu imaginé ce que donnerait la voiture robot UNIHIKER K10 si elle devenait un robot intelligent de surveillance environnementale ? Elle pourrait non seulement afficher des données environnementales en temps réel, comme la température, l’humidité et la luminosité, mais aussi les représenter graphiquement pour nous aider à observer les tendances des changements environnementaux. Alors, partons de zéro et explorons étape par étape comment donner vie à cette idée aussi pratique que ludique !
Objectif de la tâche
Affiche les données d’humidité en temps réel sur l’écran UNIHIKER K10, enregistre-les et trace un graphique linéaire pour visualiser leur évolution. Utilisez la commande vocale pour consulter les valeurs d’humidité maximales et minimales.


Points de connaissance
- Apprendre à collecter et à stocker des données environnementales.
- Dessin du graphique principal et représentation visuelle.
- Comprendre la logique de reconnaissance vocale et d’interaction avec les données.
- Explorer les tendances en matière de surveillance environnementale intelligente.
Liste du matériel

Exercice pratique
Ce projet vise à collecter les données d’humidité mesurées par le capteur et à les représenter sous forme de graphique linéaire. La comparaison de ces données permettra d’identifier les valeurs d’humidité maximales et minimales. Enfin, des commandes vocales permettront de récupérer ces valeurs, qui seront affichées à l’écran une fois la commande vocale correctement reconnue. Pour atteindre cet objectif, le projet est divisé en deux tâches.
Tâche 1 : Tracer un graphique linéaire des données d’humidité
Stocke les données d’humidité surveillées en temps réel et représente-les sous forme de graphique linéaire afin de visualiser l’évolution des données.
Tâche 2 : Obtenir des données d’humidité par commande vocale
Ajoute une fonctionnalité de reconnaissance vocale pour permettre de répondre aux questions sur les données d’humidité. Utilise les commandes vocales pour obtenir les valeurs d’humidité maximale et minimale, et affichez ces valeurs à l’écran une fois les commandes vocales correctement reconnues.
Tâche 1 : Tracer un graphique linéaire des données d’humidité
1. Connexion matérielle
Utilise un câble de données USB 3.0 vers Type-C pour connecter la voiture robot assemblée à l’ordinateur.
Remarque : L’extrémité de type C doit être connectée au UNIHIKER K10.

2. Préparation du logiciel
Ouvre Mind+ et termine la configuration du logiciel comme indiqué dans les illustrations suivantes.

3. Programmation
Tracé d’un graphique linéaire, en utilisant des données d’humidité comme exemple.
(1) Représentation du système de coordonnées cartésiennes
Pour tracer un graphique linéaire sur l’écran UNIHIKER K10, il faut d’abord créer un système de coordonnées cartésiennes. La première étape consiste à utiliser la commande « set line width » pour définir l’épaisseur des lignes du système de coordonnées à 1. Si vous jugez les lignes trop fines, vous pouvez également la définir à 3, 4, etc.

Trace l’axe vertical (Y) à l’aide de la commande « cache draw line from, X1 Y1 to X2 Y2, color » afin de le créer à l’écran. Les coordonnées de départ de l’axe Y sont (10, 80) et les coordonnées d’arrivée sont (10, 280). Définis la couleur de la ligne sur noir pour que l’axe soit bien visible.

Trace l’axe horizontal (X) de la même manière. Définis son point de départ à (10, 280) et son point d’arrivée à (230, 280). Utilise ensuite la commande « show cached content » pour mettre à jour et afficher les axes X et Y sur l’écran UNIHIKER K10.

(2) Points de tracé
Après avoir défini le système de coordonnées cartésiennes, tu peux commencer à tracer les points. Avant cela, assure toi de déterminer les coordonnées X et Y de chaque point. Crée d’abord une nouvelle variable nommée « hum_x1 » pour stocker la coordonnée X du point, et initialise sa valeur à 10 .

L’ordonnée du point représente les données d’humidité, mais la valeur d’humidité ne peut pas être utilisée directement comme coordonnée Y. En effet, la plage de données d’humidité dépasse largement celle de l’écran, et l’échelle des valeurs est inverse à l’axe Y de l’écran. Pour résoudre ce problème, utilisez l’opérateur « map » afin d’associer la valeur d’humidité à une coordonnée Y correspondante sur l’écran UNIHIKER K10.

Crée une nouvelle variable nommée « hum_y1 » pour stocker les données d’humidité cartographiées. Initialise la valeur de « hum_y1 » avec la valeur d’humidité retournée par le capteur.

Ensuite, utilise la commande « cache draw point at XY color » pour tracer le point. Son abscisse est la variable « hum_x1 » et son ordonnée, la variable « hum_y1 ». Enfin, utilise la commande « show cached content » pour mettre à jour et afficher le point tracé sur l’écran UNIHIKER K10.

Après avoir placé le premier point, la coordonnée X correspondante doit être décalée de 10 unités vers la droite. Utilisez la commande « change hum_x1 by » pour incrémenter la valeur de hum_x1 de 10.

(2) Tracer des lignes
Après avoir tracé les points de données, l’étape suivante consiste à les utiliser pour créer un graphique linéaire. Utilise la commande « cache draw line from X1 Y1 to X2 Y2 color » pour relier les points en séquence et former une polyligne.
Pour déterminer les coordonnées de début et de fin de la ligne, créez deux nouvelles variables : « hum_x2 » et « hum_y2 ». Les coordonnées de début de la ligne (X1, Y1) correspondent aux coordonnées du premier point de données, soit (hum_x1, hum_y1). Les coordonnées de fin de la ligne (X2, Y2) correspondent aux coordonnées du point de données suivant, soit (hum_x2, hum_y2).
Au début du programme, sous « unihiker k10 au démarrage », initialise la valeur de « hum_x2 » à la valeur de « hum_x1 » et celle de « hum_y2 » à la valeur de « hum_y1 ».

Après avoir confirmé les points de départ et d’arrivée de la ligne, utilise la commande « cache draw line from X1 Y1 to X2 Y2 color » pour la tracer. Ensuite, utilise la commande « show cached content » pour afficher la ligne sur l’écran UNIHIKER K10.

Lorsque le point suivant est mis à jour, les coordonnées d’extrémité de la ligne doivent également être mises à jour. Pour ce faire, mettez à jour les valeurs de « hum_x2 » et « hum_y2 ».
Attribuez la valeur de « hum_x1 » à « hum_x2 », afin que « hum_x2 » stocke la coordonnée X du point précédent.
Attribuez la valeur de « hum_y1 » à « hum_y2 », afin que « hum_y2 » stocke la coordonnée Y du point précédent.
L’objectif de cette étape est de définir le point de départ de la nouvelle ligne afin qu’elle se connecte au point précédent.

4. Exécution du programme
Avant d’exécuter le programme, aassure toi que l’UNIHIKER K10 est correctement connecté à l’ordinateur via un câble USB. Une fois la connexion établie, clique sur le bouton « Transférer » du logiciel. Après l’exécution réussie du programme, un système de coordonnées cartésiennes s’affichera sur l’écran de l’UNIHIKER K10, et les données d’humidité mesurées en temps réel seront représentées graphiquement.


5. Essayez
Lors du tracé du graphique linéaire, tu peux rencontrer deux problèmes :
- Les points de données s’actualisent trop rapidement, ce qui provoque des changements rapides sur le graphique linéaire et le rend difficile à observer.
- Lorsque le nombre de points de données dépasse la plage de l’axe X de l’écran, le graphique continue de s’afficher, ce qui peut entraîner un affichage surchargé. Pour résoudre ce problème, vous pouvez prendre les mesures suivantes :
- Ralentis la fréquence d’acquisition des données : ajoute un délai approprié entre les acquisitions afin de réduire la vitesse de génération des nouveaux points de données. Par exemple, tu peux insérer un court temps d’attente après la lecture de la valeur d’humidité et le tracé d’un nouveau point.
- Limite la zone de dessin : pour garantir que le graphique linéaire soit dessiné uniquement à l’intérieur du système de coordonnées, tu dois soit limiter le nombre de points de données, soit restreindre la valeur de la coordonnée X.
Tâche 2 : Obtenir des données d’humidité par commande vocale
1. Programmation
Cette tâche s’appuie sur le programme « Essayez-le » de la tâche 1 en ajoutant le réveil vocal, la reconnaissance des commandes vocales et la capacité de reconnaître et de signaler les données d’humidité par interaction vocale.
(1) Initialisation de la fonction de reconnaissance vocale
Sous « unihiker k10 au démarrage », utilisez la commande « set speech recognition wake time ms language » pour initialiser le mode de reconnaissance vocale en continu, définir le délai de réveil à 6 secondes et choisir l’anglais comme langue. Cette étape garantit que le module de reconnaissance vocale démarre correctement et passe en mode d’écoute après avoir été activé par l’utilisateur.
Remarque : Actuellement, la reconnaissance vocale ne prend en charge que le chinois et l’anglais.

(2) Ajouter des mots clés de commande vocale
Utilisez l’instruction « ajouter un identifiant de commande vocale » pour attribuer un numéro d’identification unique à chaque commande vocale afin de faciliter sa reconnaissance et son traitement ultérieurs. Par exemple :
La commande « humidité maximale » se voit attribuer l’ID 0.
La commande « humidité minimale » se voit attribuer l’ID 1.

(3) Obtenir les valeurs d’humidité maximale et minimale
Au début du programme, créez deux variables, « hum_min » et « hum_max », pour stocker les valeurs minimales et maximales d’humidité. Utilisez la commande « read humidity » pour obtenir la valeur d’humidité initiale et assignez-la à « hum_min » et « hum_max ».

Créez une variable nommée « hum » pour acquérir en continu des données d’humidité en temps réel au sein de la boucle.

Utilisez la commande « si… alors… sinon » pour comparer les valeurs de « hum » et « hum_max ». Si « hum » est supérieur à « hum_max », mettez à jour « hum_max » avec la valeur de « hum ».

Sinon, si la condition est fausse, les données d’humidité maximale restent inchangées. Utilisez l’instruction « set hum_max to » pour affecter la valeur de la variable « hum_max » à la variable « hum_max ».

La méthode de comparaison des valeurs minimales d’humidité est la même que celle utilisée pour comparer les valeurs maximales d’humidité.

(4) Obtention des valeurs d’humidité maximale et minimale par commandes vocales
Pour obtenir les valeurs d’humidité maximale et minimale par commande vocale, il faut attendre que les graphiques linéaires soient entièrement tracés. Utilisez l’instruction « Si… alors » pour déterminer si la reconnaissance vocale est activée . Lorsque l’utilisateur prononce la phrase d’activation prédéfinie « Salut, Telly », la fonction de reconnaissance vocale passe en mode écoute et est prête à recevoir ses commandes vocales.

Si l’identifiant du mot de commande est détecté comme étant 0 (c’est-à-dire que l’utilisateur dit « humidité maximale »), utilisez l’instruction « afficher le contenu mis en cache » pour afficher la valeur la plus élevée comme « hum_max » à l’écran.

Si l’ID du mot de commande est détecté comme 1 (c’est-à-dire que l’utilisateur dit « humidité min »), utilisez l’instruction « afficher le contenu mis en cache » pour afficher l’humidité minimale comme « hum_max ».

Le programme complet est le suivant :

2. Exécution du programme
Avant d’exécuter le programme, veuillez vous assurer que l’UNIHIKER K10 est correctement connecté à l’ordinateur via le câble USB. Après avoir vérifié que tout est correct, cliquez sur le bouton « Exécuter » du logiciel. Une fois le programme exécuté avec succès, l’UNIHIKER K10 affichera un graphique linéaire d’humidité sur son écran. Une fois le graphique entièrement tracé, vous pouvez activer la reconnaissance vocale en disant « Salut Telly », puis prononcer la commande « humidité max ». L’écran affichera alors « Humidité max : ».
Remarque : Il existe deux phrases de réveil vocales : « Salut, Telly » et « Salut, Jarvis ».

Coin des connaissances
1. Contexte et importance de la surveillance environnementale intelligente
(1) La gravité des problèmes environnementaux
Avec le développement rapide de l’industrialisation et de l’urbanisation, les problèmes environnementaux sont devenus de plus en plus préoccupants. Des phénomènes tels que la pollution de l’air, la dégradation de la qualité de l’eau et la contamination des sols sont fréquents et constituent de graves menaces pour la santé et la qualité de vie des populations. Par exemple, le smog a entraîné une augmentation du nombre de patients souffrant de maladies respiratoires, et le rejet d’eaux usées industrielles a causé de graves dommages aux écosystèmes fluviaux. Dans ce contexte, les technologies de surveillance environnementale intelligente ont émergé. Elles permettent d’obtenir des données environnementales en temps réel et avec précision, fournissant ainsi une base scientifique à la gouvernance et à la protection de l’environnement.

(2) Limites de la surveillance environnementale traditionnelle
La surveillance environnementale traditionnelle repose principalement sur l’échantillonnage manuel et l’analyse en laboratoire, ce qui présente de nombreuses limites. Premièrement, la faible fréquence d’échantillonnage ne permet pas de refléter en temps réel l’évolution de la qualité de l’environnement. Deuxièmement, la répartition limitée des points d’échantillonnage rend difficile une couverture exhaustive de la zone surveillée. De plus, les analyses en laboratoire sont longues et ne permettent pas une prise de décision rapide. La technologie de surveillance environnementale intelligente pallie les lacunes de la surveillance traditionnelle grâce à l’utilisation de réseaux de capteurs, de l’Internet des objets (IoT) et de l’analyse des mégadonnées, permettant ainsi une surveillance automatisée, intelligente et en temps réel de l’environnement.
2. Tendances de développement de la surveillance environnementale intelligente
(1) Miniaturisation et intégration
Avec le développement de la microélectronique et des nanotechnologies, les capteurs de surveillance environnementale évoluent vers la miniaturisation et l’intégration. Les capteurs miniaturisés présentent l’avantage d’être de petite taille, peu gourmands en énergie et peu coûteux, ce qui facilite leur installation dans divers endroits et permet la création de réseaux de surveillance haute densité à grande échelle. Les modules de capteurs intégrés peuvent mesurer simultanément plusieurs paramètres environnementaux, améliorant ainsi l’efficacité de la surveillance et l’exhaustivité des données. Par exemple, l’intégration de capteurs de gaz, de température et d’humidité sur une seule puce permet une surveillance complète de la qualité de l’air.

(2) Intelligence et adaptabilité
Les futurs systèmes de surveillance environnementale intelligents seront dotés d’une intelligence accrue, leur permettant de reconnaître automatiquement les tendances des changements environnementaux et d’effectuer une surveillance adaptative. Grâce à l’apprentissage automatique et aux algorithmes d’intelligence artificielle, le système pourra ajuster automatiquement la fréquence et les paramètres de surveillance en fonction des variations des données environnementales. Par exemple, il pourra augmenter la fréquence de surveillance dans les zones où la qualité de l’air est mauvaise et la diminuer lorsque les conditions environnementales sont stables, ce qui permettra d’économiser de l’énergie et d’améliorer l’efficacité de la surveillance. Parallèlement, les systèmes de surveillance intelligents pourront également diagnostiquer automatiquement les pannes des capteurs et effectuer une autoréparation, améliorant ainsi la fiabilité et la stabilité du système.
(3) Intégration interdisciplinaire
Le développement de technologies intelligentes de surveillance environnementale nécessitera l’intégration de multiples disciplines, telles que les sciences de l’environnement, la physique, la chimie, la biologie, les sciences de l’information et l’informatique. Grâce à cette collaboration interdisciplinaire, il sera possible de développer des technologies et des équipements de surveillance environnementale plus performants et plus efficaces. Par exemple, l’association de la technologie des biocapteurs et de la vision par ordinateur permettra la surveillance en temps réel des polluants au sein des organismes vivants ; la mise à profit des avancées en sciences de l’environnement et en sciences de l’information contribuera à l’élaboration de modèles de prédiction de la qualité de l’environnement et de systèmes d’aide à la décision plus précis.

Relevez le défi
Puisque nous maîtrisons déjà la création de graphiques linéaires pour l’humidité, relevons un nouveau défi : créer simultanément des graphiques pour la luminosité et la température. Ce système de surveillance environnementale n’en sera que plus complet et pratique. Imaginez le plaisir de pouvoir observer intuitivement l’évolution de ces trois paramètres environnementaux clés – température, humidité et luminosité – sur un seul écran !

