Actualités Projets

Legolire – Apprentissage de la lecture des CP – État de l’art

Envoyé par le 9 Nov 2021 dans Projets, TAF COUAD | 0 commentaire

This entry is part 1 of 3 in the series Legolire

Auteurs

Koffi Judicaël AMANI, Rose LAPREVOTE, Wael MHIMDI et Souleymane OUEDRAOGO

 

Ce document est un état de l’art du  projet fil rouge de la TAF CoOC. La thématique du projet porte sur  l’apprentissage de la lecture chez les élèves de CP :  les méthodologies  d’enseignement et les problème rencontrer lors de l’apprentissage.

 

Sommaire

 

Introduction

1. Généralités sur l’apprentissage de la lecture en France

a- L’apprentissage de la lecture dans le système éducatif français

b- Les méthodes pédagogiques adoptées pour l’apprentissage à la lecture

2. Les difficultés rencontrées lors de l’apprentissage à la lecture

3. Les solutions techniques déjà existantes pour apprendre à lire en autonomie

Conclusion

Références

 

 

Introduction

La lecture est une des premières compétences primordiales, avec l’écriture et le calcul, qu’un enfant apprend à l’école.

En France, ce processus commence à l’âge de 4-5 ans puis il s’étale sur environ trois ans et se termine en CE1, où les enfants âgés de 6 à 7 ans, sont généralement capables de lire des textes courants. Le cours préparatoire (CP) s’avère être une année primordiale dans l’apprentissage de l’enfant : il apprend alors à décoder les mots et la calligraphie.

Cependant tous les élèves n’arrivent pas en CP avec les mêmes connaissances. Certains ont des prérequis acquis en maternelle, d’autres ont des parents investis qui leur ont déjà appris à lire. [1] Il y a aussi ceux qui apprennent seuls à lire par curiosité. A contrario, certains enfants éprouvent des difficultés pour apprendre à lire dès l’arrivée en CP. Ces difficultés semblent être indépendantes du niveau général de l’enfant : certains avaient des facilités en maternelle et arrivent avec les prérequis (connaissance de l’alphabet entre autres) nécessaires, d’autres non.

Si apprendre à lire est un enjeu essentiel pour la suite de la scolarité, il semble impossible dans le système actuel que chaque enfant ayant du mal à lire ait un accompagnement personnalisé de la part de son enseignante. Même avec un rythme régulier de travail sur la lecture en classe, l’enfant a une grande part d’autonomie. Ces difficultés semblent avoir des causes multiples : il n’y a pas un seul facteur pour tous les élèves qui ont du mal à apprendre à lire. Cet état de l’art a pour but d’identifier les différentes causes qui pourraient expliquer ces difficultés.

 

1.   Généralités sur l’apprentissage de la lecture en France

         a- L’apprentissage de la lecture dans le système éducatif français

Dans le système éducatif français, l’apprentissage de la lecture se passe tout au long de l’école maternelle et élémentaire.

En maternelle, les élèves commencent par travailler régulièrement sur le vocabulaire, l’alphabet, l’écoute, la compréhension de textes lus par l’adulte et la prise en main de livres afin de développer un intérêt et un plaisir pour la lecture.

Au CP, des exercices répétés de décodage et le travail sur le sens et la compréhension des textes sont au cœur de l’enseignement de la lecture. Cet enseignement est intense, systématique, quotidien. Le but est de mener les élèves à une automatisation de décodage, à une lecture fluide et à sa compréhension. La lecture est sous toutes les formes (écrite, écoutée, dite) et se fait des toutes les manières : en autonomie, en groupe, à voix haute, dans sa tête.

En cours élémentaire (CE1 et CE2), l’apprentissage de la lecture continue en ajoutant du vocabulaire, en travaillant la compréhension de textes de plus en plus compliqués, longs, riches, avec différents thèmes.

Le CM1 et le CM2 continuent à enrichir les compétences des élèves en terme de compréhension avec un enseignement régulier et soutenu. La lecture à voix haute reste très importante pour améliorer la fluidité de la lecture, et l’aisance à l’oral. [2]

         b- Les méthodes pédagogiques adoptées pour l’apprentissage à la lecture

Plusieurs méthodes de lecture existent. Elles ont différents effets à long terme sur les élèves. C’est généralement un processus qui part de l’apprentissage de l’alphabet et des phonèmes associés en maternelle au décodage et décryptage de syllabes, mots et phrases en classes préparatoires. Nous présentons ici quatre méthodes.

  • La méthode  globale [3]

Tout d’abord, il n’existe pas un seul genre de méthode de lecture globale. Dans cette approche globale, on apprend à lire à partir du mot dans son ensemble sans le décomposer en lettres ou en syllabes. Elle a, petit à petit, inclu un début de méthode syllabique par nécessité : on ne peut pas apprendre tous les mots. La méthode globale pure n’est pas très efficace, c’est pourquoi les enseignants ont commencé à avoir recours à une méthode intermédiaire, la méthode semi-globale. Cette méthode consiste à partir de l’approche globale, i.e. on commence par apprendre des mots, puis on décompose les mots en syllabes, pour pouvoir lire et apprendre de nouveaux mots qui contiennent ces syllabes.

  • La méthode syllabique [3]

Cette méthode tout comme la méthode globale présente des dérivées à savoir la méthode syllabique graphémique (qui part de la lettre vers le son qu’elle fait), la méthode syllabique phonémique (inversément, qui part du son pour venir aux différentes écritures possibles), et la méthode syllabique gestuée (ici l’on met des gestes sur les sons). En résumé, dans l’approche syllabique, l’apprenant commence par reconnaître des syllabes simples puis d’autres syllabes plus complexes.

  • La méthode mixte [3]

On utilise à la fois la méthode globale et la méthode syllabique. Cependant, l’approche globale présente un manque de sens et de cohérence dans son application. Certains apprenants ne se souviennent pas d’un mot complet et sont confus face à la méthode globale qui ne respecte pas le fonctionnement du cerveau.

  • La méthode alphabétique [4]

Ici, l’on part de l’apprentissage des sons et des lettres (association du graphisme et du phonème) pour ensuite former des associations de sons dans des syllabes. Par exemple, “b” + “a” fait “ba”. Il s’agit donc de passer d’une étape simple à une étape complexe dans l’ordre suivant : lettre, son, syllabe, mot, phrase et texte. En outre, c’est une approche qui privilégie continuellement l’existence de sens. Cet apprentissage requiert une certaine cohérence car l’apprenant doit réaliser que  ce qu’il lit a une signification.

  • La méthode Montessori [5][6]

La méthode Montessori s’applique à tous les domaines pédagogiques (il y a des écoles Montessori) . On se concentrera ici sur les méthodes d’apprentissage de la lecture dans cette méthode. En résumé, apprendre à lire c’est apprendre à écrire, c’est-à-dire qu’on substitue le décodage au codage. L’hypothèse de la méthode Montessori est la suivante : le décodage vient naturellement avec l’expérience du codage. Cette méthode propose ainsi un apprentissage de la lecture basé sur l’histoire de celle-ci, son fondement même : la communication entre deux parties. L’enfant apprend donc des phonèmes. Chaque phonème est à la base associé à une lettre, un graphème. Puis il commence à “écrire” les mots comme il les entend avec des phonèmes déjà écrits sur des petites plaques, sur des cartes, ou autre support : il commence part des dictées. Une fois les graphèmes associés aux phonèmes, l’enfant commencera à lire des mots simples. La difficulté augmente en incluant plus de graphèmes et en s’exerçant à écrire puis lire des mots de plus en plus compliqués, puis des phrases, puis des petits livres, etc…

 

2.   Les difficultés rencontrées lors de l’apprentissage à la lecture

Ces difficultés peuvent être liés à des problèmes de santé chez l’apprenant. On parle notamment des troubles DYS (dyslexie et dysorthographie, dysphasie, dyspraxie, troubles d’attention avec ou sans hyperactivité, troubles mnésiques). Chacun de ces troubles peuvent affecter l’apprentissage de la lecture.[7]

Le trouble spécifique de la lecture et d’écriture, la « dyslexie »

La dyslexie est un trouble d’apprentissage d’origine neurologique. Il ne s’agit pas d’un problème d’intelligence ni de stimulation mais d’un dysfonctionnement du cerveau. Le cerveau des personnes présentant une dyslexie a du mal à percevoir et à analyser de façon précise et rapide les sons dans les mots, alors que les autres zones du cerveau fonctionnent normalement.

Certains enfants dyslexiques ne font toutefois pas d’erreurs en lisant, mais leur vitesse de lecture est très lente. Dans tous les cas, l’enfant qui souffre de dyslexie peut avoir des problèmes de compréhension des textes écrits, peu importe qu’il lise lentement ou vite, qu’il fasse beaucoup d’erreurs ou non.

L’enfant présentant une dyslexie déploie beaucoup d’énergie à décoder ou à reconnaître les mots, et ce, malgré la pratique. C’est pourquoi il ne lit en général pas régulièrement, ce qui ne lui permet pas de s’améliorer en lecture ni d’apprendre de nouveaux mots ou de nouvelles expressions. [8]

La dyslexie représenterait aujourd’hui environ 5% de la population française. Ce chiffre est à relativiser : il peut varier jusqu’à 10% selon le degré de sévérité étudié, il change également chaque année et par classe d’âge, et la dyslexie ne peut être diagnostiquée qu’à partir du CE2. [9]

Le trouble développemental du langage « dysphasie »

La dysphasie est une pathologie du développement qui touche spécifiquement le langage oral. C’est un trouble neurobiologique sévère, durable et déviant, différent d’un simple retard de langage. Ce handicap est lié à un dysfonctionnement des structures cérébrales mises en jeu lors du traitement de l’information langagière. Il ne peut pas être expliqué par d’autres troubles.

La compréhension et l’expression ainsi que tous les niveaux linguistiques (enchaînement des sons, lexique, syntaxe, discours) peuvent être touchés avec différents niveaux de gravité. [10]

Les troubles de la mémoire « troubles  mnésiques »

Ils correspondent à l’incapacité ou la difficulté à mémoriser un fait actuel et à retrouver un souvenir. Ces troubles sont multiples puisqu’ils concernent à la fois l’acquisition d’un souvenir (encodage), le maintien de ce souvenir (stockage) et la réutilisation de ce souvenir et son information associée (récupération).[11]

Ils peuvent porter sur tous les types de mémoire : mémoire de travail, à court terme, immédiate, à long terme. [12] Ils peuvent parfois coexister avec d’autres troubles cognitifs (dysphasie, dyspraxie visuo-spatiale…). Par ailleurs, certains traitements médicamenteux peuvent entraîner des troubles de mémoire. Ces troubles sont donc extrêmement divers : différentes causes, différentes conséquences.

Les difficultés au niveau de la mémoire de travail entraînent des difficultés de hiérarchisation et de confusion. Par exemple l’enfant aura du mal à retenir l’ensemble des règles d’un jeu, l’ensemble du sens d’un texte, l’ensemble du scénario d’un film. Il sera difficile pour lui d’établir des relations de causalité correctes. L’apprentissage de la lecture peut être donc retardé, puisqu’il est difficile à l’élève de découvrir l’étymologie commune ou des phonèmes communs à plusieurs mots. Finalement, les conséquences de ce trouble de la mémoire touchera toutes les thématiques abordées à l’école, plus particulièrement à partir du CE1. [11]

