{"id":4919,"date":"2022-05-03T19:00:44","date_gmt":"2022-05-03T17:00:44","guid":{"rendered":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?p=4919"},"modified":"2022-05-05T17:16:28","modified_gmt":"2022-05-05T15:16:28","slug":"fpcrypt","status":"publish","type":"post","link":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/","title":{"rendered":"FPCrypt"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-rich is-provider-imgur wp-block-embed-imgur\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"imgur-embed-pub\" lang=\"en\" data-id=\"0YmS5xL\"><a href=\"https:\/\/imgur.com\/0YmS5xL\">View post on imgur.com<\/a><\/blockquote><script async src=\"\/\/s.imgur.com\/min\/embed.js\" charset=\"utf-8\"><\/script>\n<\/div><figcaption>Hardware FPCrypt<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-imgur wp-block-embed-imgur\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"imgur-embed-pub\" lang=\"en\" data-id=\"klJBTbq\"><a href=\"https:\/\/imgur.com\/klJBTbq\">View post on imgur.com<\/a><\/blockquote><script async src=\"\/\/s.imgur.com\/min\/embed.js\" charset=\"utf-8\"><\/script>\n<\/div><figcaption>Software FPCyrpt<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video-container\"><iframe loading=\"lazy\" title=\"FPCrypt\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/T4FrIfslezs?feature=oembed&#038;wmode=opaque\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><figcaption>V\u00eddeo FPCrypt<\/figcaption><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><a>1.&nbsp; Introducci\u00f3n.<\/a><\/h1>\n\n\n\n<p><strong><em>FPCrypt<\/em><\/strong> es una aplicaci\u00f3n para cifrar y descifrar ficheros mediante huellas dactilares.<\/p>\n\n\n\n<p>Este incluye un dispositivo de lectura de huellas dactilares que permite leer las huellas dactilares del usuario, as\u00ed como el software de gesti\u00f3n de huellas y cifrado\/descifrado de ficheros.<\/p>\n\n\n\n<p>La idea principal de este proyecto es poder cifrar y descifrar un fichero de forma segura y sin tener que acordarse de la contrase\u00f1a que has utilizado ya que la propia contrase\u00f1a est\u00e1 en tu mano.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>2.&nbsp; Implementaci\u00f3n.<\/a><\/h1>\n\n\n\n<p>Para poder llevar a cabo este proyecto hemos usado la placa <em>Arduino UNO<\/em>, un lector de huellas dactilares <em>FPM10A<\/em> cables para conectar el lector de huellas dactilares y un cable USB para conectar la placa con el ordenador.<\/p>\n\n\n\n<p>El software est\u00e1 programado en <em>C#<\/em> con el IDE <em>Visual Studio 2022 Community<\/em>, sistema de interfaces <em>Windows Form<\/em>.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>3.&nbsp; Reparto de tareas.<\/a><\/h1>\n\n\n\n<p>Para organizar correctamente el proyecto hemos creado un repositorio de <em>GitHub<\/em>, usando la metodolog\u00eda <em>GitHub Flow<\/em> en este repositorio hemos desarrollado el c\u00f3digo del software as\u00ed como el propio c\u00f3digo de la placa.<\/p>\n\n\n\n<p>Se han planteado una serie de casos de uso y componentes del propio software y posteriormente creado los <em>issues<\/em> correspondientes, su rama y <em>pull request<\/em> asociada.<\/p>\n\n\n\n<p>Cada integrante tiene dos <em>issues<\/em> asignados para que realicen en solitario, tambi\u00e9n existen algunos que est\u00e1n asignados para varios integrantes del grupo.<\/p>\n\n\n\n<p>El reparto se ha realizado de manera que haya independencia entre las distintas ramas y se pueda trabajar de manera individual entre los integrantes del grupo, aumentando considerablemente la eficiencia.<\/p>\n\n\n\n<p>La parte de hardware se ha realizado la mayor parte del tiempo en las clases de pr\u00e1cticas, ya que la mayor carga de trabajo estaba en el software y no en el hardware.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>4.&nbsp; Coste de materiales.<\/a><\/h1>\n\n\n\n<p>El material que hemos tenido que comprar a parte ha sido el sensor de huellas dactilares que ha costado 24\u20ac. Tambi\u00e9n hemos tenido que comprar unas tijeras, por el valor de 1\u20ac y un bote de pintura negra, que ha costado 2.25\u20ac.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Producto<\/strong><\/td><td><strong>Precio<\/strong><\/td><\/tr><tr><td>Sensor de huellas dactilares (<em>FPM10A<\/em>)<\/td><td>24\u20ac<\/td><\/tr><tr><td>Tijeras<\/td><td>1\u20ac<\/td><\/tr><tr><td>Pintura<\/td><td>2.5\u20ac<\/td><\/tr><tr><td><strong>Total<\/strong><\/td><td>27.5\u20ac<\/td><\/tr><\/tbody><\/table><figcaption>Coste de materiales<\/figcaption><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><a>5.&nbsp; Hardware.<\/a><\/h1>\n\n\n\n<p><\/p>\n\n\n\n<p>El hardware est\u00e1 compuesto por la placa <em>Arduino UNO<\/em>, un lector de huellas dactilares <em>FPM10A<\/em>, cables para conectar el lector de huellas, el cable USB y una caja protectora.<\/p>\n\n\n\n<p>En Arduino hemos programado la placa para que est\u00e9 a la espera de recibir la orden de lectura de una huella, una vez ha conseguido leerla la enviar\u00e1 al ordenador.<\/p>\n\n\n\n<p>Existen dos secciones de c\u00f3digo definido en la placa de Arduino, la primera parte se encarga de la comunicaci\u00f3n ordenador-Arduino y la segunda se encarga de la comunicaci\u00f3n Arduino-esc\u00e1ner.<\/p>\n\n\n\n<p>Para la primera secci\u00f3n, hemos usado un sistema de ordenes\/comandos. Arduino se queda esperando una orden que llegue del serial. Cuando recibe una orden act\u00faa en consecuencia. Las ordenes disponibles son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Registrar una huella<\/li><li>Escanear una huella<\/li><li>Borrar una huella<\/li><li>Borrar todas las huellas<\/li><li>Mensaje de control<\/li><\/ul>\n\n\n\n<p>La mayor\u00eda de estas \u00f3rdenes requieren de comunicaci\u00f3n entre el Arduino y el esc\u00e1ner. Para ello, hemos creado una clase que abstrae esa parte de la comunicaci\u00f3n. Esta clase se corresponde con la segunda secci\u00f3n de c\u00f3digo.<\/p>\n\n\n\n<p>Para visualizar el c\u00f3digo relacionado con el hardware en el repositorio pod\u00e9is hacer click <a href=\"https:\/\/github.com\/SeXde\/FPCrypt\/tree\/main\/FPCrypt\/Arduino\/ArduinoCode\/ArduinoUno\">aqu\u00ed<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>6.&nbsp; Software.<\/a><\/h1>\n\n\n\n<p><\/p>\n\n\n\n<p>El software est\u00e1 compuesto por distintos m\u00f3dulos que realizan su funci\u00f3n de manera coordinada con la interfaz de usuario.<\/p>\n\n\n\n<p>Podemos dividirlos en las siguientes partes:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a>6.1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Front.<\/a><\/h2>\n\n\n\n<p>La interfaz de usuario est\u00e1 implementada con el framework de Windows Form, es una interfaz b\u00e1sica que permite al usuario a\u00f1adir huellas dactilares o borrarlas y cifrar\/descifrar ficheros.<\/p>\n\n\n\n<p>En el caso de que haya sucedido alg\u00fan error se le notificar\u00e1 mediante una ventana modal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a>6.2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Back.<\/a><\/h2>\n\n\n\n<p>Esta parte es el alma del proyecto, contiene distintos m\u00f3dulos:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>6.2.1. M\u00f3dulo de cifrado.<\/a><\/h3>\n\n\n\n<p>Este m\u00f3dulo incluye dos clases que permiten cifrar y descifrar ficheros dada una huella dactilar.<\/p>\n\n\n\n<p>Al cifrar el fichero se cambiar\u00e1 la extensi\u00f3n de este, tambi\u00e9n se comprueba si el fichero cifrado no se puede descifrar con la huella dactilar introducida.<\/p>\n\n\n\n<p>El sistema criptogr\u00e1fico utilizado es AES256, hemos creado una clase que usa la API de C# y nos abstrae de algunos detalles de bajo nivel para hacer m\u00e1s sencilla esta tarea.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>6.2.2. M\u00f3dulo de comunicaci\u00f3n.<\/a><\/h3>\n\n\n\n<p>Mediante este m\u00f3dulo podemos comunicarnos con la placa para poder enviar ciertas \u201c\u00f3rdenes\u201d y recibir los datos, es capaz de auto detectar el puerto del ordenador donde est\u00e1 conectado Arduino y es uno de los ejes centrales del proyecto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>6.2.3. M\u00f3dulo de la contrase\u00f1a maestra.<\/a><\/h3>\n\n\n\n<p>Para proteger que alguien pueda abrir el programa sin consentimiento hay que introducir una contrase\u00f1a maestra del programa al abrirlo, este m\u00f3dulo se encarga de guardar dicha contrase\u00f1a y realizar las comprobaciones necesarias cuando el usuario la introduce.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>6.2.4. M\u00f3dulo de las huellas dactilares.<\/a><\/h3>\n\n\n\n<p>Este m\u00f3dulo permite guardar las huellas dactilares que se han registrado, as\u00ed como eliminarlas.<\/p>\n\n\n\n<p>Tanto el m\u00f3dulo de cifrado como el de contrase\u00f1a maestra y huellas dactilares usan clases que siguen el patr\u00f3n de dise\u00f1o <em>singleton<\/em> con persistencia de datos mediante serializaci\u00f3n.<\/p>\n\n\n\n<p>El funcionamiento del programa ha sido comprobado mediante pruebas unitarias usando el framework de <em>MSUnit<\/em>, algunos de los integrantes del grupo han seguido la metodolog\u00eda <em>TDD <\/em>para crear estos m\u00f3dulos.<\/p>\n\n\n\n<p>Para ver el repositorio del proyecto pulsar <a href=\"https:\/\/github.com\/SeXde\/FPCrypt\">aqu\u00ed<\/a>.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>7.&nbsp; Funcionamiento.<\/a><\/h1>\n\n\n\n<p>Al abrir el programa se nos pedir\u00e1 introducir la contrase\u00f1a maestra o crearla, una vez introducida se nos mostrar\u00e1 la pantalla principal del programa donde podemos a\u00f1adir o borrar huellas dactilares, as\u00ed como cifrar y descifrar ficheros, en la misma pantalla podremos visualizar las huellas dactilares que hemos registrado previamente.<\/p>\n\n\n\n<p>Tambi\u00e9n podremos cambiar la contrase\u00f1a maestra.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>8.&nbsp; Problemas y soluciones.<\/a><\/h1>\n\n\n\n<p>A la hora de crear el m\u00f3dulo de cifrado hemos tenido problemas a la hora de manejar la API de C#, por lo que se nos ocurri\u00f3 el crear una clase que nos pudiera abstraer de la cantidad de detalles necesarias para simplemente realizar un cifrado y descifrado.<\/p>\n\n\n\n<p>Tambi\u00e9n ha sido algo complejo serializar correctamente la informaci\u00f3n de las huellas dactilares ya que a veces no se restauraban correctamente.<\/p>\n\n\n\n<p>Otro problema muy grande ha sido la comunicaci\u00f3n con Arduino, muchas veces no se env\u00eda correctamente la informaci\u00f3n en el puerto serial haciendo dif\u00edcil saber si el dispositivo est\u00e1 correctamente conectado y si ha recibido la informaci\u00f3n correctamente.<\/p>\n\n\n\n<p>Lo hemos podido solventar usando ciertos mecanismos de sincronizaci\u00f3n y usando bucles con un tiempo l\u00edmite.<\/p>\n\n\n\n<p>Ha habido ciertos problemas sin soluci\u00f3n, como por ejemplo la detecci\u00f3n del lector de huellas, es manejado por la librer\u00eda del fabricante y no podemos hacer mucho por solucionarlo.<\/p>\n\n\n\n<p>Tambi\u00e9n hab\u00eda veces que no consegu\u00edamos leer bien las huellas, lo cual es una limitaci\u00f3n del propio lector de huellas.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>9.&nbsp; Informaci\u00f3n adicional.<\/a><\/h1>\n\n\n\n<ul class=\"wp-block-list\"><li>Link del repositorio de GitHub: <a href=\"https:\/\/github.com\/SeXde\/FPCrypt\">https:\/\/github.com\/SeXde\/FPCrypt<\/a><\/li><li>Link al c\u00f3digo de Arduino: <a href=\"https:\/\/github.com\/SeXde\/FPCrypt\/tree\/main\/FPCrypt\/Arduino\/ArduinoCode\/ArduinoUno\">https:\/\/github.com\/SeXde\/FPCrypt\/tree\/main\/FPCrypt\/Arduino\/ArduinoCode\/ArduinoUno<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>1.&nbsp; Introducci\u00f3n. FPCrypt es una aplicaci\u00f3n para cifrar y descifrar ficheros mediante huellas dactilares. Este incluye un dispositivo de lectura de huellas dactilares que permite leer las huellas dactilares del usuario, as\u00ed como el&#46;&#46;&#46;<\/p>\n","protected":false},"author":18,"featured_media":4995,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4919","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proyectos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>FPCrypt - Proyectos con Arduino.<\/title>\n<meta name=\"description\" content=\"Arduino\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FPCrypt - Proyectos con Arduino.\" \/>\n<meta property=\"og:description\" content=\"Arduino\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos con Arduino.\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-03T17:00:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-05-05T15:16:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/0YmS5xL-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"517\" \/>\n\t<meta property=\"og:image:height\" content=\"504\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"FPCrypt\",\"datePublished\":\"2022-05-03T17:00:44+00:00\",\"dateModified\":\"2022-05-05T15:16:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/\"},\"wordCount\":1254,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/0YmS5xL-1.png\",\"articleSection\":[\"Proyectos\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/\",\"name\":\"FPCrypt - Proyectos con Arduino.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/0YmS5xL-1.png\",\"datePublished\":\"2022-05-03T17:00:44+00:00\",\"dateModified\":\"2022-05-05T15:16:28+00:00\",\"description\":\"Arduino\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/0YmS5xL-1.png\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/0YmS5xL-1.png\",\"width\":517,\"height\":504},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/fpcrypt\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FPCrypt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#website\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\",\"name\":\"Proyectos con Arduino.\",\"description\":\"Blog de proyectos de Arduino de alumnos de la URJC\",\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#organization\",\"name\":\"Universidad Rey Juan Carlos\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/logourjc-1.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2022\\\/05\\\/logourjc-1.jpg\",\"width\":745,\"height\":288,\"caption\":\"Universidad Rey Juan Carlos\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"\",\"url\":\"https:\\\/\\\/blogs.etsii.urjc.es\\\/dseytr\\\/author\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FPCrypt - Proyectos con Arduino.","description":"Arduino","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/","og_locale":"es_ES","og_type":"article","og_title":"FPCrypt - Proyectos con Arduino.","og_description":"Arduino","og_url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/","og_site_name":"Proyectos con Arduino.","article_published_time":"2022-05-03T17:00:44+00:00","article_modified_time":"2022-05-05T15:16:28+00:00","og_image":[{"width":517,"height":504,"url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/0YmS5xL-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"","Tiempo de lectura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/#article","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/"},"author":{"name":"","@id":""},"headline":"FPCrypt","datePublished":"2022-05-03T17:00:44+00:00","dateModified":"2022-05-05T15:16:28+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/"},"wordCount":1254,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/0YmS5xL-1.png","articleSection":["Proyectos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/","name":"FPCrypt - Proyectos con Arduino.","isPartOf":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/#primaryimage"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/0YmS5xL-1.png","datePublished":"2022-05-03T17:00:44+00:00","dateModified":"2022-05-05T15:16:28+00:00","description":"Arduino","breadcrumb":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/#primaryimage","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/0YmS5xL-1.png","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/0YmS5xL-1.png","width":517,"height":504},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/fpcrypt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.etsii.urjc.es\/dseytr\/"},{"@type":"ListItem","position":2,"name":"FPCrypt"}]},{"@type":"WebSite","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#website","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/","name":"Proyectos con Arduino.","description":"Blog de proyectos de Arduino de alumnos de la URJC","publisher":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.etsii.urjc.es\/dseytr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#organization","name":"Universidad Rey Juan Carlos","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/logo\/image\/","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/logourjc-1.jpg","contentUrl":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-content\/uploads\/sites\/8\/2022\/05\/logourjc-1.jpg","width":745,"height":288,"caption":"Universidad Rey Juan Carlos"},"image":{"@id":"https:\/\/blogs.etsii.urjc.es\/dseytr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"","url":"https:\/\/blogs.etsii.urjc.es\/dseytr\/author\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/4919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/comments?post=4919"}],"version-history":[{"count":2,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/4919\/revisions"}],"predecessor-version":[{"id":4932,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/posts\/4919\/revisions\/4932"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media\/4995"}],"wp:attachment":[{"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/media?parent=4919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/categories?post=4919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.etsii.urjc.es\/dseytr\/wp-json\/wp\/v2\/tags?post=4919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}