Cabecera PRINCIPAL

Claves: técnico, redes, networks, microsoft, open source, gnu, programador, software, hardware, desarrolladores

Juan Enrique Gómez Péérez

martes, 26 de julio de 2016

Materiales principales para Arduino

En nuestros laboratorios utilizaremos placas Arduino como componente principal. Como explicaba en mi primer post esto es debido a su extremada sencillez, que son muy muy económicas, y sobre todo que existe un enorme ecosistema de proyectos y trabajo hecho en Internet que facilitará enormemente nuestro objetivo.

Arduino
Es un proyecto opensource que se inició por parte de unos estudiantes en la universidad de Ivrea, El equipo de desarrollo de la placa está formado por seis estudiantes principales: Massimo Banzi, David Cuartelles, Tom Igoe, Gianluca Martino, David Mellis y Nicolas Zambetti.
El proyecto surge como una queja de Massimo sobre lo dificil que es encontrar placas con micro controladores baratas y sencillas de utilizar. Durante una visita del ingeniero español David Cuartielles a la universidad Italiana, Massimo discutió con David esta situación lo que les llevó a tomar la decisión de realizar ellos mismos un diseño para resolver este problema. Tan solo le llevó dos días a Mellis finaliar el código para la placa, y 3 días más diseñar la placa que llamarían Arduino.

La plataforma Arduino
Arduino se ha convertido en la plataforma más popular en la actualidad en todo el mundo. Ha evolucionado en diferentes versiones, desde la primera versión Arduino UNO (en la que trabajaremos nosotros) hasta sistemas más actuales especializados en proyectos de Internet of Things o incluso Wearables (por ejemplo relojes inteligentes).

Arduino es un proyecto Open Source de hardware que proporciona diferentes interfaces de tipo digital y analógico. El sistema se desarrolla sobre lenguaje C y se proporciona una herramienta de desarrollo (IDE) a través de la que se escribe el código, se compila, sube a la placa y ejecuta.

Versiones Arduino
Para nuestros proyectos y laboratorios utilizaremos principalmente la placa Arduino UNO aunque es posible que en algún caso alguna de las prácticas se realicen sobre el modelo denominado Arduino 101.

Arduino UNO: es la placa inicial del proyecto y es razonablemente simple. Se basa en el procesador de Atmel ATMEGA328P. Este procesador nos permite disponer de 14 pines de entrada y salida que nos permitirán conectarnos con el mundo exterior, de estos 14, 6 de ellos proporcionan una salida de tipo PWM (ya veremos para que sirve y como se configura.
Las características principales son:

MicrocontroladorATmega328P
Voltaje5V
Voltaje entrada (recomendado)7-12V
Voltaje entrada (límite)6-20V
Pins I/O digitales14 (6 de ellos con salida PWM)
Pins digitales PWM I/O 6
Pins entrada analógicos6
Tensión DC por Pin I/O 20 mA
Tensión DC por Pin 3.3V50 mA
Memoria Flash32 KB (ATmega328P)
0.5 KB usados por el bootloader
SRAM2 KB (ATmega328P)
EEPROM1 KB (ATmega328P)
Velocidad de Reloj16 MHz


Arduino 101: Esta nueva revisión de la placa se basa en un microprocesador mucho más moderno en este caso de Intel. El procesador dispone de dos cores y se denomina Intel Curie. Es una placa mucho más moderna, basada en tecnología Intel de 32-bits y que mantiene en gran medida la compatibilidad con los sistemas originales, en la mayoría de los casos solo tendremos que actualizar nuestro IDE para re-compilar nuestro software. Esta placa la utilizaremos en situaciones muy limitadas y concretas, aunque en los laboratorios intentaremos siempre comentar la especificidad en esta placa.
Las características principales son:

MicrocontroladorIntel Curie
Voltaje3.3V (5V tolera I/O)
Voltaje entrada (recomendado)7-12V
Voltaje entrada (límite)7-20V
Pins I/O digitales14 (4 proporcionan salida PWM)
Pins digitales PWM I/O 4
Pins entrada analógicos6
Tensión DC por Pin I/O 20 mA
Memoria Flash196 kB
SRAM24 kB
Velocidad de Reloj32MHz
Otras característicasBluetooth LE, 6-axis accelerometer/gyro
Diferencias
Como podéis ver las principales diferencias las encontramos en el procesador y la tecnología que usa cada uno de ellos. Es relevante hacer notar que el UNO funciona con una tensión de 5V y el modelo 101 usa 3,3V. Esto será muy relevante a la hora de elegir nuestros sensores, si os fijáis un dato importante que se da es el voltaje de funcionamiento de entrada, esto hará que cuando elijamos nuestros periféricos tengamos que tener cuidado o acabaremos quemándolos.
La segunda gran diferencia la encontramos en la velocidad de reloj, si os fijáis el 101 corre al doble que UNO (32Mhz frente a 16Mhz), así que nos dará un mayor rendimiento que el primero y nos permitirá ir a aplicaciones que requieran mayor capacidad de procesamiento.
Por último a destacar es la capacidad de memoria SRAM y Flash, una para ejecutar nuestro código y otra para almacenarlo. UNO es muy inferior (p.ej. 2K de SRAM frente a más de 10 veces el 101 con 24Kb).

domingo, 24 de julio de 2016

Cambiamos el rumbo - Arduino, Raspberrypi...

¿Porqué? 
Después de algún tiempo ausente (o mucho tiempo ausente), mi vida ha cambiado bastante en los último años. Desgraciadamente mi pasión por la informática, se ha convertido en algo residual debido a mi trabajo, en el que ahora en vez de ejecutar los proyectos como técnico, los ejecuto pero como gestor, como suelo decir soy un técnico venido a menos :-).
Esto hace que mis capacidades técnicas que antaño disfrutaba, ahora sean mucho más limitadas, y en realidad pueda aportar muy poquito sobre todo cuando de situaciones complejas se refiere. Es por esto que he decidido darle un giro al blog y orientarlo a uno de mis hobbies que siempre han estado ahí, pero sobre los que nunca he escrito.