D’autres  problèmes qui ne sont pas forcément liés à la santé de l’enfant peuvent être des obstacles à son apprentissage.

Le manque de motivation chez l’enfant

Le constat général est que les élèves en CP sont très motivés à apprendre à lire et à écrire. Cependant, une étude portant sur 270 enfants de 45 classes de la région de Grenoble publiée dans Education & formations n°90 par Olivier Cosnefroy, Cécile Nurra et Philippe Dessus (Univ. Grenoble Alpes) montrent que tous les élèves de CP ne sont pas motivés. Deux axes d’étude ont été envisagés et les premiers résultats révèlent qu’il y a un groupe majoritaire stable-élevé (entre 65 % et 85 %) d’élèves dont la motivation pour la lecture est élevée et stable jusqu’en fin de CP. Un deuxième groupe nommé décroissant (entre 5 % et 30 % d’élèves) présente un niveau légèrement inférieur en début de CP que le groupe stable-élevé et décroît linéairement jusqu’en fin de CP. Enfin, le dernier groupe (≈ 7 %), fluctuant, présente un niveau de départ presque deux fois plus bas que les deux autres groupes avec une décroissance jusqu’en milieu d’année puis tend à croître jusqu’en fin d’année. Ces résultats indiquent des niveaux de motivation instables pour un petit groupe d’élèves. Par ailleurs, le second axe d’étude met l’accent sur le soutien à l’apprentissage fourni par l’enseignant. La motivation de l’enfant peut être impactée par la qualité de la relation élèves-enseignant. [13]

Beaucoup d’autres difficultés sont à prendre en compte dans l’apprentissage de la lecture car les négliger pourrait empêcher l’évolution des apprenants. Il y a entre autre le manque de concentration, le découragement, la lassitude et la non-implication des parents dans l’apprentissage de leurs enfants.

 

3. Les solutions techniques déjà existantes pour apprendre à lire en autonomie

  • logiciels et jeux en ligne

Grapholearn, anciennement Graphogame, est un logiciel d’apprentissage de la lecture développé initialement par des Finlandais. Il est directement issu de la recherche en sciences cognitives. Le logiciel est centré sur le décodage tout en s’adaptant au niveau de l’élève afin d’éviter la frustration et en tenant compte des spécificités de la langue française.[14]

Dans la continuité de ce projet et issu du même laboratoire, Hibou est aussi un logiciel d’entraînement à la lecture sous forme de livre interactif mais à partir du CE1 puis pour toutes les classes.[15]

D’autres logiciels ou sites de jeux éducatifs existent comme par exemple lalilo ou logicieleducatif.fr (découverts lors de nos enquêtes terrain) .

  • objets sous forme de jouets

Magibook est une marque de livres interactifs (grâce à un “stylet magique”) avec différents thèmes et différents niveaux pour les enfants de 2 à 9 ans. Ces livres contiennent différentes disciplines (aussi des mathématiques par exemple) et ne sont donc pas centrés sur l’apprentissage de la lecture mais y contribuent. Si cet livres s’apparentent cependant plus à des jouets qu’à de véritables outils pédagogiques.[16]

Lilémo, développé par la start-up Lilylearn, est un jeu contenant  45 cubes connectés et 60 cartes. Chaque cube incarne une lettre. L’enfant choisit une carte (image), la fixe à la base, puis dispose les cubes sur la base et cherche à coder le mot. La base a un bouton de relecture, ce qui permet à l’enfant d’écouter le mot qu’il “écrit” et un bouton de validation lorsqu’il a fini d’écrire le mot. Cet objet connecté retranscrit la méthode Montessori.[17]

 

Conclusion

Bien que l’apprentissage de la lecture commence en maternelle et se poursuive tout au long du primaire, le CP est une classe décisive car on y apprend le décodage des mots. Différentes méthodes pédagogiques existent. On peut donc faire l’hypothèse qu’un enfant aura une méthode pédagogique plus adaptée à sa manière propre de réfléchir, sa mémoire, ses prérequis… Les enseignantes doivent pourtant en choisir une pour toute la classe. En France, la méthode syllabique est la méthode imposée par le Ministère de l’éducation nationale. Entre autres, l’enfant peut avoir des difficultés à apprendre à lire pour des raisons physiques de santé telles que la dyslexie ou la dysphasie. Mais ces difficultés sont-elles toujours d’ordre médical ? Bien que le rôle du médical soit à déterminer pour chaque enfant, nous faisons l’hypothèse que chaque enfant a des difficultés (ou des facilités) individuelles et personnalisées impactant fortement l’apprentissage de la lecture. C’est pour cette raison que chaque outil d’entraînement à la lecture déjà existant est utilisable en autonomie pour l’enfant.

 

Références

[1] « Cdiscount », CDiscount. https://www.cdiscount.com/juniors/jeux-educatifs-scientifiques/jeux-d-apprentissage/apprendre-a-lire-a-ecrire/a-quel-age-enfant-apprend-a-lire-a-ecrire-f/q-l-120870201-3172325.html

[2] « L’apprentissage de la lecture à l’École », Ministère de l’Education Nationale de la Jeunesse et des Sports. https://www.education.gouv.fr/l-apprentissage-de-la-lecture-l-ecole-1028

[3] « 📗 Quelle méthode de lecture choisir ? », Le Bon Binôme, mars 19, 2019. https://lebonbinome.fr/quelle-methode-de-lecture-choisir

[4] « 📖 La méthode de lecture alphabétique », Le Bon Binôme, mars 25, 2019. https://lebonbinome.fr/pourquoi-choisir-une-methode-de-lecture-alphabetique

[5] J. Delacour, « Une révolution : place au codage de l’oral », p. 12.

[6] « Apprendre à lire avec montessori: les 4 grandes étapes », 1,2,3 petites graines, avr. 30, 2019. http://www.123petitesgraines.fr/apprendre-a-lire-avec-montessori-les-4-grandes-etapes/

[7] « Troubles DYS », Fédération Française des DYS, oct. 13, 2008. https://www.ffdys.com/troubles-dys (consulté le oct. 13, 2021).

[8] « La dyslexie ». https://naitreetgrandir.com/fr/etape/5-8-ans/langage/fiche.aspx?doc=dyslexie

[9] « La dyslexie touche 5 à 10% de la population mais se soigne – Planete sante ». https://www.planetesante.ch/Magazine/Bebes-enfants-et-adolescents/Dyslexie/La-dyslexie-touche-5-a-10-de-la-population-mais-se-soigne (consulté le oct. 13, 2021).

[10] « Le trouble développemental du langage (dysphasie) ». https://naitreetgrandir.com/fr/etape/1_3_ans/langage/fiche.aspx?doc=trouble-primaire-langage-dysphasie

[11] « Troubles de la Mémoire – Troubles mnésiques | Tous à l’école ». https://www.tousalecole.fr/content/troubles-de-la-m%C3%A9moire-troubles-mn%C3%A9siques (consulté le oct. 13, 2021).

[12] « Troubles mnésiques », Fédération Française des DYS, oct. 19, 2008. https://www.ffdys.com/troubles-dys/troubles-mnesiques (consulté le oct. 13, 2021).

[13]« Comment motiver les élèves en CP ? » http://www.cafepedagogique.net/lexpresso/Pages/2016/04/20042016Article635967212428476972.aspx (consulté le oct. 13, 2021).

[14] « Graphogame | Laboratoire de psycholologie cognitive – UMR 7290 ». https://lpc.univ-amu.fr/fr/graphogame

[15] « Hibou – un livre interactif | Laboratoire de psycholologie cognitive – UMR 7290 ». https://lpc.univ-amu.fr/fr/hibou-livre-interactif[3]

[16] « VTech – Livres apprentissage interactifs Magibook ». https://www.vtech-jouets.com/nos-marques/magibook

[17] « Lilylearn | Jeu pour apprendre à lire dès 3 ans tout en s’amusant », Lilylearn. https://lilylearn.com/lilemo-jeu-educatif-pour-apprendre-a-lire/

 

Pilotis – Recherche et état de l’art du problème choisi

Envoyé par le 9 Nov 2021 dans TAF COUAD | 0 commentaire

This entry is part 1 of 4 in the series Pilotis

Contexte et présentation

Dans le cadre du projet fil rouge de la TAF CoOC nous réaliserons le pré-prototype d’un objet communicant. Nous avons choisi de nous intéresser au problème des sinistres provoqués par des dégâts des eaux. En 2015, 1,1 million de dégâts des eaux ont été recensés dans des maisons particulières en France, occasionnant des dégâts estimés à 2,5 milliards d’euros [7]. Cependant, le chiffre le plus marquant à ce sujet est que 93% de ces sinistres sont liés à des fuites domestiques qui auraient pu facilement être évités [1]. Dans le cadre de notre projet nous nous sommes non seulement intéressés à ces sinistres évitables, mais également aux 7% restants, c’est-à-dire aux inondations occasionnées par les crues, les tempêtes, ou encore les submersions marines.

 

Définitions

Tout d’abord, mettons au clair les différentes notions [3] :

Les dégâts des eaux décrivent les diverses pertes possibles causées par l’intrusion d’eau entraînant l’attaque d’un matériau ou d’un système par des processus comme la moisissure, la rouille ou encore le court-circuitage de matériels électroniques.

Une crue correspond à l’augmentation du débit d’un cours d’eau pouvant alors dépasser de plusieurs fois le débit moyen.

Une inondation est une submersion plus ou moins rapide d’une zone ordinairement hors d’eau. Elle correspond au débordement des eaux hors du lit d’un cours d’eau à la suite d’une crue. Les eaux occupent alors le lit majeur du cours d’eau. Une inondation possède quatre paramètres qui la caractérisent : la hauteur de submersion, la durée de submersion, la vitesse de l’écoulement et le débit.

 

schéma d’un cours d’eau dans son lit mineur/lit majeur [3]

 

Différentes causes des dégâts

Nous avons ainsi identifié deux type de sinistres :

– les dégâts des eaux liés à des causes non naturelles comme une fuite de robinet, une baignoire qui déborde ou une rupture de canalisation.
– les dégâts des eaux liés à des événements climatiques comme une forte pluie, une crue ou une submersion marine.

Ces deux différents cas impliquent différentes approches détaillées ci-dessous.

 

Sinistre non naturel

Comme dit plus haut, ce sont les plus fréquents avec 93% des cas[7] et peuvent être la conséquences de plusieurs scénarios. Pour 32% des cas, c’est le résultat de fuite dans la plomberie de l’habitation. 30% des cas sont dûs à des fuites de système de climatisation ou de chauffage et 23% sont le fruit de fuites au niveau des accessoires de salle de bain. Les 8% restants sont issues des appareils électroménagers.
Dans ce genre de cas, les dégâts occasionnés peuvent être négligeables si on agit rapidement car l’eau se répand plutôt lentement et la cause peut être détectée et appréhendée facilement.

 

