Stargate

De WikiRobotics
Saltar a: navegación, buscar
Proyecto Stargate


Introducción

Una parte muy interesante de la informática es la posibilidad de acceder al "mundo exterior" al PC, para leer datos e interactuar con él. Por ejemplo controlar el encendido y apagado de unas luces (aplicación domótica), mover un robot, programar un microcontrolador, leer la temperatura o luz exteriores, cronometrar un evento, etc.

Una alternativa: Puerto paralelo

La manera más sencilla de acceder al exterior desde el PC es el uso del puerto paralelo. Proporciona un canal digital para entrada/salida de bits. Sin embargo tiene muchas desventajas Icono triste.png:

  • Icono no ok.pngEl puerto paralelo y su conector DB25 están en extinción. Los nuevos ordenadores ya no lo traen.
  • Icono no ok.pngSon necesarios muchos cables: uno por cada bit que utilicemos. Tendrán que salir desde el PC y llegar hasta nuestra electrónica
  • Icono no ok.pngEs muy fácil cometer un error y dañar el puerto paralelo
  • Icono no ok.pngLa sincronización entre el PC y los periféricos la hace el software. Esto implica que el software NO será multiplataforma. Además, un programa que funcione en mi PC es muy problable que falle en otro (aunque el sistema operativo sea el mismo).

Otra alternativa mejor: Puerto serie + microcontrolador

La otra alternativa es usar un microcontrolador que estará conectado al PC a través del puerto serie. El microcontrolador será el que realice el control de los dispositivos exteriores y se comunicará con nuestro software en el PC. Las ventajas de esta arquitectura son Icono alegre.png:

  • Icono ok.pngLa comunicación por puerto serie (RS-232) está estandarizada y hay un hardware que la realiza por nosotros. De manera que siempre funcionará independientemente del PC que utilicemos. Incluso se podrán sustituir el PC por otro microcontrolador, un teléfono móvil... las comunicaciones seguirán funcionando.
  • Icono ok.pngLos programas podrán ser multiplataforma
  • Icono ok.pngSi no disponemos de puerto serie podemos usar un conversor USB-serie o bien usar nuestro propio chip de conversión USB-serie
  • Icono ok.pngSólo son necesarios tres hilos para realizar la comunicación
  • Icono ok.pngEstos hilos pueden ser fácilmente sustituibles por canales inhalámbricos: modems radios, bluetooth, etc.
  • Icono ok.pngTodos los microcontroladores soportan la comunicación serie.
  • Icono ok.pngLos microcontroladores son muy baratos y muy fáciles de poner en marcha

¿Qué es el proyecto Stargate?

El conjunto de varias cosas:

  • Una arquitectura cliente/servidor para comunicar por el puerto serie el cliente (PC) con el stargate (firmware que corre en el microcontrolador)
  • Una serie de servicios definidos que ofrece el microcontrolador
  • El protocolo que implementa esos servicios
  • El firmware que se ejecuta en los microcontroladores (servidores)

¿Cómo empezar a usarlo?

Los pasos para comenzar a utilizar Stargate como plataforma de desarrollo son sencillos.

  • Disponer de un dispositivo controlado con un microcontrolador soportado.
  • Grabar en el PIC el PIC_Bootloader para poder comenzar a utilizarlo.
  • Mediante el uso de un cargador tal y como se describen en PIC_Bootloader cargar el servidor que más os interese.
  • Listo! Ya podeis empezar a enviar comandos a vuestros servidores favoritos a través de libStargate.

Servidores

Servidor Descripción
Echo Servidor de eco. Hace eco de todo lo recibido. Se usa para hacer pruebas
NULO Servidor Nulo. Sólo implementa los servicios básicos (PING e ID). Sirve de base para la implementación de otros más avanzados
GENERICO Servidor Genérico. Permite acceder a todos los recursos del microcontrolador por medio de los servios LOAD y STORE
SERVOS8 Servidor Servos8. Control de posición de 8 servos del tipo Futaba 3003 o compatibles
PICP Servidor PICP. Grabación de microcontroladores PIC

Acceso al repositorio

svn co http://svn.iearobotics.com/Stargate/

Noticias

  • 26/Jul/2007: Creado repositorio. Importado el servidor picp para la Skypic

Enlaces

Página oficial del proyecto stargate