En Internet Explorer 7 y 8 pueden aparecer distintos fallos en la visualización de esta página.
Utilice un navegador seguro y actualizado, que le garantice una visualización sin fallos. Puede emplear navegadores gratuitos:
Servidor de streaming en Ubuntu
Mi objetivo es hacer un streaming desde una cámara MiniDV.
- dvgrab: captura la señal de una videocámara vía FireWire (IEEE-1394).
- ffmpeg2theora: convierte cualquier archivo que el conversor de formatos de vídeo ffmpeg pueda leer en un stream de vídeo Ogg.
- oggfwd: redirige el stream de vídeo Ogg que le llega por la entrada estándar a Icecast2.
- Icecast2: es el servidor de streaming propiamente dicho.
Usar "--v4l" solo si tu webcam lo soporta.
Actualizado (Martes, 06 de Julio de 2010 10:03)
Seguimos con Eclipse+Arduino
Bueno, ahora vamos a explicar como crear una aplicación y subirla a Arduino únicamente usando Eclipse. Para hacer uso del siguiente ejemplo/tutorial hemos de tener todo configurado como en el articulo anterior.
Inicialmente tendremos que crear la configuración de "avrdude", que es el programa que sube los .hex a Arduino, desde el IDE de Arduino, para ello simplemente tenemos que copiar el fichero "arduino/hardware/tools/avrdude.con" a "usr/local/etc".
Ahora abrimos nuestro Eclipse y creamos un proyecto nuevo, aunque en esta ocasión pincharemos "AVR Cross Target Application". En las propiedades del proyecto configuramos los siguientes parámetros,
AVR > AVRDude (panel de la derecha) > New
Programmer Hardware (-c) = "Atmel STK500 Version 1.x firmware"
Override default port (-P) = /dev/ttyUSB0 (en mi caso)
Override default baudrate (-b) = 57600
AVR > Target Hardware MCU ATmega328P y MCU CLock Frequency 16000000
C/C++ Build > Setting > (panel de la derecha) > Additional Tools in Toolchain > Checkear solamente "Generate HEX file for Flash memory" y "Print Size"
C/C++ Build > Setting > (panel de la derecha) > AVR Assembler > Debugging > No debugging info
C/C++ Build > Setting > (panel de la derecha) > AVR Compiler > Directories > Los directorios donde están los headers
C/C++ Build > Setting > (panel de la derecha) > AVR Compiler > Debugging > No debugging info
C/C++ Build > Setting > (panel de la derecha) > AVR Compiler > Optimization > Size Optimizations
C/C++ Build > Setting > (panel de la derecha) > AVR C++ Compiler > Directories > Los directorios donde están los headers
C/C++ Build > Setting > (panel de la derecha) > AVR C++ Compiler > Debugging > No debugging info
C/C++ Build > Setting > (panel de la derecha) > AVR C++ Compiler > Optimization > Size Optimizations
C/C++ Build > Setting > (panel de la derecha) > AVR C++ Linker > Objects > Other Objects (*.o) > Aquit tienes que poner las librerías compiladas *.a y *.o a las que hacen referencia los headers
Este último paso me mareo bastante, puesto que en todos sitios dicen que el parametro que se tiene que configurar es Libraries cuando en realidad es Objects.
Ahora podemos escribir nuestro código teniendo en cuenta lo siguiente,
1º detras de los includes es necesario poner esta función,
extern "C" void __cxa_pure_virtual()
{
while(1);
}
2º La estructura principal debería seguir este patrón,
int main(void)
{
init();
setup();
for (;;)
loop();
return 0;
}
3º Las funciones setup() y loop() la definimos y desarrollamos antes del int main(void), y son las funciones que hacen referencia a la que nos podemos encontrar en el IDE oficial de Arduino.
Ahora le damos al martillo y no deberíamos tener ningún problema en la compilación. Lo único que nos queda es subir nuestro programa a Arduino. Para ello, el Plugins de AVR crea un bontón en el Eclipse, presionamos el reset de la placa y acto seguido le damos al botón. Si todo ha salido bién debería volcar el programa a Arduino y este ponerse a funcionar.
Si en nuestro programa tenemos alguna traza por el puerto serie podemos abrir el Terminal como explicamos en el articulo anterior y ver como Arduino está totalmente integrado en nuestro Eclipse. Espero que les haya gustado. Un saludo y hasta la próxima. Actualizado (Miércoles, 30 de Junio de 2010 18:45) Configurando Eclipse para Arduino...
Actualizado (Miércoles, 30 de Junio de 2010 19:01) I - Conceptos básicos de VHDLEn los próximos artículos vamos a introducir formalmente que es el VHDL. Para empezar comentar que VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language. Por tanto la primera idea que debemos abstraer es que el VHDL no es un lenguaje de programación, es una forma para describir formalmente circuitos electrónicos.
A nosotros en realidad, con el objetivo de configurar las FPGAs, solo nos interesa un pequeño subconjunto del lenguaje VHDL, que es el que los programas de síntesis lógica son capaces de procesar. Digo esto último porque es algo que no llegaba a entender, y es que aunque una sentencia sea sintácticamente correcta en VHDL no quiere decir que el programa de síntesis la interprete como debiera. Así que todos los conceptos que aparezcan en esta web estarán enfocados a descripciones RTL, Register Transfer Level, que es un subconjunto de VHDL que se usa para definir circuitos puramente digitales.
La estructura general de un programa VHDL está formado por módulos o unidades de diseño, cada uno de ellos compuesto por un conjunto de declaraciones e instrucciones que definen, describen, estructuran, analizan y evalúan el comportamiento de un sistema digital. Existem 5 tipos de unidades de diseño:
En los próximos artículos nos iremos adentrando poco a poco en todo los referente al lenguaje e iremos mostrando algunos ejemplos de uso. Hasta pronto amigos! PD: ¿Que os parecería si todas las semanas se coloca algún ejercicio VHDL en el foro? así podríamos participar todos y aprender unos de otros ^^. Actualizado (Jueves, 19 de Noviembre de 2009 19:33) Video de ArCan funcioando :)
Me gustaría compartir con vosotros este video, donde pruebo el funcionamiento de ArCan. Básicamente el sistema está compuesto por 3 Arduino+ArCan y la única forma de intercomunicación entre ellos es a través de CAN.
El software es el encargado de dar las ordenes y chequear el estado de los pulsadores, todo esto se realiza mendiante un protocolo propio muy sencillo, dejo aquí el código fuente por si queréis darle un vistazo. La aplicación del PC está realizado con LabWindows CVI, más que nada por la facilidad que nos ofrece en este tipo de escenarios. Un saludo a todos y espero que os guste! Actualizado (Lunes, 16 de Noviembre de 2009 18:46) |