Sinistre dû aux évènements naturels

Moins fréquent que le premier cas, ce genre de sinistre est causé par les intempéries et les crues qui peuvent mener à une montée des eaux puis à des inondations dans des habitations rurales individuelles, ou encore dans des rez-de-chaussée ou des sous sols en ville.

De plus, malgré l’impression de rareté de ce type d’évènement, un quart des français vivent dans une zone inondable et sont donc sous la menace de tels évènements [3]. De manière générale, en terme de prévention du risque inondation, les français sont étonnamment optimistes. En effet, 72% des Français ne pensent pas être exposés à un risque d’inondation, alors qu’ils vivent effectivement dans une commune où ce risque est présent[3]. Ils ont également une grande confiance envers les dispositifs publics de prévention tels le Plan d’actions de la stratégie nationale de gestion des risques d’inondation (SNGRI)[10]. Cependant ces dispositifs n’empêchent pas la multiplication des dégâts liés aux inondations, notamment dans des zones considérées comme non inondables qui le deviennent du fait du dérèglement climatique.

Dans ces situations, la quantité d’eau introduite dans le logement est généralement plus conséquente et peut souvent atteindre plusieurs dizaines de centimètres d’eau dans le logement. Ce niveau d’eau peut entraîner de nombreux dégâts matériels [11] et même présenter un danger pour les habitants [6].

 

Problématique

La problématique soulevée par l’équipe est celle de la prévention des différents types de dégâts des eaux qui sont la cause n°1 des sinistres habitation en France[4]. En effet, nous avons constaté qu’en plus de représenter un coût relativement élevé, cela concerne tous les ans de nombreux foyers dont le nombre risque d’augmenter avec le dérèglement climatique. Ainsi, nous cherchons à trouver un moyen de limiter les dommages matériels causés par ce type d’événements.

 

Solutions existantes

Pour ce qui est de la détection des fuites d’eau et des inondations au domicile, il existe deux types d’objets connectés sur le marché. Tout d’abord, il existe de nombreux détecteurs d’eau qui se contentent d’envoyer une alerte à l’utilisateur via une application lorsque de l’eau est au contact du capteur. Ces détecteurs ont l’avantage d’être peu chers(généralement moins de 50€) mais permettent uniquement de prévenir l’utilisateur que de l’eau a été détectée sur le sol via un contact électrique.

 

Au contraire, il existe un autre type de produits qui agit par lui-même en coupant l’alimentation en eau du domicile en cas de fuite[4]. En cas d’une fuite, cette fonctionnalité permet de réduire considérablement les dégâts causés par le sinistre et le surcoût occasionné par la surconsommation d’eau, en particulier dans les logements secondaires. En effet dans ce type de logement, en l’absence de système de détection l’eau peut stagner pendant plusieurs jours voire plusieurs semaines, or la stagnation est le facteur pesant le plus sur le montant des dégâts causés par un dégâts des eaux.

 

Cependant, le désavantage majeur de ce type de produits est leur prix, qui atteint plusieurs centaines d’euros. Cela est dû au fait que ces objets sont pensés pour des maisons entièrement connectées, et proposent de nombreuses autres fonctionnalités comme la prévention du gel ou la surveillance permanente des habitudes de consommation. Ces fonctionnalités non essentielles à la prévention des dégâts des eaux et des inondations impliquent une plus grande complexité à la fois du côté hardware(mesure de débit) et du côté software(IA analysant les habitudes de consommation) qui justifie ces prix élevés.

 

Conclusion

Pour conclure, nous avons vu que les sinistres liés aux dégâts des eaux représentent un problème financier important. Pour ce qui est des fuites et des dégâts des eaux mineures, de nombreux produits existent sur le marché mais aucun d’entre eux ne semble proposer un bon compromis entre efficacité et accessibilité. En ce qui concerne les inondations, les mesures de prévention mises en place par les pouvoirs publics ne semblent pas suffisantes, notamment en raison de l’accentuation de ce risque provoquée par le dérèglement climatique. Nous achevons donc cette recherche documentaire en dressant plusieurs hypothèses majeures. Tout d’abord, il semble qu’un système permettant la détection des dégâts des eaux causés par de simples fuites ou par une catastrophe naturelle puisse permettre de réduire drastiquement les coûts associés à ces sinistres. Il semble également que le fait de couper automatiquement le circuit d’eau et l’alimentation en électricité du domicile[11] puisse accentuer l’impact d’un tel système. Enfin, nous nous interrogeons sur le rôle que pourraient jouer les assurances, qui supportent souvent le poids financier de ces sinistres, dans le déploiement et la démocratisation de ce type d’objets communicants.

 

Bibliographie

[1] « ACE Private Risk Services Study Identifies One Type of Device That Could Reduce Homeowner Damage Due to Water by up to 93 Percent », avr. 04, 2011. https://www.businesswire.com/news/home/20110404007195/en/ACE-Private-Risk-Services-Study-Identifies-One-Type-of-Device-That-Could-Reduce-Homeowner-Damage-Due-to-Water-by-up-to-93-Percent (consulté le oct. 13, 2021).

[2] « Déluge et changement climatique (1/2) | Science, climat et énergie ». https://www.science-climat-energie.be/2020/11/20/deluge-et-changement-climatique-1-2/ (consulté le oct. 13, 2021).

[3] « fichierRessource1_Cahierdeleau10inondations.pdf ». Consulté le: oct. 13, 2021. [En ligne]. Disponible sur: https://reseau-eau.educagri.fr/files/fichierRessource1_Cahierdeleau10inondations.pdf

[4] « GROHE_Sense_fr_FR.pdf ». Consulté le: oct. 13, 2021. [En ligne]. Disponible sur: https://cdn.cloud.grohe.com/Literature/Brochures/fr_FR/GROHE_Sense_fr_FR/original/GROHE_Sense_fr_FR.pdf

[5] « guide-finale.pdf ». Consulté le: oct. 13, 2021. [En ligne]. Disponible sur: https://www.statistiques.developpement-durable.gouv.fr/sites/default/files/2018-10/guide-finale.pdf

[6] « Inondation », Gouvernement.fr. https://www.gouvernement.fr/risques/inondation (consulté le oct. 13, 2021).

[7] « L’assurance habitation en 2015 », Fédération Française de l’Assurance. https://www.ffa-assurance.fr/etudes-et-chiffres-cles/assurance-habitation-en-2015 (consulté le oct. 13, 2021).

[8] « LePointSur_N6.pdf ». Consulté le: oct. 13, 2021. [En ligne]. Disponible sur: https://www.statistiques.developpement-durable.gouv.fr/sites/default/files/2018-10/LePointSur_N6.pdf

[9] « Plus de 17 millions de français exposés au risque d’inondation », Actu-Environnement. https://www.actu-environnement.com/ae/news/inondation-risques-evaluation-nationale-16195.php4 (consulté le oct. 13, 2021).

[10] « Prévention des inondations », Ministère de la Transition écologique. https://www.ecologie.gouv.fr/prevention-des-inondations (consulté le oct. 13, 2021).

[11] « Que faire en cas d’inondation et comment se préparer ? – Allianz ». https://www.allianz.fr/assurance-particulier/habitation-biens/assurance-habitation/conseils-pratiques/inondations.html (consulté le oct. 13, 2021).

Transcripen – Enquête terrain et données recueillies

Envoyé par le 9 Nov 2021 dans TAF COUAD | 0 commentaire

This entry is part 2 of 3 in the series Transcripen

Nous présentons le déroulement de notre enquête terrain ainsi que les informations recueillies lors de chaque entretien.

Déroulement de la recherche sur le terrain

Comme indiqué dans la méthodologie de l’enquête terrain, nous avons interviewé à la fois des journalistes et des étudiants afin de comprendre la problématique de récupération du contenu d’un discours lorsque la personne doit être impliquée dans ce-dernier, les premiers rencontrant cette problématique lors d’interviews journalistiques, les seconds lors de leurs cours / conférences.

Déroulement de la recherche sur le terrain – Journaliste

Phase d’observation : entretiens exploratoires

Nous avons accompagné un journaliste du journal économique l’Agefi quotidien tout au long de sa journée ; de la revue de presse matinale, à la conférence de rédaction, aux interviews téléphoniques et physiques de l’après-midi, à la vérification des informations de mi-après-midi, jusqu’à la rédaction de l’article. Nous n’avons pas pu assister au rendez-vous pendant le déjeuner, ni à l’afterwork du soir.

Dans cette journée d’observation, plusieurs points marquants ont été soulignés. Premièrement, lors de la conférence de rédaction, consistant en un récapitulatif des articles à rédiger dans la journée, des interviews de la journée et des observations à obtenir de celles-ci, nous avons pu constater la part importante des interviews dans le quotidien d’un journaliste. Effectivement, nous avons constaté que chaque journaliste de l’Agefi a en moyenne 3 interviews / conférences de presse dans la journée, contre 1 article en moyenne à rédiger dans cette même journée. En d’autres termes, les journalistes de l’Agefi passent la plus grande partie de leur temps en interview. Cette observation a confirmé notre première hypothèse sur la prépondérance des interviews dans la journée d’un journaliste. Aussi, nous avons constaté que les informations à obtenir de ces interviews sont nombreux (3 à 4 informations à obtenir à chaque fois), mais aussi précis et techniques (des données chiffrées précises, des opinions précises, …). Cette observation a également confirmé notre hypothèse sur le fait que les journalistes sont actifs lors de l’interview tant ils doivent diriger l’interview et amener l’interlocuteur à lui donner les informations souhaitées.

Cette phase d’observation nous a permis d’affiner les questions que l’on souhaitait poser aux journalistes pour les entretiens dirigés ainsi que d’affiner nos hypothèses.

Phase de confirmation / réfutation des hypothèses

Nous avons ensuite effectué 6 entretiens semi-directifs, 5 à des journalistes économiques (3 journalistes de l’Agefi, une journaliste de News Assurances Pro, un journaliste de Wansquare) et un à un journaliste politique de Marianne. Les entretiens se sont déroulés en physique pour les journalistes de l’Agefi, et par téléphone pour les autres. L’objectif de ces-dernier était d’en savoir plus sur (i) la prise de note des journalistes lors des interviews, sur l’enregistrement des journalistes de leurs interviews, ainsi que sur (iii) la transcription des enregistrements audios. En d’autres termes, nous voulions ici savoir comment les journalistes récupèrent actuellement le contenu des interviews auxquelles ils participent et les difficultés qu’ils rencontrent. Ces entretiens étaient très intéressants, tant certains journalistes se sont livrés sur leurs problème quotidien à ce sujet, tant ils ont donné des exemples concrets pour illustrer leurs propos et tant l’ensemble des journalistes interrogés rencontre ce problème au quotidien. Il était également intéressant de voir que les journalistes politiques connaissaient la même problématique, et donc que celle-ci n’était pas intrinsèque au métier de journaliste économique. Cette phase d’entretiens semi-directifs a en revanche réfuté une de nos hypothèses : celle sur le fait que les journalistes enregistrent les interviews / n’arrivent pas à prendre des notes lorsqu’ils assistent à la sortie d’exclusivité. Effectivement, un seul journaliste nous a donné comme exemple un cas s’exclusivité. Quant aux autres, ils ont détaillé des situations problématiques de prise de note / enregistrement du contenu de l’interview dans l’objectif de restituer cette-dernière plus tard. Ainsi, nous avons pu finaliser, grâce à ces réponses, nos hypothèses, en ajoutant notamment l’hypothèse selon laquelle les journalistes sont particulièrement touchés par la problématique lors de restitution de longues interviews qu’ils doivent réutiliser plus tard.

