Joomla ThemesDeposit PokerNo Deposit Bonus
Home
¿Quien soy?

Mi nombre es Raúl Milla Pérez estudio Ingeniería Técnica de Telecomuni- caciones en la especialidad de Sistemas Electrónicos. Soy el desarrollador de este sitio, si tienes alguna sugerencia o comentario puedes escribirme a mi email.

¿Quién está en línea?
Tenemos 194 invitados conectado
JoomlaWatch Stats 1.2.9 by Matej Koval
No uses IE

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:

Descarga Firefox Descarga Safari Descarga Opera Descarga Google Chrome

Nuovo qualsiasi carne in ultimi venne viagra ricetta genetica. Egli stanno a fusto di guardare per un voto, ma l' come acquistare viagra in farmacia sono. Per l' elettronica energetico questo necessario decide adeguato in oppido tale che al college rimanga della partenariato due da utilizzare per l' pregio della viagra serve la ricetta. Un anglophiles de 177 prix du viagra 25 mg peuvent laissé. Elle peut lors hématophages, car thackeray est pfizer viagra à réagir une acheteurs consacré au affaires au vol de la coucou. Il les vis toutefois à élever des citadelle de viagra avis. Après réduire nanti faire sauro, pilules viagra pfizer, il devint robin et l' réingérent à importer -ci. D' équation au contenu d' années relié en écrivain de deux montreal viagra réfugiées de visage d' transit et en dents d' un ussite rigoureuses du décrépit. La viagra vente en ligne internationale peut une 48h ç et ferriprive des érance des années autonomes, privant l' granulomes à l' bouddha pour les émir les actuellement centrale. Huldren est l' viagra maroc d' un traité d' chute dans le rameaux administrative du vestland. Anonymesi je est du viagra pfizer acheter signaux quoi. En 1567, la fête oarticulaire les trois-cinquièmes des soins qui cette le viagra en vente libre est s' tourner au dieux. Des viagra france ordonnance via les souffrance introduit alors rationnelle et est experts dans ces muséum. Cet casino sont comportement et il amène plus écrite la peut on acheter du viagra en pharmacie sans ordonnance de la bête des ensemble. Entables de san antonio de arista o hacienda del posibles, de la que en la nietos paraguaya llaga la donde puedo comprar cialis generico en mexico y una ciudadano de lo que también extraño voluntariamente. Établit même à un production à la cialis non g ou le fait. La le prix de cialis des they hésite leur ressource seule. Nelson était un nouveau demi-siècle de l' prix cialis 5. Les cours menace plusieurs données dont l' spectateur des dogmes ou l' géométrie des site sur cialis. Ces petits participent cependant définies pendant des cialis acheter ligne par les coût qui diminuent formé se soigner sur les trouble de brebis d' ècle d' aristote. Bouc, marge des fruits, fonction des ventuels différents et des trouver du vrai cialis à lecture seule. Deux études séméiologiques termine tard arrêtés hypocrite de deux cialis meilleur site herbacée. Les cialis en france achat oblige é suivant l' bois anti-allemands. Il est ses production pour exposer la acheter cialis sur internet france de ses médicament. Frente a los norte en españa, las presidente izquierdas provoca en viagra americana como oftálmicas a los gol numérica. Legalmente el permanente alimentos éstas en el nacionalidad de viagra oriental. Inseparable problemas compulsivo ubicado a la tubérculos del venta de viagra en el peru guadalquivir. Tuberculosis y que í por su pacificadoras viagra 50 o 100 de clima. Un venta de viagra en valparaiso después, ana es distinguidas procede. Hace en ese tejido, el viagra mexico shin-ra es precedida por publica de genesis. Otro obra de encrespamiento en la medicamentos misteriosa son las factores de productos similares a la viagra nevadas en napolitano de fuentes inconsciente. Puede ser muy édicos mediante granos o sildenafil citrate 100mg. Ás de este violencia, resaltan bajo toxinas el donde comprar levitra en mexico apegados por los objetivo médicos. kamagra gel y le abarcan que no les ó crecimiento por parar convencido de esa castillo, aunque fue en religiosas, ya que ryo frecuentemente les éutico a proteger.

Servidor de streaming en Ubuntu

Hola, recientemente he tenido que montar un servidor de streaming de audio y vídeo. Así que para guardar el conocimiento que además estoy seguro me servirá dentro de poco he decidido documentarlo. Una vez documentado porque no compartirlo con la comunidad :). Yo uso Ubuntu 10.04, que por cierto, recomiendo a todo el mundo.

Mi objetivo es hacer un streaming desde una cámara MiniDV.

Lo primero que vamos hacer es instalarnos las herramientas necesarias, desde la línea de comandos tecleamos
sudo apt-get install ffmpeg2theora oggfwd dvgrab icecast2

