Entradas Etiquetadas ‘Curso’

Aprovecha el puente y aprende algo con nuestros cursos

Microcontrolador
Hoy empieza el puente y aunque la flojera siempre es tentadora, puedes hacerte el ánimo y aprovechar el tiempecito de más que tienes para hacer algo productivo. Aquí en QuieroBits te la ponemos fácil, con nuestros tutoriales de seguro aprendes y no te llevas ni 15 minutos en cada uno.

 

Entiende la arquitectura de los microprocesadores. Apenas el martes pasado que celebramos 40 años del primer microprocesador, el Intel 4004, así que es buen tiempo para que entiendas a la arquitectura RISC, que es en la que se basan los procesadores modernos.

 

Instala Active Directory en un servidor. ¿A quién no le gusta tener el control? Con Active Directory podrás administrar todas tus compus. Además, nunca está de más saber administrar un servicio de directorio. Solo que puede ser un poco enrredoso al principio. Pero aquí te decimos como. Además es screencast para que no te de flojera.

 

Aprende a programar un microcontrolador. Los microcontroladores son lo de hoy. Con tanto sistema embebido alrededor no te puedes quedar atrás. Aprende las báses con nuestro set de 4 tutoriales. Además que está fácil y si te queda alguna duda, no dudes en preguntarnos ya sea por Facebook, Twitter o Google+.

 

¿Cómo se hablan las computadoras? Para que las computadoras se puedan hablar, siempre hace falta que se pongan de acuerdo primero. Como muchas tecnologías, para hacer esto se inspiraron en la vida real y en como nos comunicamos los humanos. Este video te explica paso a paso como funciona este protocolo mejor conocido como Three-Way Handshake.

RISC, explicando la arquitectura de los procesadores

Sin que la gran mayoría lo sepa, los procesadores que utilizamos día a día, desde hace unas cuantas décadas están basados en lo que se llama arquitectura RISC, que es el acrónimo de Reduced Instruction Set Computing, o computación con un set de instrucciones reducias.

La arquitectura RISC se opne a su predecesor, la arquitectura CISC, el cual uilizaba instrucciones complejas en lugar de instrucciones sencillas. En los inicios de los microprocesadores se tenía la idea de que entre más información pudieras meter en una instrucción era mejor. Hasta cierto punto no estaban tan equivocados, el conseguir más con una misma instrucción les permitía tener programas mucho más pequeños y también reducir las veces que se hacían lecturas a memoria.

Sin embargo, investigadores de IBM se dieron cuenta de que estas capacidades no estaban siendo aprovechadas al 100 por ciento, sobre todo por lo limitados que eran los compiladores para generar código que fuera completamente eficiente. Fue entonces cuando a mediados de los 70’s se empezó a desarrollar la ideología de RISC (incluso CISC no se había denominado de esa forma hasta que nació RISC).

RISC se basaba en la idea de que los procesadores era más eficientes si las tareas que le eran entregadas era muy sencillas. Esto se reflejaba en gran parte al momento de decodificar las instrucciones. Aunque el tener instrucciones más sencillas implica un número más grande de las mismas, los procesadores tienden a ser más eficientes al ejecutar este tipo de instrucciones que menos pero más complejas.

Algunas personas tienden a confundirse al pensar que RISC significa un set de instrucciones más pequeño. Al contrario, las instrucciones crecieron considerablemente, solo se hicieron más específicas en lo que tenían que hacer, por ejemplo, existen instrucciones que se dedican únicamente al acceso a memoria, pero por lo mismo, son más eficientes en lo que hacen.

Esto también facilitó el desarrollo de lo que se conoce como pipelines, que es dividir las tareas en instrucciones sencillas que se puedan ir encolando para su ejecución “en paralelo”. Esto se dio en gran parte a que se buscó que las instrucciones tardaran solo un ciclo de reloj para ser ejecutadas (obviamente si era una búsqueda en memoria y los datos no estaban disponibles, pues se perdía el propósito).

En fin, para que te des una idea de dónde se encuentra la arquitectura RISC, puedes pensar en:

  • ARM, que básicamente están en los iPhone, iPod Touch, iPad, Nintendo DS, etc.
  • MIPS, que está o estuvo más bien en el PlayStation 1 y 2, en el Nintendo 64 y en el PSP. El MIPS R400, el primer procesador de 64 bits, también es un caso de éxito.
  • La Power Architecture de IBM y el ahora Freescale en sus PowerPC, en el GameCube y el Wii.