¿De donde proviene todo?
Este hobby empezó hace unos 20 años, de la mano de los micro-controladores de Microchip. Como digo hace 20 años había bastantes cosas para divertirse, tarjetas telefónicas (bueno esto en realidad no eran microcontroladores), tarjetas de proveedores de TV (esto si lo eran), etc. Esto me hizo dar mis primeros pasos con los PIC16F84 y toda su familia, o los atmel (AVR) un poquito despues que ya eran procesadores incluso más potentes que los de mi amado CPC464 (recordar aquél Zilog a 2Mhz :-)). Tras aquella época maravillosa de micros, eeproms,etc. la verdad es que quedó todo en un limbo que se vino a reactivar hace unos años con las apariciones de los Arduino, Raspberry, etc. y su punto culminante fue cuando tuve que hacer mi trabajo de fin de grado hace unos años en el que tube que "darlo todo" con una placa LPC1769 que lleva un procesador de la familia Cortex-M3.
La verdad es que me divertí muchísimo ya que es un mundo de procesadores que te permiten hacer cosas en real time, algo que nunca había hecho yo, y además me permitió utilizar protocolos como I2C, jugar con puertos ADC, o configurar la escritura sobre dispositivos con protocolos (a mi modo de ver) ya avanzados como 1-Wire.
Esto siempre me ha hecho pensar que bien explicados estos dispositivos pueden ser una ayuda en las escuelas de nuestro país enorme. Son dispositivos súper baratos, sencillos incluso de construir, los cuales con una protoboard y un par de comandos tienen para el alumno una recompensa inmediata, y que además al ser muy muy sencillos permite realizar pequeñas modificaciones dándole al alumno un placer mental instantáneo al conseguir e manera sencilla su objetivo.
Creo que el cambio de rumbo ya se va dibujando, ahora detallémoslo.

¿Cual es mi objetivo? 
Como buen fan de todas estas cosas, mi objetivo será proporcionar de manera sencilla y mediante pequeños y fáciles laboratorios la capacidad a cualquiera de iniciarse en este mundillo. Me encantaría que estas pequeñas fichas que vamos a ir desarrollando se pudieran utilizar en centros educativos sin restricción alguna.
Los trabajos iniciales no van a ser originales míos, creo que ha mucho trabajo ya hecho en el mundo anglo sajón pero que por alguna limitación de idioma no está disponible. Mi labor en estos casos será proporcionar una ficha de laboratorio y un vídeo de la práctica idéntica, o con pequeñas modificaciones y mejoras. Por supuesto siempre con la referencia al dueño original de la ficha.

¿Y como seguimos?
Pues en los próximos días iré publicando diferentes artículos de introducción basados sobre todo en Arduino. Creo que Arduino es muy muy accesible tanto económicamente, donde tenemos placas por menos de 5$US, como a la hora de desarrollar su interface es extremadamente sencillo.

Espero veros por aquí, y cualquier pregunta, duda o curiosidad estoy a vuestra entera disposición.

Saludos y ¡un gran verano lleno de proyectos!

domingo, 1 de septiembre de 2013

Certificación en Windows Server 2012

