{"id":105,"date":"2014-01-11T14:02:46","date_gmt":"2014-01-11T13:02:46","guid":{"rendered":"http:\/\/wordpress.igua.es\/?p=105"},"modified":"2014-01-11T14:04:03","modified_gmt":"2014-01-11T13:04:03","slug":"control-domotico-con-arduino","status":"publish","type":"post","link":"https:\/\/wordpress.igua.es\/index.php\/2014\/01\/11\/control-domotico-con-arduino\/","title":{"rendered":"Control dom\u00f3tico con Arduino"},"content":{"rendered":"<p>Muy buenas! Hoy vamos a ver c\u00f3mo podemos realizar un peque\u00f1o y sencillo proyecto de control dom\u00f3tico con el Arduino, en primer lugar vamos a ver los componentes necesarios para el tutorial:<\/p>\n<ol>\n<li>Placa Arduino Uno Rev 3.<\/li>\n<li>Shield Ethernet.<\/li>\n<li>Placa de Rel\u00e9 de 250V 10A.<\/li>\n<li>Kit de PLC (Opcional, eso nos permite que no se vean los cables de red en el shield de Ethernet).<\/li>\n<li>Terminaci\u00f3n de conector a red el\u00e9ctrica.<\/li>\n<li>Cables varios.<\/li>\n<\/ol>\n<p><!--more--><\/p>\n<p>En primer lugar vamos a usar la terminaci\u00f3n de conector a red el\u00e9ctrica para ponerle los cables y dejarlo ya cerrado de tal forma que lo podamos atornillar a la placa de reles, de tal forma que quedar\u00e1 como en la imagen:<\/p>\n<p><a href=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4642.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-109\" alt=\"Terminaci\u00f3n con Rel\u00e9\" src=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4642-300x225.jpg\" width=\"300\" height=\"225\" srcset=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4642-300x225.jpg 300w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4642-1024x768.jpg 1024w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4642-400x300.jpg 400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Y ahora conectamos la placa del rel\u00e9 con el arduino para ponerle la masa, los 5v y el cable de control, en mi programa he usado el pin 2 para realizar esta tarea.<\/p>\n<p><a href=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4646.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-113\" alt=\"Reles con Arduino\" src=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4646-300x225.jpg\" width=\"300\" height=\"225\" srcset=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4646-300x225.jpg 300w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4646-1024x768.jpg 1024w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4646-400x300.jpg 400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Ahora ya tenemos todo el montaje realizado, ahora vamos a ver el programa fuente para realizar la gesti\u00f3n de todo. Yo he usado la librer\u00eda de Webduino para que fuera m\u00e1s f\u00e1cil la gesti\u00f3n web.<\/p>\n<pre class=\"brush: php; title: C\u00f3digo:; notranslate\" title=\"C\u00f3digo:\">\r\n\/*--------------------------------------------------------------\r\n  Program:      IguaHouse\r\n\r\n  Description:  Servidor Web protegido mediante contrase\u00f1a\r\n                para controlar una salida de Luz\r\n\r\n  Hardware:     - Arduino Uno y una shield de Ethernet.\r\n                - Una placa de reles conectada al arduino en\r\n                 el pin 2 y GND\r\n\r\n  Software:     Desarrollado usando el IDE 1.0.5 y la\r\n                libreria de Webduino\r\n\r\n  References:   - Foro de Arduino\r\n                - Documentacion de Webduino\r\n\r\n  Date:         26 Diciembre del 2013\r\n\r\n  Author:       Arturo Igualada http:\/\/wordpress.igua.es\r\n--------------------------------------------------------------*\/\r\n\r\n\/* you can change the authentication realm by defining\r\n * WEBDUINO_AUTH_REALM before including WebServer.h *\/\r\n#define WEBDUINO_AUTH_REALM &quot;Igua Private Site&quot;\r\n\r\n#define Host_name &quot;Igua&quot;\r\n\r\n#include &quot;SPI.h&quot;\r\n#include &quot;Ethernet.h&quot;\r\n#include &quot;WebServer.h&quot;\r\n\r\n\/* CHANGE THIS TO YOUR OWN UNIQUE VALUE.  The MAC number should be\r\n * different from any other devices on your network or you'll have\r\n * problems receiving packets. *\/\r\nbyte mac&#x5B;] = { 0x16, 0x16, 0x16, 0x16, 0x16, 0x01 };\r\n\r\n\/* CHANGE THIS TO MATCH YOUR HOST NETWORK.  Most home networks are in\r\n * the 192.168.0.XXX or 192.168.1.XXX subrange.  Pick an address\r\n * that's not in use and isn't going to be automatically allocated by\r\n * DHCP from your router. *\/\r\nIPAddress ip(172,27,0,15);\r\nIPAddress gateway(172,27,0,1);\r\nIPAddress subnet(255, 255, 255, 0);\r\n\r\n\/* This creates an instance of the webserver.  By specifying a prefix\r\n * of &quot;&quot;, all pages will be at the root of the server. *\/\r\n#define PREFIX &quot;&quot;\r\nWebServer webserver(PREFIX, 80);\r\n\r\nboolean LED_status = 0;   \/\/ state of LED, off by default\r\n\r\n\/\/ ROM-based messages used by the application\r\n\/\/ These are needed to avoid having the strings use up our limited\r\n\/\/ amount of RAM.\r\n\r\nP(Page_start) = &quot;&lt;html&gt;&lt;head&gt;&lt;title&gt;ManchiHouse&lt;\/title&gt;&lt;\/head&gt;&lt;body&gt;\\n&quot;;\r\nP(Page_end) = &quot;&lt;\/body&gt;&lt;\/html&gt;&quot;;\r\nP(Get_head) = &quot;&lt;h1&gt;GET from &quot;;\r\nP(Post_head) = &quot;&lt;h1&gt;POST to &quot;;\r\nP(Unknown_head) = &quot;&lt;h1&gt;UNKNOWN request for &quot;;\r\nP(Default_head) = &quot;unidentified URL requested.&lt;\/h1&gt;&lt;br&gt;\\n&quot;;\r\nP(Line_break) = &quot;&lt;br&gt;\\n&quot;;\r\nP(Form_Inicio) = &quot;&lt;form method=\\&quot;get\\&quot;&gt;&quot;;\r\nP(Form_Final) = &quot;&lt;\/form&gt;&quot;;\r\n\r\n#define NAMELEN 32\r\n#define VALUELEN 32\r\n\r\nString GetParam(String ParamName, WebServer &amp;server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)\r\n{\r\n  URLPARAM_RESULT rc;\r\n  char name&#x5B;NAMELEN];\r\n  char value&#x5B;VALUELEN];\r\n  String ReturnParam = &quot;&quot;;\r\n  if (strlen(url_tail))\r\n    {\r\n    while (strlen(url_tail))\r\n      {\r\n      rc = server.nextURLparam(&amp;url_tail, name, NAMELEN, value, VALUELEN);\r\n      if (rc != URLPARAM_EOS &amp;&amp; String(name) == ParamName)\r\n        {\r\n        ReturnParam = value;\r\n        }\r\n      }\r\n    }\r\n  if (type == WebServer::POST)\r\n  {\r\n    while (server.readPOSTparam(name, NAMELEN, value, VALUELEN))\r\n    {\r\n      if (String(name) == ParamName)\r\n      {\r\n        ReturnParam = value;\r\n      }\r\n    }\r\n  }\r\n\r\n  return ReturnParam;\r\n}\r\n\r\n\/\/Se mira la query para ver si se ha de activar o desactivar la linea\r\nString ProcesarCheckbox(String Estado)\r\n{\r\n  LED_status = 0;\r\n  if (Estado == &quot;1&quot;)\r\n  {\r\n    LED_status = true;\r\n  }\r\n\r\n    if (LED_status) {    \/\/ switch LED on\r\n        digitalWrite(2, HIGH);\r\n        \/\/ checkbox is checked\r\n        return &quot;&lt;input type=\\&quot;checkbox\\&quot; name=\\&quot;Luz\\&quot; value=\\&quot;1\\&quot; onclick=\\&quot;submit();\\&quot; checked&gt;Apagar Luz&quot;;\r\n    }\r\n    else {              \/\/ switch LED off\r\n        digitalWrite(2, LOW);\r\n        \/\/ checkbox is unchecked\r\n        return &quot;&lt;input type=\\&quot;checkbox\\&quot; name=\\&quot;Luz\\&quot; value=\\&quot;1\\&quot; onclick=\\&quot;submit();\\&quot;&gt;Encender Luz&quot;;\r\n    }\r\n}\r\n\r\nvoid indexCmd(WebServer &amp;server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)\r\n{\r\n  server.httpSuccess();\r\n  if (type != WebServer::HEAD)\r\n  {\r\n    P(Saludo) = &quot;&lt;h1&gt;Bienvenido a IGUA!&lt;\/h1&gt;&lt;a href=\\&quot;control.html\\&quot;&gt;Acceder&lt;\/a&gt;&quot;;\r\n    server.printP(Saludo);\r\n  }\r\n}\r\n\r\nvoid controlCmd(WebServer &amp;server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)\r\n{\r\n  \/* if the user has requested this page using the following credentials\r\n   * username = user\r\n   * password = user\r\n   * display a page saying &quot;Hello User&quot;\r\n   *\r\n   * the credentials have to be concatenated with a colon like\r\n   * username:password\r\n   * and encoded using Base64 - this should be done outside of your Arduino\r\n   * to be easy on your resources\r\n   *\r\n   * in other words: &quot;YWRtaW46YWRtaW4=&quot; is the Base64 representation of &quot;admin:admin&quot;\r\n   *\r\n   * if you need to change the username\/password dynamically please search\r\n   * the web for a Base64 library *\/\r\n  if (server.checkCredentials(&quot;YWRtaW46YWRtaW4=&quot;))\r\n  {\r\n    server.httpSuccess();\r\n    String Estado = GetParam(&quot;Luz&quot;, server, type, url_tail, tail_complete);\r\n\r\n    if (type != WebServer::HEAD)\r\n    {\r\n      P(Control_Head) = &quot;&lt;h1&gt;Bienvenido al control de IGUA&lt;\/h1&gt;&lt;p&gt;Indica si deseas encender o apagar la luz&lt;\/p&gt;&quot;;\r\n\r\n      server.printP(Control_Head);\r\n      server.printP(Form_Inicio);\r\n      server.println(ProcesarCheckbox(Estado));\r\n      server.printP(Form_Final);\r\n    }\r\n  }\r\n  else\r\n  {\r\n    Serial.println(&quot;No valido&quot;);\r\n    \/* send a 401 error back causing the web browser to prompt the user for credentials *\/\r\n    server.httpUnauthorized();\r\n  }\r\n}\r\n\r\nvoid failCmd(WebServer &amp;server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)\r\n{\r\n  \/\/this line sends the &quot;HTTP 400 - Bad Request&quot; headers back to the browser\r\n  server.httpFail();\r\n\r\n   \/* if we're handling a GET or POST, we can output our data here.\r\n    For a HEAD request, we just stop after outputting headers. *\/\r\n    if (type== WebServer::HEAD)\r\n    {\r\n      return;\r\n    }\r\n\r\n    server.printP(Page_start);\r\n\r\n    switch(type)\r\n    {\r\n      case WebServer::GET:\r\n      {\r\n        server.printP(Get_head);\r\n        break;\r\n      }\r\n      case WebServer::POST:\r\n      {\r\n        server.printP(Post_head);\r\n        break;\r\n      }\r\n      default:\r\n      {\r\n        server.printP(Unknown_head);\r\n      }\r\n    }\r\n    server.printP(Default_head);\r\n    server.print(url_tail);\r\n    server.printP(Page_end);\r\n\r\n}\r\n\r\nvoid setup()\r\n{\r\n  Serial.begin(9600);\r\n  Serial.println(&quot;Iniciado&quot;);\r\n\r\n  \/* initialize the Ethernet adapter *\/\r\n  \/\/Ethernet.begin(mac, ip, gateway, subnet);\r\n\r\n  Serial.println(&quot;Trying to get an IP address using DHCP&quot;);\r\n  if (Ethernet.begin(mac) == 0) {\r\n    Serial.println(&quot;Failed to configure Ethernet using DHCP&quot;);\r\n    \/\/ initialize the ethernet device not using DHCP:\r\n    Ethernet.begin(mac, ip, gateway, subnet);\r\n  }\r\n  \/\/ print your local IP address:\r\n  Serial.print(&quot;My IP address: &quot;);\r\n  ip = Ethernet.localIP();\r\n  for (byte thisByte = 0; thisByte &lt; 4; thisByte++) {\r\n    \/\/ print the value of each byte of the IP address:\r\n    Serial.print(ip&#x5B;thisByte], DEC);\r\n    Serial.print(&quot;.&quot;);\r\n  }\r\n  Serial.println();\r\n\r\n  \/* setup our default command that will be run when the user accesses\r\n  * the root page on the server *\/\r\n  webserver.setDefaultCommand(&amp;indexCmd);\r\n\r\n  \/* setup our default command that will be run when the user accesses\r\n  * a page NOT on the server *\/\r\n  \/\/webserver.setFailureCommand(&amp;failCmd);\r\n\r\n  \/* run the same command if you try to load \/index.html, a common\r\n  * default page name *\/\r\n  webserver.addCommand(&quot;index.html&quot;, &amp;indexCmd);\r\n\r\n  webserver.addCommand(&quot;control.html&quot;, &amp;controlCmd);\r\n\r\n  \/* start the webserver *\/\r\n  webserver.begin();\r\n\r\n  \/*Indicamos que el PIN 2 ser\u00e1 de salida\r\n  * para nosotros es donde estar\u00e1 el cable de Luz *\/\r\n  pinMode(2, OUTPUT);\r\n}\r\n\r\nvoid loop()\r\n{\r\n  char buff&#x5B;64];\r\n  int len = 64;\r\n\r\n  \/* process incoming connections one at a time forever *\/\r\n  webserver.processConnection(buff, &amp;len);\r\n}\r\n<\/pre>\n<p>Una vez realizado todo ya podemos ponerle algo al enchufe y controlarlo mediante nuestro sencillo servidor web. Para que quedara todo m\u00e1s recogido, personalmente lo he metido en una caja cerrada donde solo saco los cables necesarios.<\/p>\n<p><a href=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4647.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-114\" alt=\"Circuito Cerrado\" src=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4647-300x225.jpg\" width=\"300\" height=\"225\" srcset=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4647-300x225.jpg 300w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4647-1024x768.jpg 1024w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4647-400x300.jpg 400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nVideo en funcionamiento: <a title=\"Video\" href=\"http:\/\/sdrv.ms\/KSMefR\" target=\"_blank\">Video<\/a>.<\/p>\n<p>Espero que les haya gustado.<\/p>\n\n\t\t<style type=\"text\/css\">\n\t\t\t#gallery-1 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t\t#gallery-1 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t\/* see gallery_shortcode() in wp-includes\/media.php *\/\n\t\t<\/style>\n\t\t<div id='gallery-1' class='gallery galleryid-105 gallery-columns-3 gallery-size-thumbnail'><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/wordpress.igua.es\/index.php\/2014\/01\/11\/control-domotico-con-arduino\/imgp4641\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4641-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-108\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-108'>\n\t\t\t\tReles\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/wordpress.igua.es\/index.php\/2014\/01\/11\/control-domotico-con-arduino\/imgp4642\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4642-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-109\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-109'>\n\t\t\t\tInicio\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/wordpress.igua.es\/index.php\/2014\/01\/11\/control-domotico-con-arduino\/imgp4643\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4643-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-110\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-110'>\n\t\t\t\tPraparativos\n\t\t\t\t<\/dd><\/dl><br style=\"clear: both\" \/><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/wordpress.igua.es\/index.php\/2014\/01\/11\/control-domotico-con-arduino\/imgp4646\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4646-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-113\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-113'>\n\t\t\t\tInterconexi\u00f3n\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/wordpress.igua.es\/index.php\/2014\/01\/11\/control-domotico-con-arduino\/imgp4645\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4645-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-112\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-112'>\n\t\t\t\tArduino y Shield\n\t\t\t\t<\/dd><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/wordpress.igua.es\/index.php\/2014\/01\/11\/control-domotico-con-arduino\/imgp4647\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2014\/01\/IMGP4647-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-114\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-114'>\n\t\t\t\tFinal\n\t\t\t\t<\/dd><\/dl><br style=\"clear: both\" \/>\n\t\t<\/div>\n\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Muy buenas! Hoy vamos a ver c\u00f3mo podemos realizar un peque\u00f1o y sencillo proyecto de control dom\u00f3tico con el Arduino, en primer lugar vamos a ver los componentes necesarios para el tutorial: Placa Arduino Uno Rev 3. Shield Ethernet. Placa &hellip; <a href=\"https:\/\/wordpress.igua.es\/index.php\/2014\/01\/11\/control-domotico-con-arduino\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":113,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[18],"class_list":["post-105","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","tag-domotica"],"_links":{"self":[{"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/posts\/105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/comments?post=105"}],"version-history":[{"count":5,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/posts\/105\/revisions"}],"predecessor-version":[{"id":118,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/posts\/105\/revisions\/118"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/media\/113"}],"wp:attachment":[{"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/media?parent=105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/categories?post=105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/tags?post=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}