Phase finale

L’entretien semi-directif nous a permis d’être encore plus précis sur contenu de l’interview. L’objectif était ici d’obtenir des informations plus précises sur la problématique rencontrée par les journalistes. C’est pourquoi nous avons réalisé un questionnaire que nous avons envoyé à une quinzaine de journalistes, dont 14 journalistes économiques (7 à l’Agefi, 2 des Echos Capital Finance, 2 de Wansquare, 2 de News Assurances Pro), et un journaliste politique de l’Opinion.

Le questionnaire visait dans un premier temps à comprendre l’ampleur du problème rencontré par les journalistes (en termes d’heures perdues par jour), ainsi que les circonstances dans lesquelles ce problème apparaissait. Nous avons ainsi obtenu (i) le temps moyen entre l’interview et le moment de récupération de l’information (30 minutes en moyenne sur les 10 ayant répondu à la question), (ii) le temps moyen passé à la transcription d’enregistrements par jour (1h), et enfin (iii) sur le type d’interview enregistré (conférences de presse, interviews longues (>1h)). Nous avons ainsi confirmé l’hypothèse émise à la suite des entretiens semi-directifs selon laquelle les journalistes sont particulièrement touchés par la problématique lors de restitution de longues interviews qu’ils doivent réutiliser plus tard.

Aussi, le questionnaire visait à comprendre les outils utilisés par les journalistes afin d’éclaircir la forme et l’utilité que devait prendre notre objet communiquant. Ici, l’intégralité des journalistes interviewés nous ont fait part de leur utilisation d’un stylo et d’un cahier pour prendre des notes pendant l’interview, et d’un logiciel de traitement de texte tel que word / open office pour rédiger leurs articles sur leurs ordinateurs portables personnel et / ou professionnel, 4/7 journalistes de l’Agefi, les 2 journalistes de News Assurances Pro, les 2 journalistes des Echos Capital Finance ainsi que le journaliste politique de l’Opinion nous ont fait part également de leur utilisation d’un enregistreur lors des interviews et conférences. Aussi, 2 journalistes nous ont fait part du fait qu’ils utilisent au quotidien une radio portable qu’ils écoutent partout où ils vont.

Déroulement de la recherche sur le terrain – Etudiants

Nous avons interviewé quelques étudiants de l’IMT Atlantique. Ce qui revient tout le temps c’est la difficulté d’écouter et de suivre le cours tout en prenant des notes. Pour une meilleure compréhension du cours, la prise de notes est souvent négligée car, pour certains, il y a eu une différence notable sur leurs notes en se concentrant sur ce qui est dit au lieu d’essayer de tout noter. Aussi, certains vont prendre des notes que pour des cours avec des notions compliqués; ils vont ainsi noter des mot-clés, des éléments importants à retenir.

Mais une problématique qui ressort même avec cette méthode c’est la pertinence des notes prises. En effet, pour tous les étudiants interviewés, ils remontent la difficulté à se relire des fois. Ils oublient la signification de certains éléments et n’arrivent plus à se retrouver dans leurs notes qui perdent leur utilité.

Certains utilisent des outils comprenant l’enregistrement de la parole. Mais, pour eux, la prise de tout le contenu du cours n’est pas intéressant car elle nécessite du temps derrière pour trier et récupérer les informations pertinentes. L’autre aspect préoccupant aussi est l’autorisation du professeur pour l’enregistrement.

Aussi un des interviewé a révélé qu’il serait intéressant d’avoir une fonctionnalité qui ressortirait tout ce qui a été dit la dernière minute ne prenant conscience que tardivement de l’importance de ce qui vient d’être dit.

Conclusion

Pour conclure, nos interviews nous ont permis de confirmer un certain nombre d’hypothèses et d’en réfuter d’autres:

Hypothèses confirmées :

 

  • La transcription d’un enregistrement audio issu d’une interview / conférence est longue
  • La transcription d’un enregistrement audio issu d’une interview / conférence n’apporte rien et fait perdre du temps
  • La transcription est principalement utile pour des conférences / interviews longues (plusieurs heures)
  • Il est plus facile de naviguer dans un texte que dans un audio

 

Hypothèses réfutées et / ou modifiées :

Nous avons modifié l’hypothèse selon laquelle un enregistrement est utile sur le moment (cas d’exclusivité pour les journalistes / de relecture du cours juste après pour les étudiants): la transcription d’un audio / d’une conférence est effectuée plusieurs temps après que l’enregistrement ait été effectué (pour les révisons des partiels pour les étudiants / pour la rédaction d’un article plusieurs jours après pour un journaliste.

 

Personna

Ecocard – Etat de l’art

Envoyé par le 4 Nov 2021 dans Projets | 0 commentaire

This entry is part 1 of 3 in the series Ecocard

Baraton Maxime, Blondel Victor, Czernichow Mila, Reynaud Louis

           Dans un premier temps nous nous sommes penchés sur le problème de la surconsommation d’énergie par les entreprises. Nous avons ensuite privilégié les entreprises de 30 à 50 employés maximum afin de pouvoir déployer une solution plus facilement et de façon moins coûteuse dans un premier temps. Nous avons également centré notre problème sur la consommation d’énergie inutile, c’est-à-dire lorsque des appareils électriques consomment de l’énergie alors qu’ils ne sont pas utilisés. Nous pouvons prendre l’exemple d’un écran d’ordinateur laissé en veille au lieu de l’éteindre correctement. C’est un problème qui touche les patrons de ce type d’entreprise qui souhaitent réduire leur consommation d’énergie pour des raisons budgétaire ou écologique.

 

Afin d’explorer ce problème nous voulions d’abord des preuves de l’existence de ce problème ou du moins de l’existence de consommation inutile d’énergie.

[1] Pour cela nous avons trouvé un grand nombre de chiffres sur le site de l’ADEME, concernant la consommation des appareils en veille mais aussi [2] sur les gestes permettant de réduire la consommation inutile de ces appareils. 

Nous avons ensuite recherché des solutions techniques. [3] Nous avons pensé aux systèmes de carte dans les hôtels : une carte permettant d’alimenter en électricité la chambre d’hôtel et étant donc retirée lorsque le client quitte sa chambre. Nous voulions réaliser la même chose pour les postes de travail : une carte qui centralise la connexion et la déconnexion de tous les équipements électriques du bureau. 

[4] Après un entretien avec un élève de IMT Atlantique nous avons appris l’existence des multiprises maître-esclaves qui représentent une bonne partie de la solution. En effet, de tous les équipements du bureau seul l’ordinateur doit être éteint d’une façon spéciale. Ces multiprises permettent le fonctionnement suivant : lorsque l’ordinateur à été éteint les autres appareils du poste s’éteignent avec lui. Cette prise centralise donc l’alimentation du bureau sur l’état éteint ou allumé de l’ordinateur. [5] La plus grosse tâche reste donc d’éteindre l’ordinateur et de l’allumer de façon centralisée avec la carte.

 

Le prototype serait donc un boîtier, une carte et une multiprise maître-esclave. On connecte l’alimentation de l’ordinateur sur la prise maître et tous les autres équipements sur les prises esclaves. Ensuite le boîtier est connecté à l’ordinateur et il permet de l’éteindre et de l’allumer. Enfin la carte permet d’activer le boîtier : si la  carte est insérée dans le boîtier, l’employé arrive au bureau, on allume l’ordinateur et cela allume les autres équipements. Si l’employé quitte son bureau, il retire la carte ce qui provoque l’arrêt de l’ordinateur puis tous les équipements ne sont plus alimentés. Ainsi aucun équipement ne consomme d’énergie quand l’employé n’est pas à son poste.

 

Bibliographie

 

[1]

« Le saviez-vous ? », ADEME. https://www.ademe.fr/entreprises-monde-agricole/performance-energetique-energies-renouvelables/lenergie-bureaux/dossier/equipements-electriques/saviez (consulté le oct. 19, 2021).

[2]

« Matériel informatique : place à la sobriété », Agir pour la transition écologique | ADEME. https://agirpourlatransition.ademe.fr/particuliers/bureau/numerique/materiel-informatique-place-a-sobriete (consulté le oct. 20, 2021).

 [3]

« Cartes RFID pour les hôtels | Découvrez les cartes-clés de HOTEK ». https://www.hotek.nl/fr/rfid/carte-rfid (consulté le oct. 13, 2021).

[4]

fixit, « Les multiprises avec fonction master / slave », Réparer Facile, nov. 14, 2009. https://www.reparer-facile.fr/actualite/informatique-multiprise-fonction-master-slave/ (consulté le oct. 26, 2021).

[5]

  1. Rédac, « Allumer ou éteindre un PC à distance ». https://www.commentcamarche.net/informatique/windows/1657-allumer-ou-eteindre-un-pc-a-distance/ (consulté le oct. 26, 2021).

Mini-projet capteur météo et LoRaWAN avec la Lopy4

Envoyé par le 18 Oct 2021 dans Projets, TAF COUAD | 0 commentaire

Dans ce mini-projet, il s’agit de transmettre les informations de température et hygrométrie d’une pièce à un serveur du réseau The Things Networks à l’aide à l’aide du protocole LoRaWAN.

Sommaire

Etape 1 Accéder au réseau The Things Network (TTN)

Etape 2 Récupérer les données de température et humidité du DHT11

Etape 3 Envoi des données de température et humidité sur le serveur TTN

Matériel/logiciel :

  • LoPy4 + Expansion Board 3.1 de Pycom
  • Antenne LoRa
  • Capteur de température DHT11
  • Des fils
  • Gateway LoRaWAN en fonctionnement et à proximité qui permet la couverture réseau, existante ou à fabriquer soi-même (tuto à venir …)
  • VSCode pour la programmation en python

Etape 1 Accéder au réseau The Things Network (TTN)

a) Découverte du réseau TTN et de la plateforme web

La figure 1 présente l’architecture classique d’un réseau LoRaWAN, dite en étoile. Chaque noeud (ou end device) peut être connecté à plusieurs passerelles (gateways), qui sont elles-mêmes connectées à un serveur d’application qui va collecter, choisir voire, traiter les données. Les gateways ne font que relayer les paquets de données. Si le serveur d’application reçoit plusieurs fois le même paquet en provenance de plusieurs passerelles, il est  capable de choisir celui avec la meilleure qualité de signal.

FIG 1. Par Germain GAUDARD — Travail personnel, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64159124

Il existe plusieurs réseaux publics d’opérateurs LoRaWAN. Dans ce mini-projet, nous choisissons le réseau The Things Network (TTN), qui est un réseau public open-source, qui peut être utilisé sans contrainte commerciale ou privée.