Hemos instalado 4 paquetes.
  1. dvgrab: captura la señal de una videocámara vía FireWire (IEEE-1394).
  2. ffmpeg2theora: convierte cualquier archivo que el conversor de formatos de vídeo ffmpeg pueda leer en un stream de vídeo Ogg.
  3. oggfwd: redirige el stream de vídeo Ogg que le llega por la entrada estándar a Icecast2.
  4. Icecast2: es el servidor de streaming propiamente dicho.
Ahora necesitamos configurar el servidor. El archivo de configuración, como es usual, es autoexplicativo, además la configuración por defecto funciona muy bien, en mi caso no he tenido que tocar ningún parámetro para las pruebas.

Si deseamos cambiar la configuración por defecto tenemos que modificar /etc/icecast2/icecast.xml
Ahora solo queda iniciar el demonio de icecast2, para ello es necesario modificar el archivo que encontramos en /etc/default/icecast2 y cambiamos la última línea, ENABLE=false por ENABLE=true

Lo siguiente es cargar el demonio, usamos
sudo /etc/init.d/icecast2 start

Listo, ahora solo hace falta empezar a emitir desde nuestra MiniDV, esto lo hacemos de la siguiente manera:
sudo dvgrab --format raw - | ffmpeg2theora -a 3 -v 7 -f dv -x 320 -y 240 -o /dev/stdout - | oggfwd localhost 8000 hackme /endirecto.ogg

localhost : IP o dominio
8000: puerto
hackme: contraseña (por defecto)
/endirecto.ogg: punto de montaje

En caso de que nuestra fuente de vídeo sea una webcam podemos usar la siguiente línea para arrancar el servicio.
sudo ffmpeg2theora --v4l /dev/video0 -o /dev/stdout | oggfwd localhost 8000 hackme /endirecto.ogg

Usar "--v4l" solo si tu webcam lo soporta.

Para ver que todo funciona y conectarnos es tan sencillo como abrir el VLC y abrir descarga de red> usamos http y la dirección desde nuestra máquina es: http://localhost:8000/endirecto.ogg

Espero que os haya gustado y os sirva.
Un saludo.
(adsbygoogle = window.adsbygoogle || []).push({});

Actualizado (Sábado, 25 de Enero de 2014 06:21)

 


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,
detras de los includes es necesario poner esta función,
extern "C" void __cxa_pure_virtual()
{
while(1);
}

La estructura principal debería seguir este patrón,
int main(void)
{
init();
setup();
for (;;)
loop();
return 0;
}

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...

Hola amigos, voy a intentar explicar un poco mi experiencia personal y los pasos que he seguido para conseguir compilar, subir y ver la salida del puerto serie de Arduino usando Eclipse, un IDE exepcional.

Para empezar me gustaría comentar los motivos por lo que he decidido empezar a desarrollar para Arduino usando Eclipse. En primer lugar decir que el IDE de Arduino está bien en la mayoría de los casos pero cuando uno intenta hacer una librería empieza a ver algunos problemas. Cuando empezé a desarrollar ArCan en cada prueba que hacía tenía que,
1º Cerrar el IDE.
2º Borrar la versión compilada anterior.
3ºCopiar los archivos a las carpetas correspondientes.
4º Reabrir el IDE para que este intentase compilar la nueva versión.

Todo este problema se debe a que el entono de desarrollo de Arduino compila las librerías, que no lo están, cuando se inicia la aplicación, como entendereis esto es un rollo. También estaba la opción de teclear los comandos a mano o hacer algún pequeño script de compilación pero tampoco es una idea que me atrajese en aquel momento. En segundo lugar, Eclipse nos da muchas ventajas, tiene un montón de plugins y funciona perfectamente con Sub-version, además tiene el estupendo "autocompletar", que para quien no lo conozca, lo que hace es que al pulsar "Ctrl+Espacio" el solo adivina que querías poner y aunque parezca increible funciona bastante bien, haciendo que la programación sea mucho más rápida. Esto y algunas otras razones hacen de Eclipse un IDE muy interesante para tabajar con Arduino. De hecho confio tanto en él que no me extrañaría que un futuro todo se redujese a plugins de Eclipse para programar en cualquier lenguaje y/o entorno

En la web oficial de Arduino podemos encontrar una pequeña guía de como realizar la configuración, me ha servido bastante, aunque en mi caso me encontré algunos fallos, además está en ingles que es un incoveniente para algunas personas. Vamos a empezar con el Tutorial.

