{"id":69,"date":"2012-08-13T00:46:04","date_gmt":"2012-08-12T22:46:04","guid":{"rendered":"http:\/\/pepechorva.com\/wordPress\/?p=69"},"modified":"2020-03-29T01:55:23","modified_gmt":"2020-03-29T00:55:23","slug":"domotica","status":"publish","type":"post","link":"https:\/\/pepechorva.com\/myblog\/domotica\/","title":{"rendered":"Dom\u00f3tica"},"content":{"rendered":"<p>Una de las aplicaciones m\u00e1s deseadas por la gente en el mundillo de la electr\u00f3nica es la dom\u00f3tica. Controlar las luces, persianas, el aire acondicionado (los suertudos que teng\u00e1is)\u2026 desde tu propio m\u00f3vil es hoy en d\u00eda una realidad.<!--more--><\/p>\n<p>Utilizando una ethernet shield y un rel\u00e9, podemos construir un portal de control de una casa, en la que pode controlar diferentes variables, podr\u00edamos por ejemplo controlar el enchufe de la TV, y reducir el consumo fantasma debido al Standby.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\/*\n* Servidor web Arduino\n* para controlar un rele desde LAN\n* utilizando una Ethernet Shield\n* basada en el W5100\n* Codigo original en;\n* http:\/\/pastebin.com\/J93LxsRq\n*\/\n\n#include &lt;SPI.h&gt;\n#include &lt;Ethernet.h&gt;\n\nbyte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; \/\/ mac\nbyte ip[] = { 192, 168, 1, 177 }; \/\/ ip lan\nbyte gateway[] = { 192, 168, 1, 1 }; \/\/ router\nbyte subnet[] = { 255, 255, 255, 0 }; \/\/mascara de subred\nEthernetServer server(80);\n\nString readString;\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\nvoid setup(){\n  pinMode(2, OUTPUT); \/\/Pin para control del servo\n  Ethernet.begin(mac, ip, gateway, subnet);\n  server.begin();\n  Serial.begin(9600);\n  Serial.println(\"server LED test 1.0\"); \/\/ debuging\n}\n\nvoid loop(){\n  \/\/ Conexion con cliente\n  EthernetClient client = server.available();\n  if (client) {\n    while (client.connected()) {\n      if (client.available()) {\n        char c = client.read();\n        \/\/HTTP request char a char\n        if (readString.length() &lt; 100) {\n          \/\/buffer\n          readString += c;\n          \/\/Serial.print(c); \/\/debuging\n        }\n        \/\/fin HTTP request\n        if (c == '\\n') {\n          \/\/Serial.println(readString); \/\/debuging\n          client.println(\"HTTP\/1.1 200 OK\"); \/\/new page\n          client.println(\"Content-Type: text\/html\");\n          client.println();\n          client.println(\"&lt;!doctype html public \\\"-\/\/W3C\/\/DTD HTML 4.01 Transitional\/\/EN\\\" \\\"http:\/\/www.w3.org\/TR\/html4\/loose.dtd\\\"&gt;\");\n          client.println(\"&lt;html&gt;\");\n          client.println(\" &lt;head&gt;\");\n          client.println(\" &lt;meta name='apple-mobile-web-app-capable' content='yes' \/&gt;\");\n          client.println(\" &lt;meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' \/&gt;\");\n          client.println(\" &lt;title&gt;DomoDuino&lt;\/title&gt;\");\n          client.println(\" &lt;style type=\\\"text\/css\\\" &gt;\");\n          client.println(\" body {\");\n          client.println(\" margin:50px 0px;\");\n          client.println(\" padding:0px;\");\n          client.println(\" text-align:center;\");\n          client.println(\" }\");\n          client.println(\" h1 {\");\n          client.println(\" text-align: center;\");\n          client.println(\" font-family:\\\"Trebuchet MS\\\",Arial, Helvetica, sans-serif;\");\n          client.println(\" }\");\n          client.println(\" a {\");\n          client.println(\" text-decoration:none;\");\n          client.println(\" width:75px;\");\n          client.println(\" height:50px;\");\n          client.println(\" border-color:black;\");\n          client.println(\" border-top:2px solid;\");\n          client.println(\" border-bottom:2px solid;\");\n          client.println(\" border-right:2px solid;\");\n          client.println(\" border-left:2px solid;\");\n          client.println(\" border-radius:10px 10px 10px;\");\n          client.println(\" -o-border-radius:10px 10px 10px;\");\n          client.println(\" -webkit-border-radius:10px 10px 10px;\");\n          client.println(\" font-family:\\\"Trebuchet MS\\\",Arial, Helvetica, sans-serif;\");\n          client.println(\" -moz-border-radius:10px 10px 10px;\");\n          client.println(\" background-color:#525252;\");\n          client.println(\" padding:8px;\");\n          client.println(\" text-align:center;\");\n          client.println(\" }\");\n          client.println(\" a:link {color:white;} \/* unvisited link *\/\");\n          client.println(\" a:visited {color:white;} \/* visited link *\/\");\n          client.println(\" a:hover {color:white;} \/* mouse over link *\/\");\n          client.println(\" a:active {color:white;} \/* selected link *\/\");\n          client.println(\" &lt;\/style&gt;\");\n          client.println(\" &lt;\/head&gt;\");\n          client.println(\" &lt;body&gt;\");\n          client.println(\" &lt;h1&gt;Home Automation&lt;\/h1&gt;\");\n          client.println(\" &lt;hr \/&gt;\");\n            client.println(\" &lt;br \/&gt;\");\n          client.println(\" &lt;a href=\\\"\/?lighton\\\"&gt;Turn On Light&lt;\/a&gt;&lt;a href=\\\"\/?lightoff\\\"&gt;Turn Off Light&lt;\/a&gt;\");\n          client.println(\" &lt;\/body&gt;\");\n          client.println(\"&lt;\/html&gt;\");\n          delay(1);\n          \/\/stopping client\n          client.stop();\n          \/* control arduino pin*\/\n          if(readString.indexOf(\"?lighton\") &gt;0){\/\/ on\n          digitalWrite(2, HIGH);\n          Serial.println(\"Led On\");\n          }\n          else{\n            if(readString.indexOf(\"?lightoff\") &gt;0){\/\/ off\n              digitalWrite(2 , LOW);\n              Serial.println(\"Led Off\");\n            }\n          }\n          \/\/Limpiar buffer\n          readString=\"\";\n        }\n      }\n    }\n  }\n}<\/pre>\n<p>Con este c\u00f3digo, podemos conectar un rel\u00e9 al pin 2 de nuestro arduino y encender un flexo, como hicimos en la Inforgames de Tor\u00e1s (Castell\u00f3n).<\/p>\n<p>Este c\u00f3digo est\u00e1 sacado de un enlace a <a href=\"https:\/\/pastebin.com\/J93LxsRq\">pastebin<\/a>, la web de donde lo saqu\u00e9 no est\u00e1 operativa y me da un error de malware.<\/p>\n<figure id=\"attachment_78\" aria-describedby=\"caption-attachment-78\" style=\"width: 290px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/pepechorva.com\/myblog\/wp-content\/uploads\/2012\/08\/domoduino.jpg\"><img fetchpriority=\"high\" decoding=\"async\" class=\"size-medium wp-image-78\" title=\"domoduino\" src=\"http:\/\/pepechorva.com\/myblog\/wp-content\/uploads\/2012\/08\/domoduino-300x300.jpg\" alt=\"Domoduino atacado por una mantis\" width=\"300\" height=\"300\" srcset=\"https:\/\/pepechorva.com\/myblog\/wp-content\/uploads\/2012\/08\/domoduino-300x300.jpg 300w, https:\/\/pepechorva.com\/myblog\/wp-content\/uploads\/2012\/08\/domoduino-150x150.jpg 150w, https:\/\/pepechorva.com\/myblog\/wp-content\/uploads\/2012\/08\/domoduino.jpg 612w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-78\" class=\"wp-caption-text\">Arduino con ethernet shield controlando un flexo con un rel\u00e9. La mantis se uni\u00f3 a la fiesta, posando como una reina xD<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Una de las aplicaciones m\u00e1s deseadas por la gente en el mundillo de la electr\u00f3nica es la dom\u00f3tica. Controlar las luces, persianas, el aire acondicionado (los suertudos que teng\u00e1is)\u2026 desde tu propio m\u00f3vil es hoy en d\u00eda una realidad.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,18,8,9],"tags":[26,29,30,31,34,36],"class_list":["post-69","post","type-post","status-publish","format-standard","hentry","category-cat-arduino","category-cat-codigoc","category-cat-codigo","category-cat-proyectos","tag-arduino","tag-diy","tag-domotica","tag-electronica","tag-s5-codigo","tag-web"],"_links":{"self":[{"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/posts\/69","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/comments?post=69"}],"version-history":[{"count":6,"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/posts\/69\/revisions"}],"predecessor-version":[{"id":401,"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/posts\/69\/revisions\/401"}],"wp:attachment":[{"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/media?parent=69"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/categories?post=69"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pepechorva.com\/myblog\/wp-json\/wp\/v2\/tags?post=69"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}