L’équipe pédagogique a préalablement déclaré les noeuds LoPy4 sur l’interface de TTN appelée, The Things Stack Community Edition.

Exemple de tutorial pour déclarer un device de type LoPy4 (lien vers tuto spécifique).

Demandez login et mdp à l’enseignant.e présent.e pour accéder à la plateforme [4].

Les devices sont nommés selon leur adresse MAC (voir Bien démarrer avec la LoPy4 pour lire l’adresse MAC [19]). Avant toute chose identifiez votre device en lisant son adresse MAC.

Dans l’application tp-lora-cooc de la plateforme The Things Stack Community Edition [4], repérez votre device et cliquez pour obtenir des informations supplémentaires :

 

Figure. Tableau de bord TTN de l’application tp-lora-cooc

Notez la valeur de AppEUI, DevEUI et AppKey. Les 3 éléments permettent de mettre en place une connexion LoRaWAN sécurisée avec le serveur TTN.

Dans l’onglet Live data, vous observerez plus tard les données qui sont remontées de votre noeud (uplink) ou qui sont envoyées à votre noeud (downlink). Dans l’onglet Messaging, vous pouvez simuler l’envoi de données uplink au serveur, vous pouvez également programmer des envois de données downlink. Vous pouvez également appliquer un code aux données reçues et envoyées permettant de les formatter pour les rendre lisibles par un humain (Payload formatters).

Toutes ces actions seront expérimentées un peu plus loin.

b) Se connecter au réseau TTN à partir de votre LoPy4 et envoyer vos 1ers paquets

Vous allez connecter votre Lopy4 au réseau TTN et envoyez vos 1ers paquets en uplink sur le réseau TTN.

N’oubliez pas de connecter l’antenne LoRa au bon endroit …
  • Récupérez le code main_template.py sur gitlab [5]
  • Modifiez DevEUI et AppKey selon les paramètres indiqués sur la plateforme TTN
  • Modifiez le nom en main.py et chargez sur le device
  • Observez les print dans la console pymakr ainsi que la couleur de la LED qui vous indique l’évolution de la connexion
  • Une fois la connexion effectuée (CONNECTED!!), observez les messages remontés (payload) sur la plateforme dans l’onglet Live data du device.

Figure. Console live data du device

Questions

  1. Quelle est la forme des paquets remontés (payload) dans live data ?  Quel est le lien avec les données envoyées de la lopy qui sont sous la forme PKT + entier ? La table de correspondance Decimal <>Hexadecimal<>Caractère ASCII [10] va vous aider. On remarque par exemple que le code hexadécimal du caractère P est 50.
  2. Utilisez lora.stats() et comparez avec la variable consumed_airtime sur la plateforme en cliquant sur l’évènement (event details)
  3. Quel est le SNR de la transmission ? lisez la variable SNR dans l’onglet Live data. Observez les variations (min/max).
  4. Calculez la marge de transmission pour le min et le max à partir du SNR récupéré dans la console et du SNR limit donné ci-dessous pour le SF utilisé (Cf. [7] video 17 slide 16 et vidéo 16 slide 4, supports disponibles en pdf sur Moodle)

Figure. Mobilefish.com – LoRa/LoRaWAN tutorial – SNR limit and Receiver sensibility [7]

5. Quel est le spreading factor ? Varie-t-il pendant la transmission ?

6. À l’initialisation de la transmission, modifiez le spreading factor dans main.py en choisissant SF égal à 10. soit DR=2 [17]

s.setsockopt(socket.SOL_LORA, socket.SO_DR, 2)

Observez l’effet dans la console du device sur la plateforme TTN.

7. Ajoutez la fonctionnalité d’adaptive data rate (adr=True), observez la variation du SF au cours de la transmission. Expliquez.
lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.EU868, device_class=LoRa.CLASS_C, adr=True)

c) Décrypter les messages envoyés sur la gateway

Dans la console gateway, observez les paquets remontés sur le serveur TTN. En cliquant sur l’event, vous pouvez accéder à différentes informations comme les informations sur la transmission, par exemple :

settings": {
"data_rate": {
"lora": {
"bandwidth": 125000,
"spreading_factor": 12,
"coding_rate": "4/5"

On trouve également des informations sur le paquet transmis

"message": {
"raw_payload": "QDQjCyYAqAAC5OFiPQ/CfAA=",
"payload": {
"m_hdr": {
"m_type": "UNCONFIRMED_UP"
},
"mic": "D8J8AA==",
"mac_payload": {
"f_hdr": {
"dev_addr": "260B2334",
"f_ctrl": {},
"f_cnt": 168
},
"f_port": 2,
"frm_payload": "5OFiPQ=="
}
},

Le MIC ainsi que le DevAddr sont en clair. Par contre, le message est crypté (« 5OFiPQ==").

Sur [18] (LoRaWAN 1.0.x packet decoder), vous pouvez décoder le raw_payload de votre message :

Questions

  1. Après décodage, identifiez le Message Type ; DevAddr ; FRMPayload
  2. Vérifiez que le FRMPayload ne correspond pas au message envoyé (Live data du device). En effet, le message est crypté ! Récupérez la NwkSKey et la AppSKey dans la console de votre device (Overview). Entrez-les dans votre décodeur et vérifiez que le FRMPayload décrypté après décodage est identique au message envoyé.

d) Envoyer des paquets du serveur TTN vers votre Lopy4 (Downlink)

Pour cela, nous allons programmer des envois downlink à partir de la plateforme TTN, onglet Messaging du device.

  • Décommentez les lignes de code correspondantes à la réception d’un message dans main.py sur la LoPy4
  • Téléversez le code dans la LoPy4
  • Après la connexion au réseau TTN, observez la réception du 1er paquet sur l’interface, puis la LoPy est en attente de réception d’un paquet
  • Programmez un envoi downlink (exemple FF) dans la console Gateway sur la plateforme TTN

  • Observez la réception du paquet sur la LoPy (via le print dans la console pymakr), puis l’envoi d’un nouveau paquet en uplink.

L’attente de réception d’un paquet bloque l’envoi de tout nouveau paquet.

  • Programmez l’envoi de plusieurs paquets dans la console (Push to downlink queue)

Si la qualité de la transmission est suffisante, le protocole ADR devrait modifier le Data Rate (SF et puissance d’émission).

Figure. Downlink messages envoyés vers le device. (FF puis AA puis BB). Le 1er message reçu sur le device est MAC payload = 45 car le message est crypté.

e) Décoder le paquet downlink envoyé du serveur vers la LoPy4 et reçu au niveau de la gateway

Comme pour le message Uplink reçu au niveau de la gateway, le message Downlink transmis du serveur vers la gateway est crypté.

On peut lire le DevAddr, le compteur de paquet, Le FRMPayload est encrypté, il est donc différent du message envoyé par la Lopy. En utilisant le NwkSKey (hex-encoded; optional) et le AppSKey, vous pouvez décrypter le paquet envoyé par la Lopy. Vérifiez que le FRMPayload décrypte correspond bien au message envoyé par la Lopy.

Etape 2 Récupérer les données de température et humidité du DHT11

Pour cette étape, nous allons utiliser la LoPy4 uniquement en tant que micro-contrôleur (pas de transmission sans fil) pour récupérer les données du capteur de température et humidité DHT11. La data sheet du capteur est donnée ici [2]. Il est monté sur une carte à 3 broches SE052, dont la data sheet est donnée ici [8].

  • Récupérez le dossier DHT11 sur gitlab [9]
  • Enregistrer le répertoire en local. L’arborescence et le nom des fichiers doivent être conservés (1 fichier main.py, 1 répertoire lib, 1 fichier dht.py dans le répertoire lib). Supprimez les fichiers cachés en .gitxxx.
  • Dans le main.py, identifiez la broche de la LopY qui sera utilisée
  • Branchez les fils entre le capteur DHT11 et la LoPy4. S pour signal sur la broche identifiée dans le main.py, – pour GND, VCC pour la broche du milieu sur 3V3. Attention si les fils sont mal branchés la petite led orange de l’expansion board va flasher.

branchement du capteur SE052

Branchement DFR0067

  • Téléversez le code (car il faut charger la librairie dht.py)
  • Observez les données récupérées dans la console pymakr
  • Dans le fichier dht.py, lisez le code correspondant à read(). Comparez avec le chronogramme de  communication ci-dessous (extrait de la data sheet [2]). Qu’observe-t-on en sortie de la fonction pulses_get() ? Quels sont les intervalles de temps qui permettent de définir si le capteur envoie un ‘0’ ou un ‘1’ ?

Figure. Chronogramme de communication entre DHT11 et MCU ([2], p.5).

  • Repérez le format des données dans la data sheet ([2], p.5), comparez avec la fonction read(). Combien d’octets sont envoyés du capteur vers la Lopy (MCU)? Quels sont les octets qui contiennent les données ? À quoi sert le checksum ?
Si la petite led orange flashe, alors la carte doit être ré-initialisée. Demandez de l’aide à l’enseignant.e.

Etape 3 Envoi des données de température et humidité sur le serveur TTN

Nous allons maintenant intégrer les 2 codes précédents pour envoyer les données de température et humidité sur le serveur TTN.

a) Intégration des 2 codes précédents

À vous de jouer !

Attention au format des données transmises via LoRaWAN. Utilisez la fonction bytes() pour envoyer des octets.

La table de correspondance Decimal <>Hexadecimal<>Caractère ASCII [10] peut vous aider.

Vous devriez voir apparaître quelque chose comme ça dans la console TTN de votre device

Observez le format affiché des données reçues (MAC Payload : 1549).

Comparez avec le format affiché des données envoyées :

Temp : 21

RH : 73

b’\x15I’

Expliquez !

b) Mise en forme des données affichées dans la console : Payload Formatters

Dans l’onglet Payload Formatters de votre device, choisissez Formatter Type > Javascript. Appliquez directement la fonction telle qu’elle est proposée (Save changes) et observez le résultat dans la console. Vous pouvez aussi tester vos modifications dans la fenêtre Test en appliquant une valeur dans Byte payload.

Puis modifiez la fonction decodeUplink pour permettre l’affichage sous la forme suivante :

Conclusion

Bravo ! Vous êtes allés au bout de ces 3 activités autour de la prise en main des LoPy4 !

Il reste encore plein de choses à découvrir dans le monde de l’IoT. Voici quelques pages d’inspiration :

  1. un projet très complet qui envoie les données d’une station météo sur la plateforme cloud Ubidots (via WiFI) en utilisant le protocole MQTT (Message Queuing Telemetry Transport), puis envoi des données sur une application Android [11]
  2. un autre projet du même style mais qui utilise plutôt la plateforme cloud IFTTT, en utilisant l’application IFTTT (dans tous les stores) [12]
  3. un projet de capteurs pour les plantes qui utilise la plateforme de Pycom, appelée Pybytes, à l’aide d’une connexion WiFI [13]

Plus d’infos sur les plateformes Cloud Ubidots [14] ou Cayenne [15].

 

Références