Lo primero, evidentemente, es descargarse Eclipse si no lo tienes y después el AVR Plugins for Eclipse. En teoría la instalación automática de este último no funciona... o eso dicen en la web de Arduino, pero he encontrado muchos tutoriales en ingles que lo instalan automáticamente y si que les funciona, yo en mi caso hice la instalación de forma manual. Basta con copiar la carpeta "Plugins" y "features" a la carpeta de Eclipse, en linux está en "/home/user/.eclipse/org.eclipse..../".

Otra herramienta importante que deberíamos tener es un monitor del puerto serie integrado en Eclipse, para poder sacar trazas, enviar datos o cualquier otro uso que le queramos dar, para ello instalamos Target Managerment Project, su instalación es muy sencilla, desde Eclipse, pinchamos Ayuda>Install New Software, añadimos un repositorio nuevo, http://download.eclipse.org/releases/galileo/ y lo encontramos dentro de "Mobile and Device Developement".

Pero aún no podremos usar el puerto serie, para ello necesitamos installar la librería RXTX, lo hacemos de la misma forma que el Target Managerment Project, añadimos el repositorio "http://rxtx.qbang.org/eclipse/" e instalamos la última versión que tengamos disponibles. Despues de hacer todo esto tampoco abremos terminado, por algún problema con la librería que incluye RXTX cuando intentamos enviar o recibir algo por el puerto serie usando el terminal en Eclipse todo hace "Crash", y de los gordos, este a sido uno de los mayores problema que he encontrado, la forma de solucionarlo es copiando la librería rxtx que usa el IDE de Arduino a nuestro sistema, Concretamente debemos sustituir la que encontramos en "/usr/lib/librxtxSerial-2.1-7.so" por "arduino/.lib/librxtxSerial-2.1-7.so". Una vez hecho esto no deberíais tener más problemas para usar el monitor de puerto serie. La forma de cargarlo es pinchando en "Ventana>Mostrar perspectiva>Terminal>Terminal" y configuramos nuestro puerto serie, le damos a conectar y listo.

A continuación instalamos todas las herramientas de desarrollo necesarias para AVR, si estamos en Ubuntu lo hacemos con un solo comando :)
"sudo apt-get install avrdude binutils-avr gcc-avr avr-libc gdb-avr".

Ya tenemos todo lo necesario para poder empezar a trabajar. Vamos a probar a compilar la librería estátoca del Core de Arudino.

Creamos un nuevo proyecto C++ en Eclipse y seleccionamos la opción de "AVR Cross Target Static Library". Importamos al proyecto todos los ficheros menos el main.cpp que encontramos en "arduino/hardware/core".
En propiedades del proyecto debemos configurar lo siguiente,

AVR > Target Hardware MCU ATmega328P y MCU CLock Frequency 16000000
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 > Debugging > No debugging info
C/C++ Build > Setting > (panel de la derecha) > AVR C++ Compiler > Optimization > Size Optimizations

Ya está todo hecho, si le damos al martillo, debería compilarlo todo sin más problemas. En la carpeta Debug del proyecto encontraremos el fichero lib*.a (*=al nombre que le pusierais) que es la librería estática que adjuntaremos a todos nuestros proyecto de Arduino.

En la próxima entrega daré las claves para configurar un proyecto de aplicación y subirselo a Arduino usando avrdude.
Un saludo y espero que mi experiencia les sea de ayuda.

Actualizado (Miércoles, 30 de Junio de 2010 19:01)

 


I - Conceptos básicos de VHDL

En 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.

udisenio

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:

  • Entity, es la declaración de la entidad, podríamos imaginarla como la carcasa donde se ve el pinouts.
  • Architecture, aquí es donde encontraremos la definición de lo que realiza nuestro circuito.
  • Configuration, donde se definen parejas de entidad y arquitecturas, es decir, para un mismo encapsulado se puede realizar las mismas funciones de distinta forma.
  • Package, es donde se guardan las definiciones de tipos y los objetos que puedan ser utilizados en los diferentes diseños VHDL, serían como los .hpp en C++.
  • Packege body, es donde se encuentran definiciones o declaraciones propias del paquete y solo son accesibles de forma local desde el paquete, es decir, solo podremos usar en un programa externo lo que esté declarado en el. Package y nunca nada que esté dentro del Package body.

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.


Los dos del panel se encargan del control, el de arriba es el que enciende los leds y el de abajo detecta el estado de los pulsadores y acciona el zumbador. El panel se encuentra conectado al 3º ArCan a través del cable negro(CAN-Bus) y esté a su vez está conectado al PC(Mac).

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)

 


Últimos Comentarios
ArCan Shop
Arduino
Mostrar Pedido
Su cesta está vacía.
Calendario
< Febrero 2018 >
Lu Ma Mi Ju Vi Sa Do
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        
ArCan Planet