{"id":1383,"date":"2018-11-30T14:46:30","date_gmt":"2018-11-30T19:46:30","guid":{"rendered":"https:\/\/espacerm.com\/webgen\/?page_id=1383"},"modified":"2019-03-15T21:50:44","modified_gmt":"2019-03-16T02:50:44","slug":"controleur-multifonctionnel-elabore-autour-du-esp32-devkit-v1-doit-3-2","status":"publish","type":"page","link":"https:\/\/espacerm.com\/webgen\/controleur-multifonctionnel-elabore-autour-du-esp32-devkit-v1-doit-3-2\/","title":{"rendered":"Contr\u00f4leur multifonctionnel \u00e9labor\u00e9 autour du ESP32 DEVKIT V1 DOIT (4 de 4)"},"content":{"rendered":"\n<p><strong>La programmation <\/strong><\/p>\n\n\n\n<p><strong>Op\u00e9ration du relais, lecture du d\u00e9tecteur de rayon laser et du bouton de d\u00e9clenchement du relais<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/11\/DSC_2841-Modifier-Modifier.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"684\" src=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/11\/DSC_2841-Modifier-Modifier-1024x684.jpg\" alt=\"\" class=\"wp-image-1392\" srcset=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/11\/DSC_2841-Modifier-Modifier-1024x684.jpg 1024w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/11\/DSC_2841-Modifier-Modifier-300x200.jpg 300w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/11\/DSC_2841-Modifier-Modifier-768x513.jpg 768w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/11\/DSC_2841-Modifier-Modifier.jpg 1618w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Le transistor qui contr\u00f4le le relais est reli\u00e9 sur le GPIO <em>32<\/em><br><em>&nbsp;&nbsp; #define pinDeclencheur 32<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>Le <a rel=\"noreferrer noopener\" aria-label=\"Le d\u00e9tecteur de rayon laser est reli\u00e9 sur le GPIO 13\n&nbsp; &nbsp; #define&nbsp;D\u00e9tecteurLaser 13 (ouverture dans un nouvel onglet)\" href=\"https:\/\/www.banggood.com\/2Pcs-Laser-Receiver-Non-modulator-Tube-Sensor-Module-For-Arduino-p-944603.html?rmmds=search&amp;cur_warehouse=CN\" target=\"_blank\">d\u00e9tecteur<\/a> de rayon <a rel=\"noreferrer noopener\" aria-label=\"Le d\u00e9tecteur de rayon laser est reli\u00e9 sur le GPIO 13\n&nbsp; &nbsp; #define&nbsp;D\u00e9tecteurLaser 13 (ouverture dans un nouvel onglet)\" href=\"https:\/\/www.banggood.com\/KY008-Laser-Transmitter-Module-For-Arduino-AVR-PIC-p-931238.html?rmmds=detail-left-hotproducts__7&amp;cur_warehouse=CN\" target=\"_blank\">laser<\/a> est reli\u00e9 sur le GPIO <em>13<\/em><br><em>&nbsp; &nbsp; #define pinDetecteurLaser 13<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>Un <a rel=\"noreferrer noopener\" aria-label=\"Un interrupteur \u00e0 action momentan\u00e9e est reli\u00e9 sur le GPIO 25. Le contact se ferme en appuyant sur le bouton, il s'ouvre lorsqu'il est rel\u00e2ch\u00e9.\n&nbsp; &nbsp; #define&nbsp;BoutonD\u00e9clencheur 25 (ouverture dans un nouvel onglet)\" href=\"http:\/\/www.sonelec-musique.com\/electronique_theorie_commutateur.html\" target=\"_blank\">interrupteur \u00e0 action momentan\u00e9e<\/a> est reli\u00e9 sur le GPIO <em>25<\/em>. Le contact se ferme en appuyant sur le bouton, il s&rsquo;ouvre lorsqu&rsquo;il est rel\u00e2ch\u00e9.<br><em>&nbsp; &nbsp; #define pinBoutonDeclencheur 25<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>La variable \u00abetatDetecteurLaser\u00bb<em>&nbsp;<\/em>de type bool\u00e9enne est d\u00e9finie. Nous y garderons l&rsquo;\u00e9tat du d\u00e9tecteur laser (1 vrai ou 0 faux)&nbsp;<br><em>&nbsp; &nbsp;boolean etatDetecteurLaser;<\/em> <\/p>\n\n\n\n<p><em>&nbsp;<\/em>La variable \u00abetatBtnDeclencheur\u00bb de type bool\u00e9enne est d\u00e9finie. Nous y garderons l&rsquo;\u00e9tat du bouton d\u00e9clencheur (1 vrai ou 0 faux)&nbsp;<br><em>&nbsp; &nbsp; boolean etatBtnDeclencheur;<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>La variable \u00abdelaiDeReaction\u00bb de type enti\u00e8re est d\u00e9finie. Nous y garderons un nombre qui servira pour d\u00e9caler l&rsquo;enclenchement du relais par rapport \u00e0 la d\u00e9tection d&rsquo;un signal de d\u00e9clenchement<br><em>&nbsp; &nbsp; int delaiDeReaction = 0;<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>La variable \u00abtempsRelaisActif\u00bb de type enti\u00e8re est d\u00e9finie. Nous y garderons un nombre qui servira pour \u00e9tablir la dur\u00e9e d&rsquo;activation du relais<br><em>&nbsp; &nbsp; int tempsRelaisActif = 1000; \/\/ Dur\u00e9e d&rsquo;activation du relais en milliseconde<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>La variable \u00abdelaiAvantRetour\u00bb de type enti\u00e8re est d\u00e9finie. Nous y garderons un nombre qui servira pour \u00e9tablir le d\u00e9lai avant de retourner suivre l&rsquo;\u00e9tat des d\u00e9tecteurs. Pour le d\u00e9clenchement d&rsquo;appareil photo ce d\u00e9lai doit \u00eatre plus grand que le temps d&rsquo;exposition.<br><em>&nbsp; &nbsp; int delaiAvantRetour = 1000; \/\/ D\u00e9lai en milliseconde avant de retourner suivre l&rsquo;\u00e9tat des d\u00e9tecteurs<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">setup()<\/h3>\n\n\n\n<p><em>&nbsp;<\/em>D\u00e9finition du GPIO 32 en sortie<br><em>&nbsp; &nbsp; &nbsp;pinMode(pinDeclencheur, OUTPUT );<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>Mets la sortie GPIO 32 \u00e0 BAS<br>&nbsp; &nbsp; <em>digitalWrite(pinDeclencheur, LOW);<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>D\u00e9finition du GPIO 13 en entr\u00e9e digitale<br><em>&nbsp; &nbsp; &nbsp;pinMode(pinDetecteurLaser, INPUT);<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>D\u00e9finition du GPIO 25 en entr\u00e9e digitale et activation de la <a rel=\"noreferrer noopener\" aria-label=\"D\u00e9finition du GPIO 25 en entr\u00e9e digitale et activation de la r\u00e9sistance interne de pullup sur le 3 volt.\n&nbsp; &nbsp; &nbsp;pinMode(BoutonD\u00e9clencheur, INPUT_PULLUP);  (ouverture dans un nouvel onglet)\" href=\"https:\/\/espacerm.com\/webgen\/resistance-de-pull-up-et-de-pulldown\/\" target=\"_blank\">r\u00e9sistance interne de pull-up<\/a> sur le 3.3 volts.<br><em>&nbsp; &nbsp; &nbsp;pinMode(pinBoutonDeclencheur, INPUT_PULLUP);<\/em> <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">loop()<\/h3>\n\n\n\n<p><em>&nbsp;<\/em>Transfert l&rsquo;\u00e9tat du d\u00e9tecteur laser dans la variable \u00abetatDetecteurLaser\u00bb<br><em>&nbsp; &nbsp; &nbsp;etatDetecteurLaser = digitalRead(pinDetecteurLaser);<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>Transfert l&rsquo;\u00e9tat du bouton d\u00e9clencheur dans la variable \u00abetatBtnDeclencheur\u00bb<br><em>&nbsp; &nbsp; &nbsp;etatBtnDeclencheur = digitalRead(pinBoutonDeclencheur);<\/em><\/p>\n\n\n\n<p><em>&nbsp;<\/em>Si l&rsquo;\u00e9tat du d\u00e9tecteur laser est 0 (faisceau coup\u00e9) ex\u00e9cute la fonction de d\u00e9clenchement du relais<br><em>&nbsp; &nbsp; if (!etatDetecteurLaser) {;&nbsp; \/\/ si l&rsquo;\u00e9tat du d\u00e9tecteur est 0 (faisceau coup\u00e9)<br>&nbsp; &nbsp; &nbsp; &nbsp; declencheRelais();<\/em><br>&nbsp; &nbsp; }<\/p>\n\n\n\n<p><em>&nbsp;<\/em>Si l&rsquo;\u00e9tat du bouton est 0 (interrupteur enfonc\u00e9) ex\u00e9cute la fonction de d\u00e9clenchement du relais<br><em>&nbsp; &nbsp; if (!etatBtnDeclencheur) {; \/\/ si l&rsquo;\u00e9tat du bouton est 0 (enfonc\u00e9)<br>&nbsp; &nbsp; &nbsp; &nbsp; declencheRelais();<\/em><br>&nbsp; &nbsp; }<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fonction<\/h3>\n\n\n\n<p>Fonction \u00abdeclencheRelais\u00bb. Le relais est d\u00e9clench\u00e9, attente de X seconde, le relais est rel\u00e2ch\u00e9, attente de X seconde avant de retourner voir l&rsquo;\u00e9tat des d\u00e9tecteurs.<br><em>&nbsp; &nbsp; void declencheRelais(){<br>&nbsp; &nbsp; &nbsp; &nbsp; <\/em>digitalWrite( pinDeclencheur, HIGH);  \/\/ D\u00e9clenche le relais&nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; delay(tempsRelaisActif); \/\/ Attente en milliseconde&nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite( pinDeclencheur, LOW);   \/\/ Rel\u00e2che le relais<br>&nbsp; &nbsp; &nbsp; &nbsp; delay(delaiAvantRetour); \/\/ Attente en milliseconde<br>&nbsp; &nbsp; }<br> <\/p>\n\n\n\n<p><strong>Le circuit en action<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"ESP32 DEVKIT MONT\u00c9 EN D\u00c9CLENCHEUR DE RELAIS\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/d65Nl7BtkJM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>Montage de tests<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/test-relais_02.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"825\" src=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/test-relais_02.jpg\" alt=\"\" class=\"wp-image-1490\" srcset=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/test-relais_02.jpg 800w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/test-relais_02-291x300.jpg 291w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/test-relais_02-768x792.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/relais_test_09.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"678\" src=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/relais_test_09-1024x678.jpg\" alt=\"\" class=\"wp-image-1498\" srcset=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/relais_test_09-1024x678.jpg 1024w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/relais_test_09-300x199.jpg 300w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/relais_test_09-768x508.jpg 768w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2018\/12\/relais_test_09.jpg 1041w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Declencheur Appareil_Photo_01 :<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/rcepmorel\/Declencheur-Appareil_Photo_01\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (ouverture dans un nouvel onglet)\">https:\/\/github.com\/rcepmorel\/Declencheur-Appareil_Photo_01<\/a><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/*D\u00c9CLENCHEUR D'APPAREIL PHOTO ET DE FLASHS\n* \n* Auteur : Richard Morel\n*     2018-11-09\n* \n* Modification\n*     2018-11-17\n*     - Mesure du voltage d'entr\u00e9e\n*     - Ajout du clignotement de la DEL bleue\n*       Reli\u00e9 sur la broche D33\n*    2018-11-30\n*     - Ajout du d\u00e9clencheur de relais\n*       Reli\u00e9 sur le GPIO 32\n*     - Ajout du d\u00e9tecteur du rayon laser pour d\u00e9clencher le relais\n*       sur la coupure du faisceau\n*       Reli\u00e9 sur la GPIO 13\n*     - Ajout d'un interrupteur pour d\u00e9clencher le relais\n*       Reli\u00e9 sur la GPIO 25\n*     - La DEL bleue suit l'\u00e9tat du d\u00e9tecteur laser\n*\/\n\nconst int DELBLEUE = 33; \/\/ DEL bleue reli\u00e9e au GPIO33\n\n#include &lt;driver\/adc.h>   \n\/\/ADC1_CHANNEL_7 D35 35\n\nfloat VoltMesure = 0;\nfloat vpeDvValmx_0DB = 1.1\/4095; \/\/ 12 bits de r\u00e9solution\nfloat vvpeDvValmx_2_5DB = 1.5\/4095;\nfloat vpeDvValmx_6DB = 2.0\/4095;\nfloat vpeDvValmx_11DB = 3.9\/4095;\n\n\/\/ valeur r\u00e9elle diviser par VoltMesure lorsque calibrationDiviseurTSN \u00e9gal \u00e0 1\nfloat calibrationDiviseurTSN = 7.99\/8.70;     \n\n\/\/ valeur r\u00e9elle diviser par VoltMesure lorsque calibrationDiviseurTsn \u00e9gal \u00e0 1\nfloat calibrationDiviseurTsnTrtPolyn = 7.99\/8.07; \n\n#define pinDeclencheur 32        \/\/ D\u00e9clenche le relais ( Relais contact NO )\n#define pinDetecteurLaser 13     \/\/ D\u00e9tecte une MALT \u00e0 l'entr\u00e9e D13\n#define pinBoutonDeclencheur 25  \/\/ D\u00e9tecte une MALT \u00e0 l'entr\u00e9e D25\n\nboolean etatDetecteurLaser; \nboolean etatBtnDeclencheur; \n\nint delaiDeReaction = 0;\nint tempsRelaisActif = 1000; \/\/ Dur\u00e9e d'activation du relais en milliseconde\nint delaiAvantRetour = 1000; \/\/ D\u00e9lai en milliseconde avant de retourner suivre l'\u00e9tat des d\u00e9tecteurs\n\n\/\/ ----------------------------------------------------------------------------- \n\/\/ FONCTION  FONCTION   FONCTION    FONCTION    FONCTION    FONCTION    FONCTION\n\/\/ ----------------------------------------------------------------------------- \n\nvoid declencheRelais(){\n  digitalWrite(pinDeclencheur, HIGH);  \/\/ D\u00e9clenche le relais\n  delay(tempsRelaisActif); \/\/ Attente en milliseconde \n  digitalWrite(pinDeclencheur, LOW);   \/\/ Rel\u00e2che le relais\n  delay(delaiAvantRetour); \/\/ Attente en milliseconde                    \n}\n\n\/\/ ----------------------------------------------------------------------------- \n\/\/ SETUP   SETUP   SETUP   SETUP   SETUP   SETUP   SETUP   SETUP   SETUP\n\/\/ ----------------------------------------------------------------------------- \nvoid setup() {\n  Serial.begin(9600);\n  \n  pinMode(DELBLEUE, OUTPUT);\n\n  pinMode(pinDeclencheur, OUTPUT );\n  digitalWrite(pinDeclencheur, LOW);\n\n  pinMode(pinDetecteurLaser, INPUT);\n  pinMode(pinBoutonDeclencheur, INPUT_PULLUP);   \/\/ active la r\u00e9sistance de pull-up interne sur le +3v\n\n  \n  \/\/ ***** Configuration pour faire des mesures sur D35 (voltage de la source d'alimentation) ******\n  adc1_config_width(ADC_WIDTH_BIT_12); \/\/ D\u00e9finie la r\u00e9solution (0 \u00e0 4095)\n  \n\n  adc1_config_channel_atten(ADC1_CHANNEL_7,ADC_ATTEN_DB_11); \/\/Le voltage maximum au GPIO est de 3.3V\n\n  Serial.println(\"PR\u00caT\");\n}\n\n\/\/ ----------------------------------------------------------------------------- \n\/\/ LOOP     LOOP     LOOP     LOOP     LOOP     LOOP     LOOP     LOOP     LOOP \n\/\/ ----------------------------------------------------------------------------- \nvoid loop() {\n  etatDetecteurLaser = digitalRead(pinDetecteurLaser);\n  etatBtnDeclencheur = digitalRead(pinBoutonDeclencheur);\n  digitalWrite(DELBLEUE, etatDetecteurLaser); \n\n  if (!etatDetecteurLaser){; \/\/ si l'\u00e9tat du d\u00e9tecteur est 0 (faisceau coup\u00e9)\n    delay(delaiDeReaction); \/\/ d\u00e9lai avant d'activer le relais (en milliseconde)\n    \/\/delayMicroseconds(delaiDeReaction); \/\/ d\u00e9lai avant d'activer le relais (en microseconde)\n    declencheRelais();\n  }\n  \n  if (!etatBtnDeclencheur){; \/\/ si l'\u00e9tat du bouton est 0\n    declencheRelais();\n  }\n\n \n  \/\/ M\u00e9thode de G6EJD  (applicable si l'att\u00e9nuation est 11dB et la r\u00e9solution est 12 bits)\n  float reading = analogRead(35);\n  float VoltAlimCtrlReduitTrtPolyn = -0.000000000000016 * pow(reading,4) + 0.000000000118171 * pow(reading,3)- 0.000000301211691 * pow(reading,2)+ 0.001109019271794 * reading + 0.034143524634089;\n  float VoltMesureTrtPolyn = VoltAlimCtrlReduitTrtPolyn*122\/22; \/\/ Diviseur de tension 100K, 22K\n  VoltMesureTrtPolyn = VoltMesureTrtPolyn*calibrationDiviseurTsnTrtPolyn; \/\/ correction due aux valeurs impr\u00e9cises du diviseur de tension\n  \n \/\/ Serial.print(reading);Serial.print(\" DigitalValueVoltAlimCtrl \");Serial.print(VoltAlimCtrlReduitTrtPolyn);Serial.print(\" VoltAlimCtrlReduit  \");\n \/\/ Serial.print(VoltMesureTrtPolyn);Serial.println(\" VoltMesure\"); \n \/\/ Serial.println(\" \"); \n\n  Serial.print(etatDetecteurLaser);\n  Serial.print(\" \u00c9tat d\u00e9tecteur Laser,\");\n  Serial.print(etatBtnDeclencheur);\n  Serial.print(\" \u00c9tat Interrupteur,\");\n  Serial.print(VoltMesureTrtPolyn);\n  Serial.println(\" Voltage d'alimentation,\");\n\n  \n}\n<\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<table class=\"wp-block-table\"><tbody><tr><td><a href=\"https:\/\/espacerm.com\/webgen\/controleur-multifonctionnel-elabore-autour-du-esp32-devkit-v1-doit-3\/\">&lt;-<\/a><strong><a href=\"https:\/\/espacerm.com\/webgen\/controleur-multifonctionnel-elabore-autour-du-esp32-devkit-v1-doit-3\/\">Contr\u00f4leur multifonctionnel \u00e9labor\u00e9 autour du ESP32 DEVKIT V1 DOIT (3 de 4)<\/a><\/strong><\/td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/td><td><strong><a href=\"https:\/\/espacerm.com\/webgen\/linterface-web\/\">L\u2019interface Web du d\u00e9clencheur de relais&nbsp;-&gt;<\/a><\/strong><\/td><\/tr><\/tbody><\/table>\n","protected":false},"excerpt":{"rendered":"<p>La programmation Op\u00e9ration du relais, lecture du d\u00e9tecteur de rayon laser et du bouton de d\u00e9clenchement du relais Le transistor qui contr\u00f4le le relais est reli\u00e9 sur le GPIO 32&nbsp;&nbsp; #define pinDeclencheur 32 &nbsp;Le d\u00e9tecteur de rayon laser est reli\u00e9 sur le GPIO 13&nbsp; &nbsp; #define pinDetecteurLaser 13 &nbsp;Un interrupteur \u00e0 action momentan\u00e9e est reli\u00e9 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/pages\/1383"}],"collection":[{"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/comments?post=1383"}],"version-history":[{"count":79,"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/pages\/1383\/revisions"}],"predecessor-version":[{"id":3401,"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/pages\/1383\/revisions\/3401"}],"wp:attachment":[{"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/media?parent=1383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}