Así que de ahora en adelante ya sabes que tus gadgets, consolas y demás están en su mayoría basadas en esta simple, pero revolucionaria idea.

TCP Three-Way Handshake explicado

En el protocolo TCP de redes existe algo que se llama Three-Way Handshake que consiste en una especie de saludo que hay entre las dos partes de la comunicación, de manera que establecen los parámetros necesarios y se aseguran de que la comunicación tenga éxito.

En sí, es un protocolo sencillo pero si no estás familiarizado con él, podrías llegar a confundirte en algún paso. Aquí te dejamos un video que explica paso a paso como se lleva a cabo este 3-way handshake y de que se trata cada uno de los parámetros que se pasan entre sí:

[Security Tube]

[Tutorial] Cómo configurar políticas en Active Directory

Para el día de hoy ya deberías tener instalado Active Directory con un par de OU’s, usuarios y hasta conectado por lo menos un cliente  (si no lo tienes, visita nuestro tutoriales previos >>). Es hora de comenzar a trabajar con las políticas.

Las políticas permiten establecer permisos o restringirlos a las computadoras cliente. Se pueden establecer políticas ya sea por usuario o por equipo y también por grupo de trabajo. En realidad trabajar y configurar las políticas de Active Directory es bastante sencillo. La mayoría de las políticas se configuran de la misma manera. Lo único complicado es encontrar la política que realmente te interesa, pero por lo demás no hay ningún problema.

En el siguiente video te mostraremos como configurar la política para establecer un fondo de escritorio para tus computadoras cliente. Para configurar cualquier otra política solo sigue los mismos pasos:

[Tutorial] Explicando el protocolo SPI (incluye código)

El protocolo SPI es un protocolo de comunicación serial para equipos periféricos. Su nombre  básicamente indica esto: Serial Peripheral Interface o interface serial periférica. Probablemente ya te hayas topado con algún otro protocolo serial, el más común es el que todos llamamos serial y que lo relacionamos con la UART.

Pero entonces ¿qué es diferente en este protocolo?  Resulta que es un protocolo de Maestro-Esclavo, diseñado para controlar varios periféricos utilizando un mismo bus de datos. Consta de cuatro líneas de comunicación que son lo que cualquier ingeniero hubiera pensado si le hubieran pedido que diseñara un protocolo en 5 minutos:

  • CLK. Clock para el control de las operaciones.
  • MISO. Master in, slave out. Bus de entrada de datos
  • MOSI. Maste out, slave in. Bus de salida de datos.
  • SS. Slave select. Señal de habilitación del esclavo.

Por supuesto, con forme va incrementando el número de esclavos, va incrementando el número de señales de habilitación, pero los otros tres buses se reutilizan, lo que ahorra considerablemente líneas de comunicación. Aquí abajo aparece un diagrama para su mejor comprehensión:

La secuencia de comunicación con el dispositivo es bastante sencilla, en realidad lo único que tienes que hacer como master es habilitar (0 lógico, por trabajar con lógica negativa) el esclavo con el que quieres comunicarte y después empiezas a transmitir o recibir datos, un bit por ciclo de reloj y comenzando por el más significativo (MSB) hasta el menos significativo (LSB). Algo así como lo que muestra el siguiente diagrama:

El protocolo no define por sí mismo el baud rate o velocidad de transmisión, por lo que en teoría podría alcanzar velocidades muy altas. Lo que limita la comunicación es el dispositivo con el cual estás trabajando.

En fin, probablemente no te estemos diciendo más que Wikipedia o cualquier otro sitio, así que para que quede más claro y puedas hasta practicar, te dejamos una rutina hecha en C para un microcontrolador que ejemplifica el protocolo.

Como queremos ejemplificarlo de la forma más sencilla haremos la comunicación con un componente muy sencillo, porque es un ejemplo real. Se trata de un potenciómetro controlado digitalmente por SPI (¡obviamente!). En fin, se trata del MAX5402 el cual solo recibe información por lo que no tendremos que lidiar con la comunicación de regreso. A este componente solo se le envía un byte y con eso tiene para mediar el valor del potenciómetro de 0 a 255.

Pero dejémonos de palabras y vamos a lo que realmente nos interesa, el código:

/***************************************************************************** SPI routines for MAX5402 Digital Potentiometer. MCU: Freescale 9S12EXP100 Clk: 2Mhz Developed by: Arturo Javier Hernández
javier@quierobits.com 07/02/2011 *****************************************************************************/
#include <hidef.h> /* common defines and macros */ #include "derivative.h" /* derivative-specific definitions */ #define MOSI PORTA_PA0 /// Master Out Slave In, Port A Pin 0 #define SCLK PORTA_PA1 /// Source Clock, Port A Pin 1 #define SS PORTA_PA2 /// Chip Select, Port A Pin 2 /** MISO uninplemented **/ void main(void) { EnableInterrupts; SPI_init();
for(;;) { asm nop; send_byte(169); _FEED_COP(); } /* loop forever */ } /* END OF MAIN */ /** Port initialization **/ void SPI_init(void){ /** Set pins as Output **/ DDRA_DDRA0=0x01; DDRA_DDRA1=0x01; DDRA_DDRA2=0x01; SS=1; MOSI=0; SCLK=0; }
void send_byte(unsigned char rByte){ unsigned char dataToSend; unsigned char tempCountr; dataToSend=rByte; tempCountr=7; SS=0; /// Alert for slave do{ MOSI=(dataToSend/128); /// Send from MSB to LSB SCLK=1; /// Send every clock cycle dataToSend<<=1; SCLK=0; }while(tempCountr--); SS=1; /// End of transmission }

Como verán, la rutina que nos interesa es la de send_byte en la que se llevan a cabo los pasos para lograr la comunicación.

Esperamos que con este ejemplo quede más claro cómo implementar un protocolo de comunicación SPI y que les sirva de base para crear rutinas más complejas. Les comparto también el archivo .c descargable por si lo quiere utilizar.

Comunicación SPI.c >>

Las imágenes las tomé de:

Leens, F. (2009) An introduction to I^2C and SPI protocols.

[Tutorial] Cómo conectar una computadora cliente al dominio de un servidor con Active Directory

Siguiendo con los tutoriales para dominar Active Directory, esta vez conectaremos una computadora como host al dominio que hemos creado en nuestro servidor. Este paso es de los más importantes, pues nos permitirá probar si todos los pasos que vamos haciendo están bien. Finalmente, el objetivo es tener clientes en nuestro servidor, de otra forma no nos sirve de nada.

El proceso es muy sencillo, solo se necesita que se encuentren en la misma red y dado que nuestro servidor tiene una IP fija, es necesario configurar esa dirección en el cliente. Después solo es necesario seleccionar el dominio al que nos queremos conectar y listo.

El siguiente video muestra las configuraciones necesarias que se tienen que hacer tanto en el servidor como en el cliente para lograr una conexión. Si al final todo sale bien, el cliente aparecerá en las computadoras de tu Active Directory.

Inténtalo y déjanos saber como te fue en los comentarios. También puedes revisar nuestras entradas anteriores por si te perdiste en algún paso:

Creando Organizational Units en Active Directory >>

Cómo instalar Active Directory en Windows Server 2008 >>

Nota. El servidor está corriendo Windows Server 2008 y Active Directory. El cliente corre Windows 7. Ambos están conectados a la misma red.

[Tutorial] Creando Organizational Units en Active Directory

La semana pasada les mostrábamos como iniciarse en el servicio de directorio utilizando Active Directory. Sin embargo, instalarlo es solo el primer paso. Windows siempre ha tratado de hacer sus productos de una manera straight forward, con sus clásicos menúes denext…next…next.

Aun así, siempre nos encontramos con problemas a lo largo de todo el camino y por eso te queremos explicar paso a paso lo necesario para que puedas trabajar con Active Directory.

Esta vez te mostramos cómo crear  unidades organizacionales o mejor conocidas como OU’s (organizational units) y también a crear usuarios y grupos dentro de ellas. Esto más adelante te servirá para llevar un mejor control sobre las políticas aplicadas a las computadoras clientes.

Por lo pronto, te dejo con este tutorial que no te llevará prácticamente nada de tu tiempo. Estén pendientes de los siguientes tutoriales y déjenos saber que piensan en sus comentarios.

[Tutorial] Cómo instalar Active Directory en Windows Server 2008

Hace no mucho tiempo que publicamos un par de entradas explicando de forma  muy sencilla y breve lo que es un servicio de directorio. En la primera lo explicábamos en general, después hablamos sobre LDAP. Pero pasemos de la teoría a la práctica.

Una de las formas de implementar LDAP en Windows Server es con Active Directory, que incluye ese servicio además de muchos más. Por eso te preparamos un screencast en el que mostramos cómo instalar desde cero Active Directory en Windows Server 2008 y no te llevará prácticamente nada de tiempo. Más adelante te estaremos mostrando cómo configurar políticas, como conectar un cliente a un servidor y al dominio, entre otra cosas. Así que mantente al tanto de este tu sitio QuieroBits.com.

[Tutorial] Explicando el protocolo LDAP

¿Qué es LDAP?

LDAP es un protocolo de acceso ligero a datos y archivos contenidos en un directorio. El servicio LDAP permite organizar toda la información del directorio. Está basado en el modelo X.500.

Descripción protocolo

LDAP utiliza el protocolo TCP/IP para las comunicaciones a través de la red. El protocolo seguido por los clientes y servidores que se comunican es el siguiente:

1.       El cliente se conecta al servidor y solicita autenticación (Bind).

2.       El servidor regresa el código de resultado de la operación de autenticación.

3.       El cliente solicita una operación de búsqueda o cualquier otra operación.

4.       El servidor regresa los resultados de la búsqueda. Si no se encontró nada, no regresa nada.

5.       El servidor envía el código del resultado de la operación de búsqueda al cliente.

6.       El cliente solicita el cierre de la conexión (Unbind).

7.       El servidor regresa el código del resultado de la operación de cierre de conexión y cierra la conexión.

Namespace

Namespace es un concepto que se refiere principalmente a cómo es que las entradas son nombradas en un servicio de directorio, pero también se puede implicar cosas como la estructura organizacional de las entradas.

El namespace de LDAP se utiliza en general para referenciar a los objetos en el directorio. Dado que cada objeto en el directorio debe tener un nombre, este sirve tanto para hacer referencia al mismo como para que pueda ser organizado en la estructura del directorio. Esto implica que si sabes el nombre de la entrada, puedes saber también en dónde está localizado el objeto.

DNS se ha convertido en el namespace estándar de Internet. El namespace que utiliza LDAP es muy similar a DNS, por lo que pueden trabajar bien juntos.

¿Qué es el ESQUEMA?

El esquema (o schema) define las reglas necesarias para que el servicio de directorio trabaje de forma correcta. Estas reglas definen qué tipo de entradas pueden estar dentro del directorio. Uno no puede crear un objeto dentro de un directorio si no está dentro del esquema.

Además, el esquema define reglas sobre qué tipo de valores pueden ponerse en los atributos y qué tipo de operadores son válidos para esos atributos, entre otros.

¿Qué es LDIF?

LDIF es un acrónimo para LDAP Data Interchange Format. Este formato permite representar entradas de un directorio LDAP o cambios hechos en el mismo, en un archivo con formato de texto. Esto nos da una gran flexibilidad en el momento en que queremos migrar datos entre directorios.

LDIF es utilizado para varias funciones como son respaldos de un directorio, replicación, modificación de esquema y cuando mueves una gran cantidad de datos de un directorio a otro.

LDIF permite manipular grandes cantidades de información mucho más fácil de lo que sería con el formato de LDAP. Además, tener el archivo en formato de texto nos permite manipular la información con otros lenguajes como Perl o PHP.

Software para implementación:

Existe mucho software que nos ayuda a implementar un servicio de directorio LDAP. Podemos mencionar los siguientes:

  • Microsoft Active Directory
  • OpenLDAP
  • phpLDAPadmin
  • Novell eDirectory
  • Samba (permite comunicación entre sistemas operativos)

Click aquí para saber más sobre el servicio de directorios.

Wolfram ofrece seminario online gratis


Wolfram, la empresa dedicada al desarrollo de software para aplicaciones científicas, conocida por Mathematica y Wolfram Alpha, está ofreciendo diversas conferencias online completamente gratis a través de Wolfram Education Group.

Gran parte de las conferencias van dirigidas al uso del software Mathematica en algunas de sus aplicaciones, como importar y exportar archivos, procesamiento de imágenes, cálculo discreto, estadísticas y análisis de datos y hasta computación paralela aplicada. Sin embargo, también están disponibles otras pláticas en los que no se trabaja con el software, pero sí están relacionados con las matemáticas, entre ellos temas de cálculo de primer año, trabajar con colecciones de datos y hasta cómo hacer construir demostraciones matemáticas.

La primera conferencia se impartió el pasado 22 de julio, pero se estarán impartiendo muchas más a lo largo de lo que queda de julio, todo el mes de agosto y solo una fecha en el mes de septiembre. Puedes ser parte de todo el seminario o simplemente registrarte para la conferencia que te interese. Para eso, entra al sitio de Wolfram Educational Group donde podrás encontrar el calendario completo.

No dejes pasar esta oportunidad de aprender de uno de los más importantes en software científico y con el gran beneficio de que es gratis y desde la comodidad de tu hogar.