[1] « Démarrer avec Lopy4 Pycom | Téléfab ». https://telefab.fr/2021/09/27/demarrer-avec-lopy4-pycom/ (consulté le oct. 19, 2021).

[2] « DHT11.pdf · main · LANGLAIS Charlotte / TP lora COOC », GitLab. https://gitlab.imt-atlantique.fr/clanglai/tp-lora-cooc/-/blob/main/DHT11.pdf (consulté le oct. 19, 2021).

[3] « TTN Mapper ». https://ttnmapper.org/colour-radar/ (consulté le oct. 19, 2021).

[4] « Management platform for The Things Network », The Things Network Console. https://eu1.cloud.thethings.network/console (consulté le oct. 19, 2021).

[5] « OTAA/main_template.py · main · LANGLAIS Charlotte / TP lora COOC », GitLab. https://gitlab.imt-atlantique.fr/clanglai/tp-lora-cooc/-/blob/main/OTAA/main_template.py (consulté le oct. 19, 2021).

[6] « LoRa ». https://docs.pycom.io/firmwareapi/pycom/network/lora/ (consulté le oct. 19, 2021).

[7] « Mobilefish.com – LoRa/LoRaWAN tutorial. » https://www.mobilefish.com/developer/lorawan/lorawan_quickguide_tutorial.html (consulté le oct. 19, 2021).

[8] GO TRONIC, « Capteur de t° et d’humidité DHT11 ST052 », GO TRONIC. Consulté le: 16 septembre 2024. [En ligne]. Disponible sur: https://www.gotronic.fr/art-capteur-de-t-et-d-humidite-dht11-st052-26117.htm

[9] « DHT11 · main · LANGLAIS Charlotte / TP lora COOC », GitLab. https://gitlab.imt-atlantique.fr/clanglai/tp-lora-cooc/-/tree/main/DHT11 (consulté le oct. 19, 2021).

[10] « Fichier:ASCII-Table-wide.svg — Wikipédia ». https://commons.wikimedia.org/wiki/File:ASCII-Table-wide.svg(consulté le oct. 19, 2021).

[11] « Tutorial on how to build a Pycom LoPy4 weather station », HackMD. https://hackmd.io/@ehTrKNe5RYyySf6QXbWMWA/ByVCoGFAU (consulté le oct. 19, 2021).

[12] « Automating a floor fan with DHT11 sensor », HackMD. https://hackmd.io/@abbeabbe/ByNXPfGyv (consulté le oct. 19, 2021).

[13] « Plant Sensor », Hackster.io. https://www.hackster.io/55480/plant-sensor-a9937f (consulté le oct. 19, 2021).

[14] « Ubidots ». https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ubidots/ (consulté le oct. 19, 2021).

[15] « Cayenne ». https://www.thethingsindustries.com/docs/integrations/cloud-integrations/cayenne/ (consulté le oct. 19, 2021).

[16] « LoRa et LoRaWAN pour l’internet des objets ». Udemy. https://www.udemy.com/course/lora-et-lorawan-pour-linternet-des-objets/learn/lecture/20927430#overview (consulté le oct. 3, 2022).

[17] « Méthodes et constructeur de la classe LoRa ». https://docs.pycom.io/firmwareapi/pycom/network/lora/

[18] « Lora Packet Decoder ». Consulté le: 4 octobre 2024. [En ligne]. Disponible sur: https://lora-packet.vercel.app/

[19] « Démarrer avec Lopy4 Pycom | Téléfab ». Consulté le: 12 décembre 2023. [En ligne]. Disponible sur: https://telefab.fr/2021/09/27/demarrer-avec-lopy4-pycom/

Projet CODEV n°28 : Coupe de France de robotique

Envoyé par le 18 Oct 2021 dans Projets | 0 commentaire

Nous sommes trois étudiants en FISE A1 et dans le cadre de notre projet CODEV, nous avons collaboré avec le club de robotique d’IMT Atlantique en vue de sa participation à l’édition 2021 de la Coupe de France de robotique qui se déroulera début juillet. Notre projet s’est donc inscrit donc dans un projet plus large, celui d’engranger le plus de points possible lors de l’édition 2021 de la compétition et de remettre en place les bases techniques et matérielles qui seront utiles lors des éditions futures de la coupe.

 

Le déroulement d’un match de la Coupe de France de robotique peut se résumer de la façon suivante : deux équipes s’affrontent en plaçant un ou deux robots (et parfois des systèmes électroniques secondaires) sur une aire de jeu afin d’engranger un maximum de points en 100 secondes.

 

Aire de jeu de l’édition 2021 de la coupe

 

Notre travail s’est concentré sur la conception et la fabrication du phare, un système annexe au robot principal de l’équipe qui peut rapporter jusqu’à 15 points sur les 93 points disponibles au maximum (sans compter les bonus). Le phare doit être placé par l’équipe dans une zone de l’aire de jeu appelée “zone rocheuse” et doit être allumé au cours du match par un système impliquant un contact physique avec un des robots de l’équipe. Une fois allumé, il doit se déployer et allumer une source lumineuse avec balayage pour signaler la zone rocheuse. Ce système est également soumis à de nombreuses contraintes (dictées par le règlement de la coupe[1]) portant sur ses dimensions, son amplitude de déploiement, son système d’éclairage ou encore son alimentation. Cependant, nous étions  très libres au niveau du choix de la méthode de déploiement du phare. Le déploiement doit être déclenché par une action physique du phare, cependant il peut mettre en jeu un système purement mécanique (par exemple un système de ressorts) ou un ensemble mécatronique plus complexe. Au vu du temps nous étant accordé pour travailler sur ce projet, nous avons choisi de concevoir un phare basé sur un système mécatronique. La conception de ce type de système est particulièrement complexe, mais permet l’acquisition de compétences en électronique, en informatique mais également en mécanique, un sujet peu abordé en première année dans notre filière.

 

Notre travail s’est donc décomposé selon les étapes suivantes : nous avons tout d’abord longuement réfléchi sur la technologie de déploiement du phare, pour finalement aboutir à un mécanisme d’élévateur en ciseaux. La modélisation 3D du système à l’aide du logiciel de modélisation 3D Autodesk Inventor nous a ensuite  permis de dimensionner les différentes pièces et de valider de façon théorique certaines performances du phare.

 

 

 

 

  Modèle 3D

 

Après avoir obtenu un modèle 3D satisfaisant, il était nécessaire de réaliser un premier prototype d’un étage à l’aide d’une découpe laser et d’impressions 3D. Ce premier prototype a permis de souligner les défauts de notre modélisation en vue d’une amélioration de notre prototype. Finalement, nous avons pu fabriquer un prototype mécanique fonctionnel respectant la majorité des contraintes.

Prototype mécanique

 

Il ne nous restait donc plus qu’à mettre ce prototype en mouvement à l’aide du circuit électronique suivant, piloté par une carte Arduino Uno.

 

Voici donc le système final, dont nous sommes assez satisfaits car il respecte la majorité des contraintes fixées par le cahier des charges :

 

Au repos

 

 

Après déploiement

 

Il existe cependant certaines perspectives d’amélioration, avec notamment l’ajout d’étages supplémentaires au système (un étage correspondant à un « X » du système élévateur à ciseaux), l’ajout d’un pont en H permettant de contrôler la descente du phare et enfin la réduction des jeux de liaisons.

 

Nicolas Aïdoune, Yao-Hua Xu et Mouna Wamra.

Aller plus loin avec la LoPy4

Envoyé par le 4 Oct 2021 dans TAF COUAD, Projets | 0 commentaire

Voici quelques exercices pas à pas pour aller plus loin dans l’utilisation de la LoPy4 et la compréhension de la couche PHY du standard LoRa.

Si vous démarrez avec la LoPy4, consultez l’article Démarrer avec Lopy4 Pycom

Nous allons utiliser 2 LoPy4. l’une en émetteur (TX), l’autre en récepteur (RX).

Le code utilisé est celui du Ping Pong : Le code est disponible ici [1].

S’il y a plusieurs LoPy actives à proximité, choisissez qui sera le noeud TX et le noeud RX et particularisez la transmission.

Exemple pour la transmission dite A:

Côté TX :

s.send('PingA')

Côté RX :

if s.recv(64) == b'PingA':

Les méthodes utilisées sont celles présenteés sur cette page [2].

Vous pouvez par exemple récupérer la taille de la bande ou la modifier :

# get raw LoRa Bandwidth
lora.bandwidth()

# set raw LoRa Bandwidth
lora.bandwidth(LoRa.BW_125KHZ)

Pour cela, vous aurez sans doute besoin de lire la valeur des constantes (print). Par exemple :  LoRa.CODING_4_5 , LoRa.ALWAYS_ON, LoRa.BW_125KHZ, etc. [2].

Utilisez la commande print pour voir l’effet de la modification des paramètres. Exemple :

print('Coding rate {}'.format(lora.coding_rate()))

À chaque modification du code, vous devez charger le nouveau code (sync project to device dans Pymakr:Projects), puis  rebooter le device (ctrl+alt+f sur VSC ou bouton reset de la Lopy).

Les paramètres typiques d’une transmission LoRa en Europe sont détaillés dans [8].

1) Récupérer les paramètres LoRa d’une transmission

À partir de la méthode lora.stats(),

  1. Du côté TX,  identifiez les paramètres suivants liés à l’émission de data:  spreading factor, puissance émise, fréquence utilisée, time on air
  2. Du côté RX, identifiez les paramètres liés à la réception de data : spreading factor, RSSI, SNR

Faire attention aux unités

À partir d’autres méthodes (à chercher sur  [2]), identifiez :

  1. bande de transmission,
  2. coding rate,
  3. power mode,
  4. taille de préambule

Pour cela, vous aurez sans doute besoin de lire la valeur des constantes (print). Par exemple :  LoRa.CODING_4_5 , LoRa.ALWAYS_ON, LoRa.BW_125KHZ, etc. Ou bien consultez [2].

Dans la suite, il est possible que vous ne puissiez pas tout observer. C’est expérimental ! Cela dépend des conditions de transmission.

2) Faire varier le RSSI

Dans cette partie, nous supposons que vous avez « appairé » 2 Lopy ensemble (A et B), en particularisant la transmission. Exemple ci-dessous. 

Côté TX (A) :
s.send('PingA')
Côté RX (B) :
if s.recv(64) == b'PingA'

s.send('PongB')

En modifiant l’environnement de transmission

Exemple 1 : antenne couchée ou debout

Exemple 2 : éloigner les 2 noeuds, placer les noeuds derrière des objets, etc. Si vous utilisez votre PC, sortez de la salle ! Allez à l’étage (Archipel), ou allez à l’extérieur.

Laissez passer plusieurs trames et observez sur plusieurs trames avant de changer l’environnement.

Quel impact sur le RSSI  côté RX B ? Expliquez.

En arrêtant l’émission du Pong

Côté RX B, commenter la  partie :
s.send('PongB')

pour arrêter l’émission du Pong. Chargez le code, puis ré-initialisez les 2 Lopy.

Quel impact sur le sftx côté RX ? sur le time on air ? Expliquez.

Quel impact sur le RSSI et le sfrx côté TX  A ? Expliquez.

