| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
madriles75
Registrado: 25 Ago 2005 Mensajes: 4
| Publicado: 25/08/2005 11:39 pm | | | Título: Qué lenguaje elegir? C++ o Java? |
| Buenas a tod@s. Soy nuevo por aquí, y mi pregunta es bastante peliaguda.
Estoy realizando el proyecto fin de carrera de informática de gestión. El proyecto en cuestión, va de domótica e informática y consta de tres partes, una aplicación más hardware, consistente en un microcontrolador PIC que será quien controle la activación y desactivación de una serie de dispositivos físicos (persianas, depuradora, caldera, riego) y a la vez, estará en comunicación bidireccional vía puerto serie con una aplicación GUI que será la interfaz principal de usuario para monitorizar el estado del sistema, modificar datos (horas de activación, modos de funcionamiento, etc…). Esta aplicación, a su vez debe funcionar de forma remota, vía Internet, por lo que he pensado que lo ideal es crear en el PC local una aplicación servidor que será la que se comunique directamente con el microcontrolador PIC, y una aplicación cliente que será la que haga de interfaz principal de usuario, tanto a nivel local cómo a nivel remoto.
Y la pregunta del millón es ¿con qué lenguaje?
Había pensado usar Borland Builder C++ para la aplicación local, pero al tener que trabajar con otros clientes remotos, ya no se muy bien cómo hacerlo, pues he leído algo sobre CORBA, pero me parece algo complicado.
Ahora, he leído que usando Java también puedo manejar el puerto serie, y la verdad creo (que no se con certeza), que Java es lo más sencillo para crear aplicaciones cliente/servidor mediante applets y servlets, al menos más sencillo que CORBA.
También me han comentado sobre usar CGI, pero eso ya no tengo ni idea de cómo hacerlo.
En fin, este es mi dilema, pues si bien en C++ tengo cierta experiencia y con el Builder me defiendo medianamente, de Java no tengo ni idea, y claro de JBuilder (que sería lo que necesitaría para realizar los GUI en Java, ¿no?) tampoco tengo idea. De CORBA, sólo conozco la teoría (vale, en Java se hacer al típico “Hola Mundo!”) y cuanto más leo, más lío me hago. En cuanto a CGI, cero conocimientos.
En fin, ¿me podríais echar un cable y aclararme esto un poco?
Gracias de antemano. |
| | Volver arriba | |  | quique
Registrado: 30 Mar 2004 Mensajes: 720 Ubicación: Por ahí
| Publicado: 02/09/2005 5:24 am | | | Título: |
| Espero que la respuesta no te llegue demasiado tarde.
1) Puedes describir un poco más detenidamente el sistema desde el punto de vista del HW? Es decir, cuando dices GUI, es un micro que está en la misma placa que el PIC o es un PC independiente?
2) Dices que debes desarrollar el HW. Cuál? Qué nota quieres sacar? 
3) Qué lenguajes de programación quieres aprender y cual le gusta a tu profesor?
Ahí van varias opciones: - Realizas una placa con PIC y micro, por ejemplo, un PowerPC. El PIC lo conectas al PPC por el puerto serie. Como SO utilizas "Embedded Linux". El PIC lo programas en C (IDE de IAR, por ejemplo), y la aplicación de comunicación también. El interfaz con el usuario, es a través de un Web Server. Esta implementación es "cara", necesitas tiempo, pero es de 10.
- El PIC en su placa, lo conectas con un PC. Realizas una DLL de comunicación PC-PIC. En el PC instalas un WebServer que sirve de GUI. La comunicación WebServer - DLL la puedes hacer con Java o con otros lenguajes, pero el PIC siempre en C. No es tan espectacular, pero no necesitas ni tanto tiempo ni esfuerzo.
Salu2 _________________ /* no comment */ |
| | Volver arriba | |  | madriles75
Registrado: 25 Ago 2005 Mensajes: 4
| Publicado: 15/09/2005 11:09 pm | | | Título: |
| | quique escribió: | | Espero que la respuesta no te llegue demasiado tarde. |
Nunca es tarde si la dicha es buena, al menos eso dicen 
| quique escribió: | 1) Puedes describir un poco más detenidamente el sistema desde el punto de vista del HW? Es decir, cuando dices GUI, es un micro que está en la misma placa que el PIC o es un PC independiente?
2) Dices que debes desarrollar el HW. Cuál? Qué nota quieres sacar? 
|
Pues el sistema hardware consistía en integrar en una placa un microcontrolador PIC, funcionando con una serie de sensores (luz y temperatura) y actuadores (etapas de potencia para activar electrovalvulas, persianas, una caldera y una depuradora). También debía tener conexión serie para la comunicación con un PC.
Finalmente encontré por ahí una plataforma de desarrollo llamada PIC Laboratory, que tenía ya incluido un sensor de luz, potenciometros que simulan el sensor de temperatura, conexión serie, un display y un teclado, así que de la parte hardware, prácticamente me olvido, al menos en lo que a cacharreo se refiere, ya que ahora lo que toca es desarrollar la aplicación del PIC, en ensamblador, ya que usar un compilador de C me ocupa mucha memoria de programa, de la cuál ando excaso (4Kb)
| quique escribió: | | 3) Qué lenguajes de programación quieres aprender y cual le gusta a tu profesor? |
Ya te he comentado que el PIC va a funcionar con un programa de monitorización y actuación hecho en ensamblador. Las dudas vienen a la hora de realizar la interfaz de usuario, que será la aplicación con la que interactue principalmente el usuario, monitorizando el sistema y modificando parámetros de programación de temporizaciones de los automatismos (riego, persianas, caldera, depuradora) o incluso actuando manualmente sobre ellos.
Una cosa es clara, debo usar técnicas cliente/servidor, siendo el servidor (desarrollado en CORBA en un principio es mi elección, bueno, aconsejada también por el tutor), el que se comunicará vía serie con el PIC, establecerá un protocolo de comunicación capaz de hacer entenderse a las dos máquinas, y a su vez también deberá comunicarse con los posibles clientes que harán las veces de interfaces de usuario.
Y aquí viene la duda, pues la idea era hacer los clientes multiplataforma, tanto para Linux, cómo para Windows. La opción es clara, usando los navegadores, pero ¿cómo?, si desarrollo los clientes en CORBA (para dotarlos de una interfaz gráfica), ya no los pueden ejecutar los navegadores y eso implica una instalación previa para poder usarlos. Me han comentado que se puede hacer usando CGI, pero yo ahora mismo estoy centrado en CORBA, con Builder C++, ya que es la primera vez que programo este tipo de aplicaciones.
En fin, que ando algo despistado aún con el tema, y diciembre está cada vez más cerca.
Gracias por responderme, quique. |
| | Volver arriba | |  | | quique
Registrado: 30 Mar 2004 Mensajes: 720 Ubicación: Por ahí
| | | Volver arriba | |  | madriles75
Registrado: 25 Ago 2005 Mensajes: 4
| Publicado: 28/09/2005 11:19 am | | | Título: |
| Muchas gracias de nuevo. Estuve mirando la documentación del link, y la primera observación es que tengo que darle más práctica a mi inglés ya que me cuesta bastante más que antes.
En cualquier caso, voy a usar lo de CORBA, y ahora, ya me encuentro dispuesto a enfrentarme a la programación pura y dura, o mejor dicho, me encontraba dispuesto, pues ahora estoy aterrorizado!!!! 8O ya que en lo primero que decidí enfrascarme, me di de boca contra un muro.
Maravillosa comunicación vía puerto serie!!!
Gran sorpresa la mía cuando descubro que en Builder C++ ya no se usan las maravillosas funciones outport() e inport()!!!
He estado leyendo bastantes cositas sobre el tema, pero no se si será por lo inútil que soy o por el acojone generalizado que me ha entrado (por el tema fechas), que no me acabo de aclarar.
De acuerdo que ahora hay que configurar el puerto para usarlo cómo si fuese un stream, usando funciones de fichero, pero es que no me entero!!!
Algún consejillo?? |
| | Volver arriba | |  | quique
Registrado: 30 Mar 2004 Mensajes: 720 Ubicación: Por ahí
| Publicado: 28/09/2005 10:27 pm | | | Título: |
| En este mismo foro hay un montón de post sobre ese tema: usa la opción de buscar y seguro que encuentras algo que te viene bien.
Pero básicamente: como la comunicación por el puerto serie es entre el PIC y un PC con Windows, puedes utilizar las funciones API de windows para esa comunicación.
Salu2 _________________ /* no comment */ |
| | Volver arriba | |  | | madriles75
Registrado: 25 Ago 2005 Mensajes: 4
| Publicado: 07/10/2005 2:16 pm | | | Título: |
| | Ok, estoy en ello, gracias muchas!! |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |