{"id":2522,"date":"2020-04-16T11:46:35","date_gmt":"2020-04-16T09:46:35","guid":{"rendered":"http:\/\/www.ardpylab.fr\/?page_id=2522"},"modified":"2020-05-10T16:42:10","modified_gmt":"2020-05-10T14:42:10","slug":"envoi-de-donnees","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=2522","title":{"rendered":"Envoi de donn\u00e9es"},"content":{"rendered":"\n<h2 style=\"text-align: center;\"><em><strong>(du moniteur s\u00e9rie vers l\u2019Arduino)<\/strong><\/em><\/h2>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>L\u2019Arduino peut \u00e9galement recevoir des donn\u00e9es depuis le moniteur s\u00e9rie.<\/p>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #0000ff;\"><strong><a id=\"env1\"><\/a>. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/caractere.zip\" data-wplink-url-error=\"true\"><u>Programme pour la r\u00e9ception d\u2019un caract\u00e8re par l&rsquo;Arduino<\/u>&nbsp;<\/a><br><br><\/strong><\/span><\/h4>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/codes\/ino\/Caractere\/Caractere.ino\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"757\" height=\"300\" class=\"wp-image-2525 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms10.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms10.png 757w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms10-300x119.png 300w\" sizes=\"auto, (max-width: 757px) 100vw, 757px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<p><br>Dans ce programme, on demande \u00e0 l\u2019utilisateur de saisir un caract\u00e8re dans le moniteur s\u00e9rie. <br>Une fois, la saisie effectu\u00e9e, le nombre d&rsquo;octets (caract\u00e8res) disponible pour lecture dans la file d&rsquo;attente du port s\u00e9rie n\u2019est plus nul (<strong>Serial.available() &gt; 0<\/strong><strong>)<\/strong>, le caract\u00e8re envoy\u00e9 est alors lu \u00e0 l\u2019aide de la fonction \u201d<strong>read()\u201d <\/strong>et stock\u00e9 dans la variable \u201d<strong>c\u201d<\/strong>&nbsp;d\u00e9finie comme \u00e9tant un caract\u00e8re.<\/p>\n<p>La variable \u201d<strong>c\u201d<\/strong>&nbsp;est alors affich\u00e9e dans le moniteur s\u00e9rie&nbsp;:<br><br><\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"356\" class=\"wp-image-2527 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms11.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms11.png 561w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms11-300x190.png 300w\" sizes=\"auto, (max-width: 561px) 100vw, 561px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p><strong><u>Remarques<\/u><\/strong><strong>&nbsp;:<\/strong><\/p>\n<p>&#8211; L\u2019instruction <strong>\u201dchar c\u201d<\/strong> d\u00e9clare une variable, <strong>\u201dc\u201d<\/strong>&nbsp;d\u2019un octet de m\u00e9moire (8 bits) qui contient une valeur correspondant \u00e0 un caract\u00e8re. Les caract\u00e8res uniques sont \u00e9crits entre des guillemets simples, comme ceci&nbsp;: <strong>&lsquo;A&rsquo;<\/strong><\/p>\n<p>&#8211; Les caract\u00e8res sont stock\u00e9s de la m\u00eame fa\u00e7on que les nombres : \u00e0 chaque caract\u00e8re correspond une valeur num\u00e9rique comprise entre 0 et 127 (code ASCII). Ceci signifie \u00e9galement qu&rsquo;il est possible de faire des op\u00e9rations sur les caract\u00e8res, dans lesquelles la valeur ASCII du caract\u00e8re est utilis\u00e9e (par exemple &lsquo;A&rsquo;+1 a la valeur 66, car la valeur ASCII de la lettre capitale A est 65).<\/p>\n<p>&#8211; Si la donn\u00e9e envoy\u00e9e contient plus d\u2019un caract\u00e8re (par exemple, le nombre \u00ab\u00a0123\u00a0\u00bb), la donn\u00e9e est consid\u00e9r\u00e9e comme une suite de 3 caract\u00e8res qui seront affich\u00e9s \u00e0 la suite tant que la fonction \u201d<strong>Serial.available()\u201d<\/strong>&nbsp;retournera une valeur non nulle.<\/p>\n<p>&#8211; Dans le code ASCII, chaque caract\u00e8re est cod\u00e9 sous 7 bits (valeur num\u00e9rique comprise entre 0 et 127 en d\u00e9cimal) et les accents ne sont pas pris en charge. <br>C\u2019est pourquoi, les messages affich\u00e9s dans le moniteur s\u00e9rie, par l\u2019instruction \u201d<strong>Serial.print()\u201d<\/strong>, sont envoy\u00e9s sans les accents (\u201dcaractere\u201d sans le \u201d\u00e8\u201d), sinon voici ce qui est affich\u00e9 :<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"110\" class=\"wp-image-2534 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms12.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms12.png 561w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms12-300x59.png 300w\" sizes=\"auto, (max-width: 561px) 100vw, 561px\" \/><\/figure>\n<\/div>\n\n\n\n<p><br>&#8211; Le code ASCII (American Standard Code for Information Interchange) est la fa\u00e7on standard de coder un texte num\u00e9riquement&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"715\" height=\"488\" class=\"wp-image-2536 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms13.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms13.png 715w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms13-300x205.png 300w\" sizes=\"auto, (max-width: 715px) 100vw, 715px\" \/><\/figure>\n<\/div>\n\n\n\n<p><br>Le code ASCII ne contient pas de caract\u00e8res accentu\u00e9s parce qu\u2019il a \u00e9t\u00e9 mis au point pour la langue anglaise. Pour coder ce type de caract\u00e8re, il faut recourir \u00e0 un autre code. Le code ASCII a donc \u00e9t\u00e9 \u00e9tendu \u00e0 8 bits (un octet) pour pouvoir coder plus de caract\u00e8res (on parle d&rsquo;ailleurs de code ASCII \u00e9tendu&#8230;).<\/p>\n<p>Ce code attribue les valeurs 0 \u00e0 255 aux lettres majuscules et minuscules, aux chiffres, aux marques de ponctuation et aux autres symboles&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"573\" height=\"335\" class=\"wp-image-2537 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms14.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms14.png 573w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms14-300x175.png 300w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>&#8211; il est possible d\u2019afficher des caract\u00e8res avec accent dans le moniteur s\u00e9rie en ajoutant une fonction aux programmes Arduino&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-table\">\n<table style=\"width: 100%; height: 21px;\">\n<tbody>\n<tr style=\"height: 21px;\">\n<td style=\"height: 21px; padding-left: 40px;\" bgcolor=\"#FFFFCC\">\n<p><span style=\"color: #000000;\">void PrintAccents(String TEXTE, boolean CR) {<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp; int CAR;<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp; for (byte I=0; I &lt; TEXTE.length(); I++) {<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (byte (TEXTE[I]) == 195)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {CAR = int(TEXTE[++I]);<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch (CAR) {<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -68 : {Serial.print(char (252)); break;} <span style=\"color: #808080;\">\/\/ \u00fc<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -69 : {Serial.print(char (251)); break;} <span style=\"color: #808080;\">\/\/ \u00fb<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -71 : {Serial.print(char (249)); break;}<span style=\"color: #808080;\"> \/\/ \u00f9<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -74 : {Serial.print(char (246)); break;} <span style=\"color: #808080;\">\/\/ \u00f6<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -76 : {Serial.print(char (244)); break;}<span style=\"color: #808080;\"> \/\/ \u00f4<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -81 : {Serial.print(char (239)); break;} <span style=\"color: #808080;\">\/\/ \u00ef<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -82 : {Serial.print(char (238)); break;} <span style=\"color: #808080;\">\/\/ \u00ee<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -85 : {Serial.print(char (235)); break;} <span style=\"color: #808080;\">\/\/ \u00eb<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -86 : {Serial.print(char (234)); break;} <span style=\"color: #808080;\">\/\/ \u00ea<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -87 : {Serial.print(char (233)); break;}<span style=\"color: #808080;\"> \/\/ \u00e9<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -88 : {Serial.print(char (232)); break;} <span style=\"color: #808080;\">\/\/ \u00e8<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -89 : {Serial.print(char (231)); break;} <span style=\"color: #808080;\">\/\/ \u00e7&nbsp;&nbsp;<\/span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -92 : {Serial.print(char (228)); break;} <span style=\"color: #808080;\">\/\/ \u00e4<\/span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -94 : {Serial.print(char (226)); break;} <span style=\"color: #808080;\">\/\/ \u00e2<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -96 : {Serial.print(char (224)); break;} <span style=\"color: #808080;\">\/\/ \u00e0&nbsp;&nbsp;<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -126 : {Serial.print(char (194)); break;} <span style=\"color: #808080;\">\/\/ \u00c2<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -128 : {Serial.print(char (192)); break;} <span style=\"color: #808080;\">\/\/ \u00c0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -108 : {Serial.print(char (212)); break;} <span style=\"color: #808080;\">\/\/ \u00d4<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -114 : {Serial.print(char (206)); break;} <span style=\"color: #808080;\">\/\/ \u00ce<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -118 : {Serial.print(char (202)); break;} <span style=\"color: #808080;\">\/\/ \u00ca<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -119 : {Serial.print(char (201)); break;} <span style=\"color: #808080;\">\/\/ \u00c9&nbsp;<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -120 : {Serial.print(char (200)); break;} <span style=\"color: #808080;\">\/\/ \u00c8&nbsp;<\/span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case -121 : {Serial.print(char (199)); break;}}} <span style=\"color: #808080;\">\/\/ \u00c7<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else Serial.print(TEXTE[I]);}<\/span><\/p>\n<p><span style=\"color: #000000;\">&nbsp; if (CR) Serial.println(); }<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n\n\n\n<p>Et d\u2019utiliser la fonction <strong>\u201dPrintAccents()\u201d<\/strong> \u00e0 la place de <strong>\u201dSerial.Print()\u201d<\/strong>&nbsp;pour afficher un message comportant des accents dans le moniteur s\u00e9rie.<br><br><\/p>\n<p>En fait pour l\u2019Arduino, les caract\u00e8res, qu\u2019ils soient accentu\u00e9s ou pas, sont cod\u00e9s sur 8 bits de mani\u00e8re sign\u00e9e, c\u2019est-\u00e0-dire de -127 \u00e0 127 en d\u00e9cimale, alors que dans le code ASCII \u00e9tendu, Les caract\u00e8res accentu\u00e9s sont cod\u00e9s de 128 \u00e0 255.<\/p>\n<p>La fonction <strong>\u201dPrintAccents()\u201d<\/strong> va analyser chaque caract\u00e8re de la chaine qui doit \u00eatre envoy\u00e9e dans le moniteur s\u00e9rie, \u00e0 l\u2019aide d\u2019une boucle <strong>\u201d<\/strong><strong>for\u201d<\/strong>. Si le caract\u00e8re n\u2019est pas accentu\u00e9, il est affich\u00e9 tel quel, sinon (<strong>\u201d<\/strong> <strong>if (byte (TEXTE[I]) == 195)<\/strong> <strong>\u201d<\/strong>) en fonction de la valeur de sa conversion en nombre d\u00e9cimal (<strong>\u201d<\/strong><strong>CAR = int(TEXTE[++I])<\/strong> <strong>\u201d<\/strong>), on affiche le caract\u00e8re correspondant en utilisant son code en ASCII \u00e9tendu (de 128 \u00e0 255).<\/p>\n<p>Un retour \u00e0 la ligne est effectu\u00e9 si la valeur de CR est \u00e9gale \u00e0 1.<br><br><\/p>\n<p><u>Exemple (programme \u201d<a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/accents.zip\" data-wplink-url-error=\"true\">Accents.ino<\/a><strong>\u201d<\/strong>)<\/u> :<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/codes\/ino\/Accents\/Accents.ino\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"764\" height=\"894\" class=\"wp-image-2543 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms15.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms15.png 764w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms15-256x300.png 256w\" sizes=\"auto, (max-width: 764px) 100vw, 764px\" \/><\/a><\/figure>\n<\/div>\n<p><span style=\"text-decoration: underline;\">R\u00e9sultat dans le moniteur s\u00e9rie<\/span>&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"560\" height=\"106\" class=\"wp-image-2557 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms15b.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms15b.png 560w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms15b-300x57.png 300w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/figure>\n\n\n\n<p><span style=\"text-decoration: underline;\"><br>Edit<\/span>:<\/p>\n<p>Avec les nouvelles version du logiciel <strong>Arduino IDE <\/strong>(\u00e0 partir de 1.8.10), il est maintenant possible d&rsquo;afficher des messages avec des accents dans le moniteur s\u00e9rie:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"468\" height=\"125\" class=\"wp-image-2545 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms16.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms16.png 468w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms16-300x80.png 300w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure>\n<\/div>\n<p>Et la fonction \u00ab\u00a0<strong>PrintAccents()<\/strong>\u00a0\u00bb ne peut donc \u00eatre utilis\u00e9e qu\u2019avec les versions pr\u00e9c\u00e9dentes du logiciel <strong>Arduino IDE <\/strong>(fonction test\u00e9e avec la version 1.8.1).<\/p>\n\n\n\n<p>&nbsp;<\/p>\n<h4><strong><u><a id=\"prog\"><\/a>E<\/u><u>xemple d\u2019application du programme de r\u00e9ception d\u2019un caract\u00e8re<\/u>&nbsp;:<\/strong><\/h4>\n<p>Avec notre <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2497\/#circuit\" data-wplink-url-error=\"true\">circuit<\/a>, support des exemples d\u2019application, le programme nomm\u00e9 \u00ab\u00a0<a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/ledrvb.zip\" data-wplink-url-error=\"true\"><strong>LedRVB.ino<\/strong><\/a>\u00a0\u00bb qui sera t\u00e9l\u00e9vers\u00e9 dans la m\u00e9moire de l\u2019Arduino demande \u00e0 l\u2019utilisateur de saisir un caract\u00e8re :<\/p>\n<p style=\"padding-left: 40px;\">. \u2018<strong>R<\/strong>\u2019, \u2018<strong>V<\/strong>\u2019 ou \u2018<strong>B<\/strong>\u2019 pour allumer respectivement la DEL rouge, verte ou bleue<\/p>\n<p style=\"padding-left: 40px;\">. \u2018<strong>0<\/strong>\u2019 pour \u00e9teindre les DELs<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"924\" height=\"500\" class=\"wp-image-2500 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms5.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms5.png 924w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms5-300x162.png 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms5-768x416.png 768w\" sizes=\"auto, (max-width: 924px) 100vw, 924px\" \/><\/figure>\n<\/div>\n<p>Le caract\u00e8re envoy\u00e9 est lu et l\u2019action correspondante est effectu\u00e9e. Le programme ne fait rien si le caract\u00e8re lu n\u2019est pas un des caract\u00e8res attendus.<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/codes\/ino\/LedRVB\/LedRVB.ino\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"658\" height=\"1024\" class=\"wp-image-2552 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms17-658x1024.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms17-658x1024.png 658w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms17-193x300.png 193w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms17.png 760w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><\/a><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<h4><span style=\"color: #0000ff;\"><strong><a id=\"env2\"><\/a>. <u>Programme pour la r\u00e9ception d\u2019une chaine de caract\u00e8res<\/u><span style=\"text-decoration: underline;\"> par l&rsquo;Arduino<br><br><\/span><\/strong><\/span><\/h4>\n\n\n\n<p>Les chaines de caract\u00e8res sont repr\u00e9sent\u00e9es sous la forme de tableau de variables de type \u201d<strong>char\u201d<\/strong> se terminant par un caract\u00e8re nul (code ASCII <strong>0<\/strong>, \u00e0 distinguer du &lsquo;<strong>0<\/strong>&lsquo; qui a le code ASCII <strong>48<\/strong>) et permettant ainsi \u00e0 la fonction \u201d<strong>Serial.print()\u201d<\/strong>&nbsp;de savoir o\u00f9 se termine la cha\u00eene de caract\u00e8res&nbsp;<\/p>\n<p><u>Exemples<\/u>&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-table\">\n<table style=\"width: 100%; height: 21px;\">\n<tbody>\n<tr style=\"height: 21px;\">\n<td style=\"height: 21px; padding-left: 40px;\" bgcolor=\"#FFFFCC\">\n<p><span style=\"color: #000000;\">char Str1[15];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: #808080;\">\/\/ D\u00e9clare un tableau de 15 caract\u00e8res sans l&rsquo;initialiser &nbsp; &nbsp; &nbsp;&nbsp;<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">char Str2[8] = {&lsquo;a&rsquo;, &lsquo;r&rsquo;, &lsquo;d&rsquo;, &lsquo;u&rsquo;, &lsquo;i&rsquo;, &lsquo;n&rsquo;, &lsquo;o&rsquo;};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=\"color: #808080;\">\/\/D\u00e9clare un tableau de caract\u00e8res (avec un caract\u00e8re suppl\u00e9mentaire non utilis\u00e9) et le compilateur ajoutera le caract\u00e8re nul requis<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">char Str3[8] = {&lsquo;a&rsquo;, &lsquo;r&rsquo;, &lsquo;d&rsquo;, &lsquo;u&rsquo;, &lsquo;i&rsquo;, &lsquo;n&rsquo;, &lsquo;o&rsquo;, &lsquo;\u0000&rsquo;};&nbsp;&nbsp;<span style=\"color: #808080;\"> \/\/Idem, mais en d\u00e9clarant explicitement le caract\u00e8re nul<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">char Str4[ ] = \u00ab\u00a0arduino\u00a0\u00bb;&nbsp; &nbsp; &nbsp; <span style=\"color: #808080;\">\/\/ D\u00e9clare un tableau de caract\u00e8res initialis\u00e9 avec une cha\u00eene de caract\u00e8re constante entre guillemets doubles : le compilateur dimensionnera le tableau pour stocker la cha\u00eene de caract\u00e8re constante et le caract\u00e8re nul terminal<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">char Str5[8] = \u00ab\u00a0arduino\u00a0\u00bb;&nbsp; &nbsp; \/<span style=\"color: #808080;\">\/D\u00e9clare un tableau de caract\u00e8res initialis\u00e9 avec une taille explicite et une cha\u00eene de caract\u00e8re constante (avec un caract\u00e8re suppl\u00e9mentaire non utilis\u00e9) et le compilateur ajoutera le caract\u00e8re nul requis<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n\n\n\n<p>La r\u00e9ception d\u2019une chaine de caract\u00e8res envoy\u00e9e depuis le moniteur s\u00e9rie, peut \u00eatre consid\u00e9r\u00e9 comme un envoi successif de caract\u00e8res uniques que l\u2019on peut stocker dans un tableau de caract\u00e8res afin de reconstituer la chaine.<\/p>\n<p>Le programme nomm\u00e9 \u201d<a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/chaines.zip\" data-wplink-url-error=\"true\">Chaines.ino<\/a>\u201d ci-dessous effectue cette reconstitution :<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/codes\/ino\/Chaines\/Chaines.ino\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"765\" height=\"510\" class=\"wp-image-2566 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms18.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms18.png 765w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms18-300x200.png 300w\" sizes=\"auto, (max-width: 765px) 100vw, 765px\" \/><\/a><\/figure>\n<\/div>\n<p>Dans ce programme, il est demand\u00e9 de saisir une chaine de caract\u00e8res. <br>Tant que le nombre de caract\u00e8res disponibles sur le port s\u00e9rie est nul (<strong>Val==0<\/strong>), la m\u00e9moire tampon du port s\u00e9rie est v\u00e9rifi\u00e9e (<strong>Val=Serial.available()<\/strong>), toutes les 200 ms, jusqu\u2019\u00e0 ce que tous les caract\u00e8res de la chaine soient comptabilis\u00e9s. <br>Ceux-ci sont alors lu un par un \u00e0 travers une boucle \u00ab\u00a0<strong>for<\/strong>\u00a0\u00bb (<strong>tampon[i]=Serial.read()<\/strong>) et sont stock\u00e9s dans un tableau de 20 caract\u00e8res au maximum appel\u00e9 \u00ab\u00a0<strong>tampon<\/strong>\u00a0\u00bb qui est ensuite affich\u00e9 dans le moniteur s\u00e9rie. <br>Puis la m\u00e9moire du port s\u00e9rie est vid\u00e9e et il est de nouveau demander de saisir une chaine de caract\u00e8res.<\/p>\n<p>Voici le r\u00e9sultat dans le moniteur s\u00e9rie&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"562\" height=\"357\" class=\"wp-image-2570 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms19.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms19.png 562w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms19-300x191.png 300w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>Une autre m\u00e9thode pour recevoir une chaine de caract\u00e8res depuis le moniteur s\u00e9rie est d\u2019utiliser la fonction <strong>\u201d<\/strong><strong>readString()\u201d<\/strong> qui lit les caract\u00e8res contenus dans la m\u00e9moire tampon du port s\u00e9rie et retourne une chaine de caract\u00e8re. Au-del\u00e0, d\u2019un certain temps (par d\u00e9faut, 1 s), la fonction se termine. Le temps d\u2019attente pour recevoir les donn\u00e9es peut \u00eatre r\u00e9gl\u00e9 avec la fonction <strong>\u201d<\/strong><strong>setTimeout()\u201d<\/strong>\u00a0en ms.<\/p>\n<p><a id=\"prog2\"><\/a>Par exemple, dans ce nouveau programme nomm\u00e9 <strong>\u201d<a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/readstring.zip\" data-wplink-url-error=\"true\">ReadString.ino<\/a>\u201d<\/strong>, toujours avec le m\u00eame circuit, on va maintenant demander \u00e0 l\u2019utilisateur d\u2019envoyer un message. Si le message est <strong>\u201d<\/strong><strong>ON\u201d<\/strong>, la DEL rouge s\u2019allume, et si c\u2019est <strong>\u201d<\/strong><strong>OFF\u201d<\/strong>, la DEL rouge s\u2019\u00e9teint.<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/moniteur-serie\/codes\/ino\/ReadString\/ReadString.ino\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"754\" height=\"597\" class=\"wp-image-2582 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms20.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms20.png 754w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms20-300x238.png 300w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><\/a><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p><strong><u>Remarques<\/u><\/strong><strong>&nbsp;:<\/strong><\/p>\n<p>&#8211; Contrairement aux caract\u00e8res uniques (variable de type \u201d<strong>char\u201d<\/strong>) qui sont \u00e9crit entre des guillemets simples (<strong>\u2018A\u2019<\/strong>), les chaines de caract\u00e8res sont \u00e9crites entre des doubles guillemets (\u201d<strong>ABC\u201d<\/strong>).<\/p>\n<p>&#8211; L\u2019instruction \u201d <strong>String msg=\u201d\u201d; \u201d<\/strong>d\u00e9clare une variable \u201d<strong>chaine de caract\u00e8res\u201d<\/strong>&nbsp;initialement vide.<\/p>\n<p>&#8211; les objets <strong>String<\/strong> sont des instances de la classe <strong>String()<\/strong>, qui est int\u00e9gr\u00e9e au logiciel Arduino depuis la version 0019 et qui permet d&rsquo;utiliser et de manipuler des cha\u00eenes de caract\u00e8res.<br><br><\/p>\n<p>Tous les exemples suivants sont des d\u00e9clarations valides pour une nouvelle instance String :<\/p>\n\n\n\n<figure class=\"wp-block-table\">\n<table style=\"width: 100%; height: 39px;\">\n<tbody>\n<tr style=\"height: 21px;\">\n<td style=\"height: 21px; padding-left: 40px;\" bgcolor=\"#FFFFCC\">\n<p><span style=\"color: #000000;\">String stringOne = \u201dHello String\u201d; <span style=\"color: #808080;\">\/\/ en utilisant une cha\u00eene de caract\u00e8res<\/span><\/span><br><br><span style=\"color: #000000;\">String stringOne = String(&lsquo;a&rsquo;); <span style=\"color: #808080;\">\/\/ conversion d&rsquo;un caract\u00e8re simple en objet String<\/span> <br><br>String stringTwo = String(\u201dThis is a string\u201d); <span style=\"color: #808080;\">\/\/ conversion d&rsquo;une cha\u00eene de caract\u00e8re en objet String <\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">String stringOne = String(stringTwo + \u201d with more\u201d); <span style=\"color: #808080;\">\/\/ concat\u00e9nation d&rsquo;un objet String et d&rsquo;une cha\u00eene<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">String stringOne = String(13); <span style=\"color: #808080;\">\/\/ conversion d&rsquo;un nombre en base 10 par d\u00e9faut<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">String stringOne = String(analogRead(0), DEC); <span style=\"color: #808080;\">\/\/ conversion d&rsquo;une valeur int en base 10<\/span><br><\/span><br><span style=\"color: #000000;\">String stringOne = String(45, HEX); <span style=\"color: #808080;\">\/\/ conversion de la valeur 45 en base hexadecimale<\/span><br><\/span><br><span style=\"color: #000000;\">String stringOne = String(255, BIN); <span style=\"color: #808080;\">\/\/ conversion de la valeur 255 en base binaire<\/span><br><\/span><br><span style=\"color: #000000;\">String stringOne = String(millis(), DEC); \/<span style=\"color: #808080;\">\/ conversion d&rsquo;une valeur long en base 10<\/span><br><\/span><br><span style=\"color: #000000;\">String monString=char(65); <span style=\"color: #808080;\">\/\/ ajoute le caract\u00e8re &lsquo;A&rsquo; au String \u00e0 partir du code ASCII 65<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n\n\n\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n\n\n<div  class=\"grids-section grids-is-stretch\" style=\"--_gs-gap-desktop:0px 0px;--_gs-m-desktop:0 0 0 0;--_gs-p-desktop:0 0 0 0;--_gs-bg-desktop:transparent none;--_gs-bg-xp-desktop:0px;--_gs-zi-desktop:auto;--_gs-d-desktop:block;--_gs-mw-desktop:calc(100% - 0 - 0);--_gs-gap-tablet:0px 0px;--_gs-m-tablet:0 0 0 0;--_gs-p-tablet:0 0 0 0;--_gs-bg-tablet:transparent none;--_gs-bg-xp-tablet:0px;--_gs-zi-tablet:auto;--_gs-d-tablet:block;--_gs-mw-tablet:calc(100% - 0 - 0);--_gs-gap-mobile:0px 0px;--_gs-m-mobile:0 0 0 0;--_gs-p-mobile:0 0 0 0;--_gs-bg-mobile:transparent none;--_gs-bg-xp-mobile:0px;--_gs-zi-mobile:auto;--_gs-d-mobile:block;--_gs-mw-mobile:calc(100% - 0 - 0);--_gs-columns:2;--_gs-rows:1\"><div class=\"grids-s-w_i\">\n<div class=\"grids-area\" style=\"--_ga-column:1\/2;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignleft size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2497\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/moins.jpg\" alt=\"\" class=\"wp-image-107\"\/><\/a><\/figure><\/div>\n\n<\/div>\n\n<div class=\"grids-area\" style=\"--_ga-column:2\/3;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2587\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/plus.jpg\" alt=\"\" class=\"wp-image-106\"\/><\/a><\/figure><\/div>\n\n<\/div>\n<\/div><\/div>\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>(du moniteur s\u00e9rie vers l\u2019Arduino) &nbsp; &nbsp; L\u2019Arduino peut \u00e9galement recevoir des donn\u00e9es depuis le moniteur s\u00e9rie. &nbsp; . Programme pour la r\u00e9ception d\u2019un caract\u00e8re par l&rsquo;Arduino&nbsp; Dans ce programme, on demande \u00e0 l\u2019utilisateur de saisir un caract\u00e8re dans le moniteur s\u00e9rie. Une fois, la saisie effectu\u00e9e, le nombre d&rsquo;octets (caract\u00e8res) disponible pour lecture dans [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2522","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/2522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2522"}],"version-history":[{"count":0,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/2522\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}