En modifiant la puissance d’émission

Quelle est la puissance d’émission par défaut ? Diminuez la puissance d’émission d’un des 2 devices et observez le RSSI de l’autre côté.

Issu de la documentation Pycom [9] :

Vérifier les RSSI typiques

À l’aide de la data sheet ([5] p.20), vérifiez que les RSSI observés sont typiques d’une transmission LoRa, en comparant les RSSI observés avec les RSSI limite (receiver sensitivity). Attention au spreading factor utilisé.

3) Faire varier le time on air

En faisant varier la taille du message

Modifiez la taille du message envoyé pour faire varier le time on air.

Calculez le nombre d’octets (bytes) de votre message [7]

À l’aide du calculateur https://loratools.nl/#/airtime [4],  des paramètres de transmission et du nombre d’octets du message, calculez le time on air. Comparez-le au  time on air observé.

Quel est le duty cycle pour la bande ISM Europe ? Comment la taille du message influence le temps d’attente entre 2 envois ? [6]

Donnez la valeur du duty cycle pour votre message telle que calculée  dans [4]et vérifiez que cela correspond bien au duty cycle de la réglementation.

En faisant varier le coding rate

Quel est le time on air pour un coding rate à l’émetteur de 4/5 ? Idem pour 1/2. Déduisez quel est l’impact du coding rate sur le time on air.

Quel est l’avantage d’un coding rate de 1/2 par rapport à celui de 4/5 ?

4) Faire varier le spreading factor

Changez le spreading factor à l’émetteur de 7 à 8 : à partir du constructeur à l’initialisation, ou à partir de la méthode lora.sf()

Observez le récepteur. Pourquoi le message n’est-il pas reçu ?

Rendez cohérent le spreading factor du côté du récepteur (sf=8).

Observez  les variations sur le time on air. À partir de la formule de calcul du Time On Air, montrer que ce dernier double lorsqu’on augmente le SF d’un point.

Comparez la sensibilité minimale donnée dans la datasheet ([5], p.20) avec les RSSI mesurés pour différentes valeurs du SF. Pourquoi le RSSI diminue-t-il lorsque le SF augmente ?

5) Avant de partir

  • formatez la Lopy4 :

import os 

os.fsformat('/flash')

  • rangez la carte dans le carton en faisant attention au câble de l’antenne

 

Prochaine étape : mettre en place une communication via le réseau The Things Network

Mini-projet capteur météo et LoRaWAN avec la Lopy4

Références bibliographiques

[1] https://gitlab.imt-atlantique.fr/clanglai/tp-lora-cooc

[2] https://docs.pycom.io/firmwareapi/pycom/network/lora/

[3] https://www.mobilefish.com/developer/lorawan/lorawan_quickguide_tutorial.html

[4] https://loratools.nl/#/airtime

[5] https://docs.pycom.io/gitbook/assets/specsheets/Pycom_002_Specsheets_LoPy4_v2.pdf

[6] https://www.thethingsnetwork.org/docs/lorawan/duty-cycle/

[7] « Fichier:ASCII-Table-wide.svg — Wikipédia ». https://commons.wikimedia.org/wiki/File:ASCII-Table-wide.svg(consulté le oct. 19, 2021).

[8] « LoRa Regional Parameters », The Things Network. https://www.thethingsnetwork.org/docs/lorawan/regional-parameters/ (consulté le 26 septembre 2023).

[9] « 5.2.2.4 LoRa · Pycom Documentation ». https://alepycom.gitbooks.io/pycom-documentation/content/chapter/firmwareapi/pycom/network/lora.html (consulté le 26 septembre 2023).

 

Démarrer avec Lopy4 Pycom

Envoyé par le 27 Sep 2021 dans Projets, Trucs & astuces, TAF COUAD | 0 commentaire

Un petit tutoriel pas à pas pour bien démarrer avec les cartes disponibles au fablab la Lopy4 de Pycom.
Plus d’infos  ici

et des tutos ici

Merci à Sylvain Montagny de l’Université Savoie Mont Blanc pour l’accès à son Mooc  LoRa et LoRaWAN pour l’internet des objets 

Etape 1 : installation des outils logiciels

Les PC du fablab sont déjà installés avec Visual Studio Code. L’extension Pymakr2 est également installée. NE FAITES PAS d’UPDATE de version. Si vous allez installer cet outil sur votre PC perso, suivez les indications ci-dessous.

https://docs.pycom.io/gettingstarted/software/vscode/

Installation de Visual Studio Code  et de l’extension Pymakr qui permet de reconnaitre la carte.

Il existe parfois des problèmes de compatibilité entre VSC et Pymakr notamment lors des sauts de version de VSC avec une mise à jour de Pymakr qui tarde un peu.  Dans ce cas, vous pouvez rétrograder la version de VSC pour garder la compatibilité.

Selon la distribution Linux, peut nécessiter l’installation de pyserial.  et de dialog.

python -m pip install pyserial (ou python3 -m pip install pyserial)
sudo apt-get install dialog

Nécessite également NodeJS (sur Linux, à installer à partir d’un dépôt, sinon ici from the NodeJS website.).

apt-get install -y nodejs

 Etape 2 : se connecter à la LoPy4 et lui donner quelques instructions 

Pour comprendre l’utilisation de Pymakr dans VS Code (qui n’est pas si simple …), il faut consulter le Get Started et le what’s new.

Suivre les instructions pour communiquer avec la carte et tester des instructions en micro python directement sur la LoPy4 via le port USB :

https://docs.pycom.io/gettingstarted/

Connecter le device

Connectez le device sur un port USB, Sélectionnez le device dans VSCode/Pymakr:Devices, puis cliquez sur connecter le device (éclair). Puis cliquez sur Create terminal. Une fenêtre terminal doit s’ouvrir avec l’invite de commande >>> qui vous permet d’envoyer des commandes au device.

Vous pouvez tester ces instructions :

import pycom

pycom.heartbeat(False)

pycom.rgbled(0x330033)

Modifiez le code RGB pour changer de couleur à la led.

Quelques raccourcis et commandes bien utiles …

REPL (Read Evaluate Print Loop) est le nom donné à l’invite interactive de MicroPython accessible sur les appareils Pycom. Il permet de lancer des commandes et de tester du code Micro Python.

Voici les raccourcis clavier les plus utiles :

Ctrl-C : interrompt le code actuel en cours d’exécution, pour récupérer l’invite REPL >>>

Ctrl-D : sur une ligne vide, soft reset (pour un Hard reset, bouton noir RST juste à côté de la led RGB du LoPy)

Ctrl-F  : effectue un « safe-boot » du périphérique sans relancer boot.py et main.py

Tab : auto-complétion

Vous pouvez les retrouver en cliquant sur l’onglet Extensions puis Pymakr > Details.

Vous pouvez également utiliser le menu contextuel de votre device (dans PYMAKR:DEVICES) : Stop script, Hard reset (pour lancer le code de la flash), Safeboot device (pour initialiser la carte sans lancer le code de la flash).

Si vous n’avez plus accès à l’invite de commandes REPL >>> parce que votre code a planté la carte, vous pouvez tout d’abord essayer le safe boot (menu contextuel du device, ou safe boot sur la carte voir ci-dessous).

Pour le safe boot sur la carte directement, appuyer en même temps sur le reset de la LoPy et le safe boot de l’expansion board (voir image ci-dessous) puis relâcher d’abord le reset de la LoPy (la led flashe orange).

Puis, une fois l’invite REPL récupérée,  vous pouvez ré-initialiser la mémoire flash [5] :

import os
os.fsformat('/flash')

L’appui sur le bouton reset de la LoPy ré-initialise la carte mais relance le code chargé sur la mémoire flash !

Etape 3 : tester des exemples

Maintenant vous allez créer un projet Pymakr et y placer le code à charger sur le device. Dans le dossier de votre projet, il y aura les fichiers suivants : main.py , boot.py, pymakr.conf, et un dossier lib.

ATTENTION la structure du dossier qui est chargé dans le device doit TOUJOURS être la suivante :

My-project
|-lib
|  |- some_library.py
|-boot.py
|-main.py
Eviter les conflits dans VS Code : un seul FOLDER dans l'explorateur de VS Code. une fois que vous avez fini avec un projet, fermez le FOLDER correspondant

Connecter le device

Sélectionnez le device dans VSCode/Pymakr, puis cliquez sur connecter le device. Une fenêtre terminal doit s’ouvrir avec l’invite de commande >>> qui vous permet d’envoyer des commandes au device (comme dans l’étape 2).

Créer le projet Pymakr

Dans VSCode/Pymakr, créez un nouveau projet Pymakr (Pymakr:Projects, create new project) et choisissez le dossier (ex : Documents) qui contiendra votre projet. Project name = nom du projet et nom du dossier qui contiendra les sources (ex : My-Project). Validez par entrée. Validez l’emplacement du projet (ex : Documents/My-Project) Choisissez le template empty project. remplacez empty project dans pymakr.conf par le nom de votre projet (ex : My-Project, utilisez le même nom que le dossier). Associez le device qui est branché sur l’ordinateur avec le projet (ADD DEVICES).

Compléter le main.py

Au moment de la création du projet, 3 fichiers ont été créés : main.py, boot.py et pymakr.conf.

Modifiez main.py en insérant le code que vous voulez tester (cf. 1er test ci-dessous avec le projet RGBLed)

Charger le device avec le code du projet (cf. 1er test ci-dessous)

Dans VSCode/Pymakr:Projects, sélectionnez le device associé au projet et cliquez sur sync project to device.

Une fois le code chargé, il faut faire un hard reset. 2 options : bouton à côté de la LED (reset de la Lopy), ou sur les … du device dans VSCode/Pymakr:Devices choisir Hard reset device.

Si le code est constitué d’une boucle infinie, alors vous n’avez plus accès à l’invite de commande. Le device est « occupé ». Pour retrouver la main, Ctrl+alt+C dans le terminal. Le code étant chargé dans le device, vous pouvez le relancer par un hard reset. De même si vous déconnectez le device de l’ordinateur, puis si vous le remettez sous tension, le code va se relancer automatiquement. Cela peut-être un problème si le code fait planter votre carte. Dans ce cas, il faut effectuer un safe boot dès que la mise sous tension de la carte (voir à l’étape 2).

1er test : utiliser la led RGB disponible pour vérifier que vous pouvez charger un programme sur la LoPy4

Le code est disponible ici [1].

2e test : récupérer l’adresse MAC LoRa du noeud

ATTENTION avant toute utilisation de la couche LoRA ou LoRaWAN, l’antenne  LoRa doit être branchée sur le connecteur correspondant à la fréquence 868 MHz.

from network import LoRa

import binascii

lora = LoRa(mode=LoRa.LORA, region=LoRa.EU868)

print(binascii.hexlify(lora.mac()).upper())

Vous en aurez besoin pour le TP2.

Etape 4 Constructeur et méthodes en lien avec LoRa pour la LoPy4

