Diferencia entre revisiones de «Stargate»
(→Servidores) |
|||
(No se muestran 25 ediciones intermedias de 2 usuarios) | |||
Línea 1: | Línea 1: | ||
+ | [[Image:Stargate-baner-grande.jpg|center| Proyecto Stargate]] | ||
+ | |||
+ | |||
== Introducción == | == 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''' [[imagen:icono_triste.png]]: | ||
+ | * [[imagen:icono_no_ok.png]]El puerto paralelo y su conector DB25 '''están en extinción'''. Los nuevos ordenadores ya no lo traen. | ||
+ | * [[imagen:icono_no_ok.png]]Son necesarios muchos cables: uno por cada bit que utilicemos. Tendrán que salir desde el PC y llegar hasta nuestra electrónica | ||
+ | * [[imagen:icono_no_ok.png]]Es muy fácil cometer un error y dañar el puerto paralelo | ||
+ | * [[imagen:icono_no_ok.png]]La 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 [[imagen:icono_alegre.png]]: | ||
+ | * [[imagen:icono_ok.png]]'''La 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. | ||
+ | * [[imagen:icono_ok.png]]'''Los programas podrán ser multiplataforma''' | ||
+ | * [[imagen:icono_ok.png]]Si no disponemos de puerto serie podemos usar un '''conversor USB-serie''' o bien usar nuestro propio chip de conversión USB-serie | ||
+ | * [[imagen:icono_ok.png]]Sólo son necesarios '''tres hilos''' para realizar la comunicación | ||
+ | * [[imagen:icono_ok.png]]Estos hilos pueden ser fácilmente sustituibles por '''canales inhalámbricos''': modems radios, bluetooth, etc. | ||
+ | * [[imagen:icono_ok.png]]'''Todos los microcontroladores soportan la comunicación serie'''. | ||
+ | * [[imagen:icono_ok.png]]Los 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 == | ||
+ | {|{{tablabonita}} | ||
+ | !Servidor!!Descripción | ||
+ | |----------------- | ||
+ | | [http://www.iearobotics.com/proyectos/stargate/servidores/sg-echo/sg-echo.html Echo] | ||
+ | || '''Servidor de eco'''. Hace eco de todo lo recibido. Se usa para hacer pruebas | ||
+ | |----------------- | ||
+ | | [http://www.iearobotics.com/proyectos/stargate/servidores/sg-null/sg-null.html 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 | ||
+ | |----------------- | ||
+ | | [http://www.iearobotics.com/proyectos/stargate/servidores/sg-generic/sg-generic.html GENERICO] | ||
+ | || '''Servidor Genérico'''. Permite acceder a todos los recursos del microcontrolador por medio de los servios LOAD y STORE | ||
+ | |----------------- | ||
+ | | [[Stargate:Servos8|SERVOS8]] | ||
+ | || '''Servidor Servos8'''. Control de posición de 8 servos del tipo Futaba 3003 o compatibles | ||
+ | |----------------- | ||
+ | | [[Stargate:PICP|PICP]] | ||
+ | || '''Servidor PICP'''. Grabación de microcontroladores PIC | ||
+ | |} | ||
+ | |||
+ | == Acceso al repositorio == | ||
+ | * SVN del proyecto: [http://svn.iearobotics.com/Stargate/ http://svn.iearobotics.com/Stargate/] | ||
+ | * La última versión se puede obtener así: | ||
+ | svn co http://svn.iearobotics.com/Stargate/ | ||
+ | |||
+ | == Noticias == | ||
+ | * '''26/Jul/2007''': Creado repositorio. Importado el servidor picp para la [[Skypic]] | ||
+ | |||
== Enlaces == | == Enlaces == | ||
[http://www.iearobotics.com/proyectos/stargate/index.html Página oficial] del proyecto stargate | [http://www.iearobotics.com/proyectos/stargate/index.html Página oficial] del proyecto stargate | ||
+ | |||
+ | [[Categoría:Stargate]] | ||
+ | [[Categoría:Proyectos]] |
Revisión actual del 10:06 7 feb 2010
Contenido
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 :
-
El puerto paralelo y su conector DB25 están en extinción. Los nuevos ordenadores ya no lo traen.
-
Son necesarios muchos cables: uno por cada bit que utilicemos. Tendrán que salir desde el PC y llegar hasta nuestra electrónica
-
Es muy fácil cometer un error y dañar el puerto paralelo
-
La 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 :
-
La 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.
-
Los programas podrán ser multiplataforma
-
Si no disponemos de puerto serie podemos usar un conversor USB-serie o bien usar nuestro propio chip de conversión USB-serie
-
Sólo son necesarios tres hilos para realizar la comunicación
-
Estos hilos pueden ser fácilmente sustituibles por canales inhalámbricos: modems radios, bluetooth, etc.
-
Todos los microcontroladores soportan la comunicación serie.
-
Los 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 del proyecto: http://svn.iearobotics.com/Stargate/
- La última versión se puede obtener así:
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