Como suele ocurrirme en todas las vacaciones, retomo algunos del los temas que tenía por ahi aparcados. Este año ha coincidido con la renovación de mi certificación de como formador oficial de Microsoft (MCT o Microsoft Certified Trainer). 

Esto me ha llevado a darme cuenta que mis obligaciones laborales han hecho que descuide mi formación técnica, y sobre todo mis certificaciones, las cuales la última data del año 2009 concretamente en Julio.

Así como un primer paso realista me he decidido a actualizar mis certificaciones como MCITP Enterprise Administrator 2008 a las nuevas y alucinantes versiones de Windows Server 2012.

Tras indagar un pelín he descubierto que la formación que Microsoft ofrece a las personas interesadas en certificarse ha mejorado un mundo la verdad, tenemos montones de webcasts, formaciones online, tests, y los siempre imprescindibles libros de MS Press con la calidad que acostumbran.

Para que os hagáis una idea, aquí os expongo los materiales que estoy utilizando yo para intentar actualizar mi certificación como MCITP a lo que ahora se denomina MCSA Windows Server 2012 (Microsoft Certified Solutions Associate), no confundir con el antiguo MCSA aunque se parece bastante.

Objetivo:
El objetivo es conseguir la certficación MCSA Windows Server 2012, la cual se puede conseguir por dos vías.
  • Si no tienes certificación previa: Aprobando los examenes 70-410, 70-411, 70-412
  • Si ya tienes una certificación previa: Aprobando el examen 70-417

Como conseguirlo:
El primer lugar al que recurrir, es a la Microsoft Virtual Academy, que la tienes aquí:

http://www.microsoftvirtualacademy.com

Mi recomendación es que cuando te asocies digas que tu país es USA ya que sino el número de cursos que aparecen son muy reducidos, o si aparecen son muy tarde. Eso si, esto requerirá que tengas un nivel de inglés mínimo para entender los cursos on-line. Te adelanto que es muy sencillo de seguir el ingles ya que se preocupan de pronunciar y vocalizar muy bien.

Para el caso que nos ocupa, te recomiendo este curso:


Serie que cubre todos los aspectos de los tres examenes necesarios. Aunque tengas las certificaciones previas, si estás algo oxidado, como es mi caso, te recomiendo que hagas todos los cursos. Al menos conseguiras la satisfacción de los puntos que te da la MVA :-).

Adicionalmente para cualquier certificación es importante practicar, practicar, practicar. En mi caso tengo en casa dos equipos pequeñitos (dos proliant ml110 con un dual core) con hyper-v montado sobre el que realizo mis propios laboratorios. Esto me permite probar los comandos de PowerShell, configuraciones, cambios, etc. El estar virtualizados me da la posibilidad de romper cosas y recuperarlas a su estado original en pocos minutos. Algún día subiré el esquema de mi mini laboratorio.

Por último, y para mi siempre imprescindibles, los libros de MS Press, en mi caso voy a recomendar el que corresponde al examen 70-417, que podéis encontrar en vuestras librerías habituales, yo lo encontré en amazon y disponible en versión kindle por un precio muy razonable de 17€, recomendado.


Algunos consejos:
Hay un vídeo muy muy chulo elaborado por el equipo de MCT del blog Born to Learn (imprescindible para la gente que nos apasiona el mundo MS), en el cual te proponen el reto de conseguir la certificación en 90 días, y durante 57 minutos te explican los puntos claves para conseguir esta certificación. Recomiendo altamente que le echéis un ojo, merece la pena invertir esa hora.


Espero que si este post os ha servido de algo paséis por aquí a decirlo. Cualquier duda estoy a vuestra disposición.

sábado, 2 de febrero de 2013

Peticiones

Mantener un Blog como este o cualquier otro es una tarea bastante complicada que requiere algunos puntos importantes como: disciplina, conocimiento, algo que contar, esfuerzo. Sinceramente tengo algunas de ellas no a partes iguales, pero hay una que muchas  veces escasea y hace complicado el mantener vivo un Blog, y es el "algo que contar".

Por esto es que a través de este post os pido a los poquitos que visitáis el Blog que pongáis en comentarios problemas puntuales con los que os habéis encontrado o que tenéis para que podamos tratarlos. Deben ser problemas concretos en situaciones concretas. No pidáis generalidades del tipo, tengo que desplegar una infraestructura de correo electrónico para 15.000 personas como lo harías. Se trata de problemas como los veis en el Blog hasta ahora, cosas o situaciones concretas.

Responder a este post, e intentaré contestarlas a todas mediante posts. Por supuesto no prometo tiempo de respuesta, y priorizaré las entradas que considere más interesantes para todas las personas.

¡Gracias!