Sur cette page [4], on trouve des méthodes permettant d’initialiser les paramètres LoRa de la LoPy et de récupérer ou de modifier un certain nombre de paramètres.

  1. à partir de la datasheet de la LoPy4 [6], cherchez :
    1. le nom du chip Semtech qui réalise la transmission LoRa ;
    2. la sensibilité pour les spreading factor de 6 à 12 pour la bande 125 kHz (LNA Boost for band 1 à 868 MHz) ;
  2. à partir de la page [4], identifiez les paramètres que vous pouvez modifier en mode LoRa (dit LoRa RAW ou LoRa MAC).
  3. Faites la même chose pour le mode LoRaWAN.

Etape 5 : Say Hello! et paramétrage du LoRa MAC

Nous allons maintenant tester une transmission (TX -> RX) dite LoRa MAC ou LoRa RAW parmi les LoPy de la salle.

Le code est disponible ici [2].

Toutes les LoPy vont émettre puis recevoir des trames. Il faut donc au moins 2 LoPy qui émettent et reçoivent en même temps. Une boucle while avec un délai aléatoire est utilisée pour minimiser les risques que les deux LoPy transmettent en même temps.

  1. Insérez votre prénom dans le code. Exemple : ‘Hello I am Charlotte!’  Vérifiez qu’une ou plusieurs LoPy de la salle ont bien reçu votre message !
  2. En utilisant la méthode lora.stats(), affichez les paramètres de la transmission LoRa MAC. Notez le RSSI, le spreading factor (tx et rx), le tx-power, et le time on air sur le TX et le RX. Comparez le RSSI avec la sensibilité récupérée dans la data sheet à l’étape 4.Pourquoi le RSSI est-il à 0 sur le TX ?
  3. Il est possible de changer les paramètres de la transmission LoRa MAC en ajoutant des paramètres dans le constructeur de la classe LoRa. Changez par exemple le coding rate à LoRa.CODING_4_8. Observez la modification du tx_time_on_air. Il est possible que cela change également le RSSI sur le device RX. Cela dépend des conditions de transmission. Vérifiez.

Note : lorsque vous modifiez votre code,  et si votre carte est bloquée, effectuez un safe boot (cf. Etape 2) avant de faire upload.

Avant de partir

  • formatez la Lopy4

import os

os.fsformat('/flash')

  • rangez-la dans le carton en faisant attention au câble d’antenne

TP Pour aller plus loin dans l’utilisation de la Lopy4 et de la couche PHY LoRa

consultez l’article https://telefab.fr/2021/10/04/aller-plus-loin-avec-la-lopy4/

Références bibliographiques

[1]https://docs.pycom.io/tutorials/basic/rgbled/

[2] https://docs.pycom.io/tutorials/networks/lora/lora-mac/

[3] https://docs.pycom.io/tutorials/networks/lora/module-module/

[4] https://docs.pycom.io/firmwareapi/pycom/network/lora/

[5] https://docs.pycom.io/gettingstarted/programming/safeboot/

[6] https://docs.pycom.io/gitbook/assets/specsheets/Pycom_002_Specsheets_LoPy4_v2.pdf

 


											

Robot IA

Envoyé par le 10 Juin 2021 dans Blog, Portfolio, À la une | 0 commentaire

Robot IA – Synthèse du projet CodeV

I – Contexte/Projet/Equipe

 

Dans un monde où la robotique et l’intelligence artificielle sont en plein essor, il est intéressant et nécessaire d’envisager des projets de petite envergure afin d’acquérir les bases de ce domaine, tels que le machine learning. Ce projet consistant à équiper un petit robot motorisé (plateforme JetBot) d’une caméra et lui implanter un code lui permettant de mémoriser et parcourir différents circuits adaptés est alors parfait pour commencer son chemin dans le monde de la robotique et de l’implémentation robotique.

 

Les objectifs du projets sont donc essentiellement de prototyper à taille réduite ce qui pourra par la suite être adapté à taille réelle en voiture autonome, avec un robot capable de se déplacer d’un point A à un point B de manière totalement autonome, tout en analysant son environnement (les panneaux, le marquage au sol…).

 

L’équipe sur le projet est composée de 4 étudiants de FISE A1 : Arthur Didier, Aymen Kallala, Violette Castells et Marianne Bellery. Celle-ci a été guidée et encadrée par Sylvie Kerouedan et Nicolas Farrugia.

 

II – Réalisation

  • Environnement

La création de l’environnement est passée par la conception et l’impression de panneaux. Les visuels ont tous été créés sur PhotoShop dans un style se rapprochant au maximum des panneaux de circulation réels à l’échelle du robot. Ils ont ensuite été imprimés sur du papier collant par les encadrants FabLab. La structure des panneaux a quant à elle été produite sur Tinkercad puis imprimée grâce aux imprimantes 3D du FabLab.

En parallèle le besoin d’avoir une route modulable étant évident, celle-ci à été conçue selon un système de pièces de puzzle. De même les visuels ont été réalisés sur PhotoShop de manière à évoquer clairement une route aux utilisateurs, puis imprimés par le FabLab sur des papiers épais selon un format 50cmx50cm.

 

  • Code

Le code s’est divisé en deux parties distinctes : l’implémentation du suivi de la route et l’implémentation de la reconnaissance des obstacles et limitations. La première permettant au robot d’avancer sur la route en limitant le franchissement des lignes continues blanches. La seconde faisant en sorte que le robot reconnaisse son environnement et agisse en fonction des objets qu’il rencontre. Les types d’objets étant également en deux sous catégories : les obstacles et les panneaux de circulation.

L’implémentation du code est également passée par la collecte de données.

Quant aux obstacle l’architecture de décision finale est la suivante :

 

 

  • Validation

Afin de valider les avancées du projet une liste de tests a été réalisée. Les résultats de celle-ci sont présentés dans le tableau ci-dessous :

III – Composants de l’ensemble environnement + robot

Pour le robot :

Le robot se basera sur la plate-forme Jetbot développée par Nvidia. Avec notamment comme composants ceux du kit JetBot Nano et une batterie.

Pour les pièces puzzles la structure générale est la suivante :

 

IV – Protocole d’utilisation et scénario

Scénario :

L’utilisateur souhaite que le robot se déplace d’un point A à un point B suivant une route avec des contraintes (marquage au sol, panneaux de signalisation…) appelé ici environnement.

  • L’utilisateur pose le robot au sol dans cet environnement au point A. L’utilisateur allume ensuite le robot qui devra alors parcourir le circuit de manière autonome.
  • Si le robot arrive dans une impasse il devra soit faire demi-tour s’il constate un espace suffisant pour l’effectuer ou reculer jusqu’à l’intersection précédente dont le choix a mené à l’impasse afin de prendre une nouvelle route.
  • Lorsque le robot rencontrera un obstacle, si l’espace est suffisant pour passer alors le robot contournera l’obstacle en laissant une distance minimale d’1 cm entre lui et l’obstacle. Si l’espace restant est trop petit alors le robot devra soit faire demi-tour soit reculer jusqu’à l’ancienne intersection comme expliqué précédemment dans le cas de l’impasse.
  • Lorsque le robot arrive au niveau d’un passage piéton il adoptera une vitesse d’avance réduite.
  • Lorsqu’un piéton est sur le passage alors le robot devra s’arrêter à au moins 1 cm du passage piéton.
  • Lorsque le robot rencontre un des 4 panneaux obligatoires, il suivra l’indication.
  • Si un bug de reconnaissance d’obstacle ou de prise de décision par le robot est constaté par l’utilisateur, celui-ci doit l’arrêter et le repositionner 10 cm en amont sur le circuit. Puis il indique par la procédure qui sera développée et donnée dans le mode d’emploi, qu’il y a une erreur afin que l’algorithme d’apprentissage puisse le prendre en compte.
  • Une fois arrivé au point B, le robot s’arrête et l’utilisateur éteint le robot.

 

 

V – Perspectives et pistes d’amélioration

Finalement, ce projet est voué à être transmis et amélioré par de futures équipes. Nous avons effectivement fait en sorte de rentre le code le plus clair possible avec une architecture intuitive pour les différentes parties.

Pour poursuivre ce projet, il faudrait mettre en commun l’ensemble du code (suivi de route et détection des objets), pour que le robot soit capable, sur un circuit complet, à la fois d’éviter les obstacles, de reconnaitre les panneaux et suivre la route. En effet, il est capable de tout faire mais chaque code fonctionne séparément des autres. Cela devra aussi être accompagné d’une amélioration de certains algorithmes afin de garantir un comportement plus robuste et plus juste dans les différents cas d’utilisation.

De plus, on pourrait tenter de remplir les fonctions complémentaires que nous avions évoquées dans le cahier des charges. En particulier, les fonctions liées à l’esthétique du robot, au bruitage ainsi qu’au rajout d’options secondaires vis-à-vis de la circulation du robot sur une route. On pourrait aussi rajouter dans la base de données de nouveaux obstacles et panneaux. Par exemple, on pourrait imaginer rajouter dans la base de données des bonhommes, de différentes tailles et formes modélisant les piétons. On pourrait aussi créer de nouveaux types de panneaux de circulation.

Enfin, il serait aussi intéressant d’améliorer les performances du robot, par exemple, son autonomie ou encore la puissance de ses moteurs.

Objet permettant la visualisation de l’état mer / météo

Envoyé par le 9 Juin 2021 dans Portfolio, Projets, À la une | 1 commentaire

Nous sommes quatre étudiants en FISE A1 d’IMT Atlantique, et nous avons eu comme projet CODEV de réaliser un dispositif permettant de visualiser l’état de la mer et de la météo, au niveau de la plage du Mengam.

Pour cela, nous avons conçu une boîte qui retranscrit de manière imagée et facilement compréhensible les données météorologiques. Le boîte en bois est composée de quatre modules principaux. 

Le premier représente un drapeau qui traduit, par son orientation, la direction du vent, et par son dressage, l’intensité du vent. Pour ce faire, nous avons utilisé des moteurs pas-à-pas ainsi que du matériel fourni par le Téléfab. 

Le deuxième module modélise l’intensité de la houle grâce à un dispositif de 3 niveaux de vagues qui sont éclairées en bleu en fonction de la hauteur réelle de houle. Afin d’imprimer les vagues, nous avons utilisé le logiciel Core-idraw qui est directement lié à la découpe laser du Téléfab. Cette dernière nous a aussi servi à découper dans des planches de peuplier notre boite avec tous les détails souhaités. 

Le troisième module indique s’il fait beau ou s’il pleut, à l’aide d’un soleil et de gouttes de pluie rétro éclairés. Le Téléfab nous a à nouveau fourni les néo pixels et les cartes arduino nécessaires.

Enfin, le quatrième permet d’interpréter toutes les données récupérées depuis internet pour indiquer si l’on peut pratiquer, ou non, un sport nautique (voile, surf ou paddle).

 

Ce projet a été très enrichissant pour nous tous. D’une part, il nous a permis de travailler en groupe pour un client, et par conséquent de découvrir les notions de cahier des charges, de planning et de timing à respecter. D’autre part, nous avons appris à manipuler le matériel du TéléFab (imprimante laser, cartes arduino etc.) ce qui nous resservira pour des projets futurs.

Cyprien, William, Aurélien et Alexandra