Jun 24

El día de ayer recibí noticias de Hernando Barragan de la llegada del Release Candidate 1.0 de la versión del ambiente de desarrollo  de Wiring (La plataforma de hardware abierto para el desarrollo de prototipos) que ha venido madurando desde hace mucho tiempo y la cual comienza hacer mas abierta permitiendo el uso de otras plataformas de hardware, la nueva versión tendrá :

  • Soporte para tarjetas Wiring y otros  fabricantes/marcas, incluidos chips de atmel en formato DIP, Arduino, etc. que pueden ser programados directamente desde Wiring.
  • Una Nuueva arquitecura de Wiring permite hablar realmente de open hardware, mediante un sistema de núcleos (Cores).
  • Disponible el core AVR8 que permite usar todo tipo de chip Atmel AVR-8Bits,en proximas versiones se  tendra cores para AVRTiny, Microchip PIC y ARM.
  • Un sistema de librerías Core que están implementadas sobre cada core específico, un sistema de librerias multi-plataforma que pueden funcionar con cualquiera de los cores que estarán disponibles.
  • Referencia en Inglés y Español seleccionable mediante el Menu Preferences de la aplicación.
  • Librerías para Processing y Openframeworks usando el protocolo Firmata.
  • El API incluye nuevos comandos que estabilizan el lenguaje y permiten aprovechar el poder de cada plataforma, cosas como poder seleccionar la frecuencia y la resolución de un pin PWM. Tonos polifónicos, pullups, manejo avanzado de potencia.
  • Un sistema apropiado de instalación para los diferentes sistemas
  • Multi ventanas para abrir diferentes Sketchs.
  • Visualizacion de los esquematicos si el Sketch los contiene.
  • Nuevo hardware compuesto de varios modelos.
  • Definicion para la coinstruccion en casa de la tarjeta basada en los chips de Atmel atmega168, atmega328p y atmega644p.
  • Soporte para el hardware de Arduino directamente

Como se puede apreciar son muchos los cambios en esta nueva versión de Wiring que lo convierte no solo en una plataforma de hardware abierto, si no en un lenguaje de programación multiplataforma gracias a su nueva arquitectura basadas en núcleos, que permite su implementación para un sin numero de plataformas de hardware permitiendo escribir código Wiring para gran cantidad de dispositivos.

Estaremos haciendo las pruebas respectivas del Ambiente de Desarrollo de Wiring 1.0 RC3 el cual esta disponible actualmente para MacOSX y Windows, desafortunadamente en estos momento no se encuentra la version para Linux, pero pronto se publicara en el sitio de Wiring.

Enlaces :

 

Tagged with:



En June 24 de 2011, Marlon J. Manrique escribió acerca de Wiring : Pronto llega a la version 1.0.
Jun 24

Ques es Wiring

Sindicados Comments Off


Tal vez muchos de los que están leyendo esta entrada no conozcan a Wiring, tal vez llegaron aquí buscando información sobre Arduino o el hardware abierto y no tengan la menor idea que un Colombiano es el creador de esta tarjeta que se convirtió en el antecesor de Arduino y que origino todo un movimiento de artistas de la era digital que utilizan estas plataformas para la creación de sus obras interactivas,  así que aquí esta un pedacito de la historia no oficial de Wiring, la cual tal vez no sea del todo cierta, pero es lo que me han contado por ahí y espero ir corrigiendo y adicionando  información gracias a los comentarios que aqui se haga, asi que estan cordialmente invitados a poner su granito de arena en esta gran historia.

Algo de Historia :

Antes del nacimiento de las plataformas de hardware libre, ya en algunas instituciones educativas se enseñaba la programación de micro controladores a los usuarios no técnicos con tecnicas de Computacion Fisica (termico acuñado por Tom Igoe) que requerían obtener información o actuar en el medio a través de montajes electrónicos simples, pero las herramientas disponibles estaban orientadas a Ingenieros y pocas eran amigables para enseñar la programación de estos dispositivos a usuarios no programadores.

Hernando Barragan

