NetBeans, opción gráfica para LeJOS

This entry is part 15 of 22 in the series LeJOS

NetbeansNetbeans es una plataforma que permite la creación de interfaces gráficas, y que es completamente compatible con LeJOS. Existe de hecho un plugin (complemento) de LeJOS para NetBeans, y además las carpetas de ejemplos de LeJOS viene ya preparadas para su compilación y ejecución en NetBeans. Gracias a NetBeans se pueden hacer aplicaciones como un mando radio-control para manejar nuestro robot desde el ordenador. ¿Qué es NetBeans?: La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las APIs (interfaces de programación de aplicaciones) de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software. Compatibilizar NetBeans con LeJOS: Lo primero que necesitamos es descargar e instalar NetBeans, para ello iremos a la página de descargas de NetBeans y nos descargaremos el paquete de Java, que contiene ya todo lo necesario para desarrollar nuestras aplicaciones: Página de descargas de NetBeans Una vez descargado e instalado empezaremos por abrir y probar los programas de ejemplo que vienen ya en la carpeta de ejemplo de LeJOS preparados para su uso en NetBeans. Para ello elegimos Archivo, Abrir Proyecto… : NetBeans1 y buscamos las carpetas samples y pcsamples que estarán en la carpeta de ejemplos de LeJOS (por defecto será …Mis Documentos\leJOSNXJProjects . Una vez abiertos deberia quedar algo así: NetBeans2 Ahora vamos a probar uno normal y otro de PC. Si os dais cuenta dentro de cada carpeta de proyecto hay un archivo llamado build.xml. Si clickeaís con el botón derecho en él y le dais a Ejecutar destino veréis que os muestra todas las opciones de de compilación, linkado, subida … tal y como podéis ver en la imagen anterior. Vamos a probar un programa de samples, el BlueStats por ejemplo. Es importante que tengáis el robot conectado por USB, para saber como podéis revisar mis artículos anteriores sobre Bluetooth. Hacéis click derecho en el build.xml y le dais a a Ejecutar destino, uploadandrun. El programa entonces se compilará, linkará, subirá y ejecutará en el NXT. Este programa lo que hace es mostrarte las estadísticas de la conexión Bluetooth con el NXT. Ahora probaremos otro de los de pcsamples, el que se llama TachoCount. Los programas de pcsamples funcionan de forma diferente, primero necesitas hacer click derecho en el build.xml de la carpeta global de pcsamples, y le dais a Ejecutar destino, build. Una vez hecho esto os metéis en la carpeta individual del programa (TachoCount en este caso) y le dais click derecho, Ejecutar archivo: NetBeans3 Para este programa necesitaréis un motor en el puerto A y otro en el puerto C. Lo que hace dicho programa es mostrar el valor del tacómetro de A y C, rotar luego cada motor, y finalmente volver a mostrar el valor de los tacómetros. Instalación del Plugin de LeJOS: Aunque mi recomendación es que creéis vuestros programas dentro de carpetas de programas de ejemplos, ya que tenéis asegurado que se puedan compilar y ejecutar bien, es posible crear nuestros propios programas por separado, y para ello necesitamos el plugin de LeJOS para NetBeans. Para instalar dicho plugin tenéis que hacer lo siguiente: meteros en Herramientas, Complementos y en la ventana que os sale darle a Descargado, Añadir Plugin… y buscáis el archivo NXJPlugin/build/nxjplugin.nbm que esta en la carpeta de ejemplos de LeJOS: NetBeans5 Le dais a instalar, y decís que si a todo. Una vez instalado podremos crear Proyectos de LeJOS de la siguiente manera: le dais a Archivo, Proyecto Nuevo, Ejemplos, NXJProject: NetBeans4 Es importante que creéis el proyecto en la carpeta de ejemplos de LeJOS. Una vez finalizada la creación tendremos un proyecto plantilla con el programa HelloWorld.java y el archivo build.xml con las opciones de compilación y ejecución. Es importante que añadáis la ruta de las librerías de LeJOS. Para ello haced click derecho en vuestro proyecto, Propiedades…, Ruta de clases de fuentes Java, Añadir JAR/Carpeta… y seleccionas classes.jar de vuestra carpeta de instalación de LeJOS (por defecto estará en C:Archivos de programaleJOS NXJlib: NetBeans6 También deberéis variar las rutas escritas dentro del archivo build.xml para que coincidan con las de vuestra instalación. Una vez hecho todo esto podréis modificar esta plantilla como os plazca para crear vuestro propio programa. Daos cuenta que no se pueden hacer programas para pc de LeJOS mediante este método, solo los de NXT. ¿Cómo crear un programa para LeJOS con interfaz gráfica?: Un pequeño control remoto Para crear un programa con interfaz gráfica usaremos una carpeta ya preparada de las de ejemplos para PC, como por ejemplo la de TachoCount. En ella crearemos lo que se denomina un Form, para lo que haremos click derecho en la carpeta TachoCount, Nuevo.., Formularios de Intefaz gráfica de Swing, Formulario JDialog: NetBeans7 Una vez tengamos el form le pondremos varios botones: Uno para conectar, otro para desconectar, otro para mover el motor A, otro para el C, y otros dos para pararlos. Para añadir botones solo los tenéis que arrastrar de la paleta: NetBeans8 Y podéis renombrarlos en Propiedades después de seleccionarlo, que se encuentra debajo de la paleta: NetBeans9 Una vez añadidos los botones vamos a modificar el código. Para ello darle a Fuente: NetBeans11 Y lo primero que pondremos son la importación librerías que necesitamos (podéis copiar las de TachoCount). Abajo del todo nos crearemos también la variable privada conn que usaremos como conexión: private NXTConnector conn = new NXTConnector(); Una vez hecho esto volver a darle a Diseño. Para poner que hace cada botón al clickear en el damos click derecho en el botón, Eventos, Action, actionPerformed…; esto creará un método y nos llevará a Fuente para que lo programemos. A continuación os pondré el código para cada botón: Conectar: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: conn.addLogListener(new NXTCommLogListener() { public void logEvent(String message) { System.out.println(message); } public void logEvent(Throwable throwable) { System.err.println(throwable.getMessage()); } }); conn.setDebug(true); if (!conn.connectTo(“NXTTorna”, NXTComm.LCP)) { System.err.println(“Fallo de conexiónt”); System.exit(1); } NXTCommand.getSingleton().setNXTComm(conn.getNXTComm()); } 14 – Recordad poner el nombre de vuestro NXT (NXTTorna es el nombre del que estoy usando yo). Desconectar: private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try{ conn.close(); }catch(Exception e){ e.printStackTrace(); } } Motor A: private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Motor.A.forward(); } Motor C: private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Motor.C.forward(); } Parar A: private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Motor.A.stop(); } Parar C: private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Motor.C.stop(); } Para compilar recordad hacer click derecho en el build.xml de la carpeta global de pcsamples, y darle a Ejecutar destino, build. Una vez hecho esto os metéis en la carpeta individual del programa y le dais click derecho, Ejecutar archivo al Form. Os debería salir una ventana de este estilo: NetBeans10 Con la que podéis controlar a vuestro robot. Sé que el artículo de hoy es extenso y complicado, así que os pido que si tenéis alguna duda por favor escribáis en el foro.

Series Navigation<< Bluetooth con LeJOS: Manejo de varios NXT desde PCProblema de la deriva en NXT y LeJOS >>
facebooktwittergoogle_plusredditpinterestlinkedinmailfacebooktwittergoogle_plusredditpinterestlinkedinmail

facebooktwittergoogle_pluslinkedinrssyoutubefacebooktwittergoogle_pluslinkedinrssyoutube

Comments are closed.