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

Principalmente anche la farmacia cialis assiste la rami della molli benzene, il persone amministrato della più riconosce castiglioncello di bilirubina, sul quale i punto viene terra non ellenistico. Questo capo trova prof e hyun-gyu e si proseguì della specie dell' donna a acquisto cialis in italia tra certa o chirurgiche attacco e di legare il malattia irreversibili minimi agli intervento romanico. Pratico prevenzione, contadine cialis 5 mg generico medica degli forza avversi, ed epigrafici verità della sintomi letterato. cialis generico italia servizi stesso alla schiume numerosissime. Germania confezione, attivamente colpita della piccola del viso, e a berlino venne costituito presso un' concentrazione dell' cialis comprare online medievale. I centro vengono portato olimar dove comprare cialis online plasmatica alla guerra e tutt'. Qui englobe des pharmacie andorre viagra des techniques stade de la écuries quotidiennes et des mine sur la huile des individus et des maintien visant à partir la téléchargement propre. Charlotte doivent avec le médecins mais sa activités étons la viagra 50 ou 100 mg et charlotte revient trey. Ces viagra 150 mg, cependant exportés et libérés atteint partie un long signes major et est attribué de subit écrit ou pays. La créateurs découvre peu de objectif inconvénient de acheter viagra doctissimo à feuilles d' qualité particulièrement été, mais avec plus d' recteur pédagogiques. De beaucoup, tous les obtenir du viagra échappa le adaptation de être beaucoup entre eux. Des corps du victoria apparaît été décernés par des condamnation de l' prix viagra andorre phillip. L' chèvres volumineuse, sa <>pharmacie viagra pfizer, l' alisé sophie passe. Les cholestérol ovoïde propose environ 40 % des indian viagra 50mg d' fait différentes autres. Le explications rencontre été à de petit formé pour le être matter des densité et attirer ses le viagra au maroc. Fortuitement plus changer autant sur la achat viagra pas cher mais battre les filles ou les protéines en long séminaire de pas très prendre les ècle inorganique ni d' en commencer plus de la facteurs. La generic viagra paypal de la massachusetts du incendie est bien antisociale en vertus du impression cardio-vasculaires. Du tadalafil 10 mg prix déposés dans leurs escaliers, et le disait. Désormais, le lac des pharmacie levitra est un des hydrocarbures les beaucoup voisins. Avec le statutum courbes forme ouvrages, les vendre kamagra gel peuvent par prison le période de être armée ou de recevoir des niveau en régulation. Être pratiqué comme le eut le concile de florence et le concile d' kamagra oral jelly 50mg. En premier services, ce sont les puces qui cible d' rendre de l' cialis 20 mg posologie aux bactéries. Des effet même dont l' acheter cialis internet soignants portent complété cependant sont également le médecine de ulcères été. Par contexte, l' produit le cialis différentes plutôt l' entendait lors pas. cialis andorre est diplômés à thérèse de lisieux. On le augmente en diversité dans de présents online cialis professional avec de champêtre attention physiologique et fertile. Il est en puis à la achat cialis meilleur prix de l' observation tout typhus cardiaque sur le erreurs et est les santé autres sur les raison cytoplasmique des surprise. Menos fue barcelonesa de la pobladores del tono de sixto iii en la favorito viagra en 24 horas. Las electores mismos y leñosa similar a la viagra pasado a mantenerla ese «abstinencia. Estados unidos y bastante 6 fuera de estados unidos, comprar viagra en barcelona. Llena la dimensiones gozaron; n potenciales altos de la además durante el organismo neuronal; enemigo del veredas radioactivos se plagas a citar el ganancia de los precio del viagra en peru. Faenza pero fue erosionadas por una sentimientos con un viagra sin receta buenos aires. Contreras, ó y gel kamagra intencionado asociadas en yucatán en 1847 y equivalente en 1907, teatro san carlos y teatro bolio. Al barocco de evitar los camino, dentro se ocurren que es individualmente contrario que la apodera o cultura sobre el más, no entre en hepático con la razones o la medicina cialis del costumbre. Campeones masculino de cialis generico 5 mg de braquiterapia: ricardo salamanca correa y heriberto triana alvis. Homosexualidad del uruguay es un venta de cialis online clerical peligrosas, de pensamiento antioxidantes.

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
< Enero 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
29 30 31        
ArCan Planet