En el año 2003 en el instituto italiano Ivrea una escuela dedicada al campo de Diseño Interactivo, donde los estudiantes centraban sus estudios en como los usuarios interactuan con dispositivos, muchos de ellos basados en micro controladores, que permiten obtener información del medio y actuar en el a través de la programación, el docente Massimo Banzi (uno de los creadores de Arduino) desarrollo un ambiente de desarrollo en Mac para PICs utilizado para la enseñanza fácil de la programación a usuarios no técnicos. Ese mismo año el estudiante Colombiano Hernando Barragan crea un tarjeta de entrada y salida multi proposito basada en un micro controlador y un ambiente de desarrollo integrado basado en Processing (un lenguaje de programación y ambiente de desarrollo creado para la enseñanza de la programación a no programadores en un contexto visual) creando asi a Wiring una plataforma de hardware multiproposito con un ambiente de desarrollo para no programadores. Mas tarde Massimo Banzi acompañado por un equipo de trabajo desarrollan Arduino basado en el trabajo de Hernando Barragan.

Wiring Board

La Tarjeta Wiring I/O :

Con un tamaño de 9 cm x 6 cm esta tarjeta de entrada y salida multi proposito cuenta en su cerebro con el micro controlador Atmega 128 y con un corazón que late a 16 Mhz y la cual posee 43 pines digitales, 8 pines análogos, 6 salidas PWM, 8 interrupciones externas, dos puertos seriales, puerto USB, entrada regulada de voltaje que soporta entre 7 y 12 voltios, memoria de 128 KB, LEDs indicadores de potencia y transmisión, ademas del soporte de ISP y TWI. Todos los pines están expuestos a través de regletas, cuenta con un botón para reiniciar la tarjeta y un jumper para seleccionar la fuente de poder entre el puerto USB y una fuente externa. Esta tarjeta es una plataforma excelente para la programación de proyectos de mediana envergadura gracias a la gran cantidad de salidas y entradas, su gran capacidad de memoria que todavia la versiones oficiales de Arduino no llegan a tener.

El Ambiente de Desarrollo :

Wiring IDE

Wiring IDE

El ambiente de desarrollo de Wiring puede ejecutarse en plataformas como Linux, Windows y MacOS X gracias a que esta desarrollado en Java, este esta basado en el ambiente de desarrollo de Processing que permite la creación de sketchs (aplicativos) visuales y el cual tiene como objetivo brindar una plataforma amigable y fácil de usar lo cual hereda Wiring, permitiendo en un solo ambiente de programación, el desarrollo de programas en un lenguaje propio o utilizando C++, su compilación basada en el compilador de AVR y sus librerías, ademas de permitir la descarga directamente a la tarjeta a través de la conexión con el puerto USB.  Esto permite crear y probar rápidamente sketchs en la tarjeta sin utilizar herramientas adicionales, como también acceder fácilmente al hardware a través de funciones que encapsulan muchos detalles complejos del manejo del hardware en un lenguaje llamado Wiring.

El Lenguaje de Programación :

Uno de las características de la plataforma Wiring es el conjunto de funciones, variables y constantes que encapsulan el funcionamiento del hardware facilitando el uso del mismo, a este conjunto se le conoce como el lenguaje Wiring, esto también incluye la estructura de un sketch (programa), adicional mente se puede utilizar las características del lenguaje C++ dentro del ambiente de desarrollo lo que permite crear prototipos de funciones, punteros, clases y objetos e incluso utilizar lenguaje de maquina y otras características propias del compilador para micro controladores de AVR. Esto da una gran flexibilidad al momento de crear proyectos complejos y gracias al ambiente de desarrollo permite crear aplicaciones rápidamente. También es posible desarrollar librerías que pueden ser instaladas dentro del ambiente de desarrollo y existe un gran numero de ellas en el sitio oficial de Wiring y en Internet, que permiten el manejos de Servos, Comunicacion Serial, pantallas LCD, GPS y muchos otros componentes.

El lenguaje Wiring es tambien utilizado hoy por la plataforma Arduino.

Wiring Hoy :

Wiring sigue activo y Hernando Barragan sigue a la cabeza del proyecto ahora desde la Universidad de los Andes donde es muy utilizado por los estudiantes de Diseño, ademas es utilizado activamente en el desarrollo de proyectos interactivos en todo el mundo y en años recientes apareció la Wiring-Mini una versión mas compacta que permite su uso en proyectos mas pequeños y en días pasados se anuncio una nueva versión de la tarjeta con un nuevo micro controlador de mayor capacidad.

Actualmente la plataforma Wiring es Hardware y Software y en su pagina se pueden encontrar los diagramas de la tarjeta y el software para su descarga, ademas de su código fuente.

Enlaces :

Tagged with:



