{"id":168,"date":"2016-03-20T22:47:41","date_gmt":"2016-03-20T21:47:41","guid":{"rendered":"http:\/\/wordpress.igua.es\/?p=168"},"modified":"2016-03-19T10:48:15","modified_gmt":"2016-03-19T09:48:15","slug":"control-domotico-con-raspberry-pi","status":"publish","type":"post","link":"https:\/\/wordpress.igua.es\/index.php\/2016\/03\/20\/control-domotico-con-raspberry-pi\/","title":{"rendered":"Control dom\u00f3tico con Raspberry Pi"},"content":{"rendered":"<p>Tras el proyecto de control dom\u00f3tico con Arduino ha pasado un tiempo, y ahora me gustar\u00eda hacerlo m\u00e1s seguro y m\u00e1s bonito. En este punto las capacidades de Arduino me fallan un poco y es por lo que me he decidido migrar el proyecto a Raspberry Pi, para lo que voy a utilizar WordPress para todo el interfaz y gesti\u00f3n de usuarios, de esta forma se facilita la gesti\u00f3n de acceso a encender y apagar el rel\u00e9.<\/p>\n<p><!--more--><\/p>\n<p>La migraci\u00f3n es bastante sencilla ya que vamos a cambiar el Arduino por la Raspberry Pi, conectando la toma de los 5V y la masa a los que provee la Raspberry y la toma de control la voy a colocar en el Pin 18. Tras esto yo he unido la placa de rel\u00e9 con la Raspberry con cinta aislante y queda as\u00ed:<\/p>\n<p><a href=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0398.jpg\" rel=\"attachment wp-att-172\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-172 aligncenter\" src=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0398-300x169.jpg\" alt=\"RPiDomotico03\" width=\"300\" height=\"169\" srcset=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0398-300x169.jpg 300w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0398-768x432.jpg 768w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0398-1024x576.jpg 1024w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0398-500x281.jpg 500w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0399.jpg\" rel=\"attachment wp-att-173\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-173 aligncenter\" src=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0399-300x169.jpg\" alt=\"RPiDomotico02\" width=\"300\" height=\"169\" srcset=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0399-300x169.jpg 300w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0399-768x432.jpg 768w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0399-1024x576.jpg 1024w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0399-500x281.jpg 500w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0400.jpg\" rel=\"attachment wp-att-174\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-174 aligncenter\" src=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0400-300x169.jpg\" alt=\"RPiDomotico01\" width=\"300\" height=\"169\" srcset=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0400-300x169.jpg 300w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0400-768x432.jpg 768w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0400-1024x576.jpg 1024w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/DSC_0400-500x281.jpg 500w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Una vez que ya tenemos montado el hardware vamos a comenzar con el software. En primer lugar vamos a comenzar por instalar WordPress, PHP y MySQL. Dado que hay muchos tutoriales sobre esto, no voy a entrar en detalles, como ejemplo puedes seguir el que indico a continuaci\u00f3n pero como digo da igual cual sigas, ya que al final lo que hay que tener es un WordPress totalmente operativo.<\/p>\n<p>Instalar WordPress &#8211;&gt; <a href=\"https:\/\/www.raspberrypi.org\/learning\/lamp-web-server-with-wordpress\/\" target=\"_blank\">https:\/\/www.raspberrypi.org\/learning\/lamp-web-server-with-wordpress\/<\/a><\/p>\n<p>Ahora es el turno de instalar el software para poder controlar las entradas de la Raspberry, yo he optado por el proyecto <a href=\"http:\/\/wiringpi.com\/\" target=\"_blank\">wiringPi<\/a>, para ello solo hay que seguir los pasos que hay <a href=\"http:\/\/wiringpi.com\/download-and-install\/\" target=\"_blank\">aqu\u00ed<\/a>.<\/p>\n<p>Por \u00faltimo, nos queda buscar alg\u00fan frontend que nos sirva de ayuda, yo me he basado en el proyecto <a href=\"https:\/\/code.google.com\/archive\/p\/raspberrypi-gpio\/\" target=\"_blank\">https:\/\/code.google.com\/archive\/p\/raspberrypi-gpio\/<\/a> para esto, si ten\u00e9is curiosidad le pod\u00e9is echar un vistazo. Desde mi punto de vista lo que le falla es el tema de la seguridad y prefiera que sea wordpress el que se encargue de la gesti\u00f3n de usuarios. En este proyecto vamos a ejecutar el gpio.sql en nuestra Raspberry para preparar la BBDD con los datos que usaremos luego en WordPress, adem\u00e1s las im\u00e1genes las tenemos que guardar en la ra\u00edz de nuestro WordPress.<\/p>\n<p>Ahora que lo tenemos todo vamos a preparar una plantilla de WordPress con la integraci\u00f3n del frontend que hemos visto, para ello hay que elegir la plantilla que m\u00e1s te guste y copiarla con otro nombre. Para hacer la copia puedes usar WinSCP para entrar en la Raspberry y tratarla como si fuera un FTP. Las plantillas est\u00e1n en \u00ab\/wp-content\/themes\u00bb. Una vez copiada vamos a seleccionarla en WordPress para que sea nuestra plantilla activa, haciendo esto evitamos que si modificamos una de las que te vienen por defecto en una actualizaci\u00f3n de WordPress perdamos nuestras modificaciones ( y s\u00ed, lo digo por experiencia)<\/p>\n<p>Ahora entramos en la carpeta de nuestra plantilla copiada (yo la llam\u00e9 GPIO), y vamos a crear una plantilla de p\u00e1gina (que tambi\u00e9n llam\u00e9 GPIO) para lo que hay que entrar en el directorio \u00abpage-templates\u00bb y creamos un fichero php, por ejemplo, GPIO.php, os pongo una copia de mi fichero <a href=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/GPIO.txt\" rel=\"\">GPIO<\/a>.<br \/>\nDentro del fichero hay que cambiar las lineas donde se indica el usuario y contrase\u00f1a de la BBDD que tenga acceso a la BBDD que se cre\u00f3 cuando preparamos el frontend, este es el punto en el que usaremos los datos que nos creaba el fichero gpio.sql que hemos ejecutado anteriormente.<\/p>\n<p>Una vez que ya tenemos nuestra plantilla de p\u00e1gina vamos a entrar en WordPress y creamos una nueva p\u00e1gina desde la zona de administraci\u00f3n y como plantilla dejamos la que hemos creado, si llamas a todo GPIO (plantilla, plantilla de p\u00e1gina), nuestra plantilla aparecer\u00e1 como \u00abPlantilla predeterminada\u00bb. Una vez creada nuestra p\u00e1gina y si todo funciona correctamente al acceder a ella veremos algo como:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-180 aligncenter\" src=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/001-300x221.jpg\" alt=\"Page-GPIO\" width=\"300\" height=\"221\" srcset=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/001-300x221.jpg 300w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/001-768x566.jpg 768w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/001-1024x754.jpg 1024w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/001-407x300.jpg 407w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/001.jpg 1040w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Y ya desde aqu\u00ed podemos ponerle nombre o descripci\u00f3n para indicarnos que tenemos conectado a que rel\u00e9. Por ejemplo yo tengo el enchufe conectado al puerto GPIO 18, por lo que voy a nombrar este puerto.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-181 aligncenter\" src=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/002-300x220.jpg\" alt=\"Enchufe_Off\" width=\"300\" height=\"220\" srcset=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/002-300x220.jpg 300w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/002-768x563.jpg 768w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/002-1024x751.jpg 1024w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/002-409x300.jpg 409w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/002.jpg 1044w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Y ahora, simplemente, pulsando en encender, la Raspberry Pi encender\u00eda el enchufe, de tal forma que en esta p\u00e1gina aparecer\u00eda marcado que est\u00e1 encendido y para ello se cambia la imagen del bot\u00f3n.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-182 aligncenter\" src=\"http:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/003-300x219.jpg\" alt=\"Enchufe_On\" width=\"300\" height=\"219\" srcset=\"https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/003-300x219.jpg 300w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/003-768x561.jpg 768w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/003-1024x748.jpg 1024w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/003-411x300.jpg 411w, https:\/\/wordpress.igua.es\/wp-content\/uploads\/2016\/03\/003.jpg 1043w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Y ya lo tenemos listo, con esto ya tendr\u00edamos realizada la migraci\u00f3n desde Arduino a Raspberry Pi. Como pod\u00e9is comprobar con WordPress podr\u00edamos crear varios usuarios que tuvieran acceso a encender y apagar los enchufes, adem\u00e1s de que la capa visual que tenemos aqu\u00ed es bastante m\u00e1s amigable que la que ten\u00edamos con Arduino.<\/p>\n<p>&nbsp;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Tras el proyecto de control dom\u00f3tico con Arduino ha pasado un tiempo, y ahora me gustar\u00eda hacerlo m\u00e1s seguro y m\u00e1s bonito. En este punto las capacidades de Arduino me fallan un poco y es por lo que me he &hellip; <a href=\"https:\/\/wordpress.igua.es\/index.php\/2016\/03\/20\/control-domotico-con-raspberry-pi\/\">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":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[18,34,26],"class_list":["post-168","post","type-post","status-publish","format-standard","hentry","category-raspberry-pi","tag-domotica","tag-gpio","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/posts\/168","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=168"}],"version-history":[{"count":10,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/posts\/168\/revisions"}],"predecessor-version":[{"id":185,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/posts\/168\/revisions\/185"}],"wp:attachment":[{"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/media?parent=168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/categories?post=168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.igua.es\/index.php\/wp-json\/wp\/v2\/tags?post=168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}