En June 24 de 2011, Marlon J. Manrique escribió acerca de Ques es Wiring.
Jan 21

NetBeans 6.5Siguen y siguen apareciendo nuevas caracteristicas para la version de PHP de NetBeans, esta vez es el turno para las pruebas unitarias, que al igual que la version para Java permiten crear pruebas para cada clase creando una clase completa que sirve para automatizar las pruebas las cuales se pueden ejecutar en cualquier momento utilizando el mismo editor.

Requisitos :

  • Tener instalado el paquete phpunit
    Abrir una terminal, instalar el paquete
    sudo apt-get install phpunit

Pasos :

  • Abrir una terminal
  • Descarga una version de desarrollo de NetBeans para PHP,
    por ejemplo la version del 20 de Enero de 2008
    wget http://bits.netbeans.org/download/trunk/nightly/latest/zip/netbeans-trunk-nightly-200901201401-php.zip
  • Descomprimir
    unzip netbeans-trunk-nightly-200901201401-php.zip
  • Ejecutar, se puede utilizar la opcion --userdir para especificar un directorio diferente de opciones
    ./netbeans/bin/netbeans.sh --userdir /home/<usuario>/netbeans/php
  • Crear un proyecto llamado calculadora_php
    File -> New Project -> PHP -> PHP Application
    Pulsar el boton Next
    Colocar el nombre  : calculadora_php
  • Abrir las opciones del NetBeans
    Menu Tools -> Options
    Seleccionar la pestaña PHP
  • Adicionar la ruta del PHPUnit
    PHP Unit Script : /usr/bin/phpunit
  • Adicionar un directorio al Global Include Path
    Pulsar el boto Add Folder
    Seleccionar el directorio /usr/share/php
  • Crear la clase Calculadora.php con el siguiente codigo :
    <?php
    class Calculadora {
        function sumar($a, $b) {
            return $a+$b;
    }
    ?>
  • En la lista de archivos de proyecto, click derecho sobre Calculadora.php
    Tools -> Create PHP Unit tests
  • Crear el directorio donde se almacenaran las pruebas
    Abir una terminal y ejecutar
    mkdir /home/<usuario>/public_html/test_php/tests
  • Esto abre una caja de dialogo donde se nos pide la ruta completa de donde se almacenaran las prueba.
    Digitar : /home/<usuario>/public_html/test_php/tests
  • NetBeans genera una clase con los metodos necesarios para ser una prueba unitaria
    Abrir la clase y buscar el metodo testSumar, cambiar para que luzca asi :
        public function testAdd() {
            $a = 5;
            $b = 3;
            $r = $this->object->add($a, $b);
            $this->assertEquals($r,8);
        }
  • Ahora puede seleccionar la clase CalculadoraTest.php, click derecho y Run
  • Esto ejecuta la prueba unitaria

Actualmente esta version esta en desarrollo y los nombres para ejecutar las pruebas pueden cambiar por ejemplo a Run Test. A diferencia de la version Java en este momento al finalizar la prueba el resultado es visible en la consola, pero no de manera grafica.

Algo que me parecio raro, es que al momento de crear las pruebas me solicitara la ruta completa para almacenar las clases, pero leyendo mas acerca de esta nueva caracteristica, todavia esta en discusion donde se deben crear las pruebas unitarias, pues no deben ser parte del producto final, pero deben poderse publicar para realizar pruebas sobre los servidores en los cuales se esta trabajando y no solamente locales, de tal modo que por el momento se deberia escojer un directorio por fuera del proyecto, aunque en el ejemplo utilizamos un directorio tests dentro del proyecto para facilitar las cosas.

Desde los dias de Thunder he utilizado SimpleTest (otro framework para realizar pruebas para PHP), pero ahora que NetBeans tiene el soporte listo para PHPUnit creo que estare pensando en migrar muchas de las pruebas unitarias a esta herramienta, a no ser que de aqui a eso saquen una version para SimpleTest. Queda pendiente hacerle el seguimiento a esta nueva caracteristica y mirar que framework se esta pensando para las pruebas web.

Enlaces :

Tagged with:



En January 21 de 2009, Marlon J. Manrique escribió acerca de NetBeans, PHPUnit y Ubuntu.
Jan 13

NetBeans 6.5

Luego de buscar que framework y que editor utilizan en mis desarrollos en PHP, me decidi finalmente por Yii y NetBeans aunque despues de trabajar un poquito con Yii, me parece que Prado sigue siendo una buena opcion para el desarrollo, apoyado tambienen que hoy encontre en el blog de desarrollo de NetBeans para PHP con un modulo con soporte para Prado, creo que lo estare probando esta semana y seguramente sera el utilizado para continuar con el desarrollo de la plataforma en la Universidad.Prado

Ojala y este modulo lo sigan desarrollando, por que la mayoria de usuario de NetBeans para PHP piden soporte para Symfony.

Pasos :

  • Abrir una terminal
  • Descargar la version de desarrollo de NetBeans para PHP :
    http://bits.netbeans.org/download/trunk/nightly/latest/
  • Descargamos la version en Zip :
    wget http://bits.netbeans.org/download/trunk/nightly/latest/zip/netbeans-trunk-nightly-200901121401-php.zip
  • Download the Prado Module :
    wget http://blogs.sun.com/netbeansphp/resource/other/org-netbeans-modules-php-prado-001.nbm
  • Descomrpimir el NetBeans
    unzip netbeans-trunk-nightly-200901121401-php.zip
  • Ejecutar el NetBeans utilizando la opcion --userdir :
    ./netbeans/bin/netbeans.sh --userdir ~/netbeans/php
  • Instalar el modulo a traves del manejador de Plugins :
    Menu Tools -> Plugins -> Downloaded -> Add Plugin
  • Seleccionar el archivo nbm
  • Seguir las indicaciones
  • Reiniciar el NetBeans
  • Crear un proyecto PHP
  • Incluir el Framework de Prado en los Include Path

Enlaces :

Tagged with:



En January 13 de 2009, Marlon J. Manrique escribió acerca de NetBeans y PHP Prado.
Jan 13

NetBeans Downloads

Es posible comenzar a utilizar NetBeans sin necesidad de realizar los pasos de instalacion, gracias a la distribucion en archivo Zip que podemos encontrar en la pagina de descaraga en el sitio oficial, esto permite saltarse la necesidad de permisos de administracion en algunas plataformas, poder instalar varias versiones finales y de prueba.

NetBeans Downloads

Pasos :

  • Ir al sitio de descarga oficial :
    http://www.netbeans.org/downloads
  • En la parte superior encontramos enlaces a la version actual, proximas versiones, versiones en desarrollo y el archivo si necesitamos descargar una version anterior, ejemplo :
    6.5
    | 7.0M1 | Python EA | Development | Archive
  • Tambien podemos seleccionar la plataforma para bajar los instaladores, aqui necesitamos seleccionar la opcion OS Independent Zip para descargar los archivos Zip
  • Al momento de realizar este cambio se nos advierte que debemos instalar por aparte los servidores de aplicaciones como el Tomcat o el GlassFish ya que no vienen con la version en Zip
  • Descargamos el archivo, por ejemplo NetBeans 6.5 para PHP en Zip :
    http://services.netbeans.org/bouncer/index.php?product=netbeans-6.5-php&os=zip
  • Descomprimimos el archivo :
    unzip netbeans-6.5-200811100001-ml-php.zip
  • Ejecutamos el NetBeans :
    cd netbeans/bin
    ./netbeans
  • Podemos cambiar el archivo de configuracion con la opcion --userdir como se explico en entradas anteriores.

Enlaces :

Tagged with:



En January 13 de 2009, Marlon J. Manrique escribió acerca de Instalando NetBeans desde Archivo Zip.
Jan 13

NetBeans Splash

Si es de los que les molesta la ventana de inicio de NetBeans es posible hacer que no aparezca cuando se carga el IDE, simplemente realice los siguientes pasos :

  • Abrir una terminal
  • Cambiar al directorio de instalacion de NetBeans
    cd <netbeans>
  • Cambiar al directorio de binarios
    cd bin
  • Ejecutar el NetBeans con la opcion --nosplash
    ./netbeans.sh --nosplash

Puede crear un archivo shell con la instruccion para no tener que digitarla siempre.

Enlaces :

Tagged with:



En January 13 de 2009, Marlon J. Manrique escribió acerca de Quitar Ventana Inicial de NetBeans.
Jan 13

NetBeans 6.5Si se quiere instalar y utilizar diferentes versiones de NetBeans en la misma maquina o se quieren probar las ultimas versiones de desarrollo, es recomendable separar las configuraciones para cada una de las versiones e incluso crear algunas temporales para realizar pruebas.

Pasos :

  • Abrir una consola
  • Crear un directorio para almacenar las diferentes configuraciones de los NetBeans a utilizar, por ejemplo :
    mkdir ~/netbeans
  • Crear un directorio para almacenar la configuracion de una de las versiones a utilizar, por ejemplo :
    mkdir ~/netbeans/php
  • Descargar e instalar la version de NetBeans a utilizar
  • Ir al directorio raiz del recien instalado NetBeans
    cd <netbeans>
  • Ir al directorio de binarios
    cd bin
  • Ejecutara el comando de NetBeans con el userdir
    ./netbeans.sh --userdir ~/netbeans/php

Para tener otras versiones realice los pasos anteriores con cada una asi tendremos una configuracion separada por cada version de NetBeans, como tambien podremos cargar la version mas adecuada para nuestro proyecto sin recargar el sistema.  Incluso podemos ejecutar varios NetBeans al mismo tiempo.

Enlaces :

Tagged with:



En January 13 de 2009, Marlon J. Manrique escribió acerca de Ejecutando Varias Versiones de NetBeans.
Jan 13

NetBeans 6.5Ultimamente ando trabajando mucho en NetBeans, sobre todo para el desarrollo de librerias y de aplicaciones en Java y ultimamente como editor de PHP. Como muchos saben NetBeans es un poquito pesado sobre todo para aquellas maquinas con poca RAM por tal motivo me gusta mucho utilizar las versiones basicas que no incluyen los componentes web.

Versiones de NetBeans 6.5 :

  • JavaSE (39MB)
    Desarrollo de librerias basicas y aplicaciones de Escritorio
  • JavaFX (62 MB)
    Creacion de aplicaciones con JavaFX (no disponible en Linux)
  • Java (208 MB)
    Desarrollo de Aplicaciones Web con JSP, desarrollo de aplicaciones empresariales con J2EE, incluye servidor de aplicaciones Tomcat y GlassFish
  • Ruby (58 MB)
    Desarrollo de aplicaciones web con Ruby, incluye servidor de aplicaciones GlassFish
  • C/C++ (24 MB)
    Desarrollo de aplicaciones en C/C++ (la verdad no lo he probado todavia)
  • PHP (26 MB)
    Desarrollo de aplicaciones de consola y web en PHP
  • Completa (245 MB)
    Contiene todas las versiones anteriores

Como puede observarse es muy amplio el espectro de soluciones que brinda NetBeans para cada tipo de desarrolladores, lo bueno de esta division es que podemos instalar la version que mas nos interese sin necesidad de sobrecargar el sistema y para aquellos que tienen buena maquina pueden instalar la version completa.

Enlaces :

Tagged with:



En January 13 de 2009, Marlon J. Manrique escribió acerca de Versiones de NetBeans.
Jan 08


Ya llevo unas 14 horas de trabajo con el Yii Framework y la verdad me ha gustado, se parece mucho a Prado, se pueden hacer componentes, el MVC es facil de desarrollar, la configuracion es rapida y el desempeño tambien, solo he tenido un problema con la intenacionalizacion de los nombres en las formas y que todavia no tiene un esquema de pruebas unitarias.

Pero esta entrada no es para hablar de Yii si no de la busqueda de un editor de PHP que por fin llego a su fin (como tambien la busqueda del Framework). Resulta  que hace tambien algunos dias andaba buscando un editor para PHP, que me permitiera hacer todas esas cosas que hacen hoy en dia para otros lenguajes como Java; estuve probando editores de codigo como el BlueFish y el Notepad++ los cuales son muy utiles cuando no se tiene o no se puede instalar un IDE como tal, pero queria un IDE de esos de verdad entonces mire Eclipse que no me termina de gustar y Aptana que tiene un soporte muy bueno para PHP pero de nuevo es Eclipse, asi que me dio por probar NetBeans 6.5 con soporte para PHP y me gusto, todavia no tiene todas las caracteristicas que tiene para Java, pero el soporte basico es bueno, eso si instale la version solo con PHP por que si instalo la J2EE y los plugins mi pobre maquina no aguanta asi que estoy utilizando el NetBeans de 36MB y funciona muy rapido. Algunas cosas que si me hacen falta es el Refactor y la generacion de pruebas unitarias.

Enlaces :

Tagged with:



En January 8 de 2009, Marlon J. Manrique escribió acerca de Editor para PHP.