Autor Tema: Servidor LAMP y PIC  (Leído 3743 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado alluzin

  • PIC10
  • *
  • Mensajes: 21
Servidor LAMP y PIC
« en: 31 de Octubre de 2011, 22:22:52 »
Hola  a  todos. En mi  escuela  me han  dejado  hacer un  servidor  web  en el  cual   reporte las variables  de un proyecto que ya  tengo que  es un   controlador  de  temperatura  que se  comunica  a una PC mediante  un puerto usb .
 Y el servidor  lo  tengo q hacer  con  Centos, Apache, Mysql y PHP. pero  la verdad  estoy perdido en estos  temas, he leído algunos  temas  relacionados  con  estos temas pero   me gustaría   que me guiaran  en que temas  investigar  y  como  empiezo a con esta  aventura que se me hace muy interesante.

Mil gracias. :-/

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: Servidor LAMP y PIC
« Respuesta #1 en: 01 de Noviembre de 2011, 18:54:38 »
No entiendo muy bien tu consulta, pero si puedo decirte que en internet hay muchisimos documentos sobre servidores con Centos y otras distribuciones Linux. Busca en google y veras que los encuentras y una vez tengas las cosas mas claras, puedes consultar las dudas, pero mas concretamente. De todos modos creo que este hilo deberia estar en OffTopic, ya que no tiene nada que ver con los PIC de forma directa.

Saludos.

Desconectado alluzin

  • PIC10
  • *
  • Mensajes: 21
Re: Servidor LAMP y PIC
« Respuesta #2 en: 01 de Noviembre de 2011, 20:47:44 »
Hola AcoranTF, creo q tienes  razon no me  explique muy bien. Empesare de nuevo, tengo un proyecto  que es  un control de temperatura el cual  tiene un pic que se comunica a la PC via usb y esta  información la gratifica en una aplicación de Visual C#, y lo que me  dejaron  en mi escuela  es que  todos  esos  datos los muestre  en una pagina web. Y  tengo  q hacer   en un servidor LAMP en  Centos, pero la verdad no se  ni como empezar, en primera tengo la duda de como en linux  tomo esos  datos y ya qe los tenga  como   subirlos a la pagina. Después  como es que  empiezo a desarrollar  la pagina. Espero a hora si   haberme  explicado  mejor :)

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Servidor LAMP y PIC
« Respuesta #3 en: 02 de Noviembre de 2011, 01:41:10 »
Esta sería una forma como yo lo haría:

- La misma aplicación que se comunica con el PIC, que reciba los datos de este y los guarde en una base de datos MySQL.
- Crear una página PHP que obtenga los datos de la base MySQL y los muestre en el navegador de acuerdo al formato que se desee.

Para la instalación del servidor LAMP, seguramente puedes encontrar una guía para CentOS, no debes tener problemas en seguirla.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado alluzin

  • PIC10
  • *
  • Mensajes: 21
Re: Servidor LAMP y PIC
« Respuesta #4 en: 02 de Noviembre de 2011, 02:45:23 »
Hola  q tal GEO
 gracias por  tu ayuda,  pero  me surge  una duda, la aplicación  corre en Windows, esta aplicacion se podra  ejecutar en Centos?, y  ademas  la PC reconoce al PIC como  un  dispositivo HID, y me supongo que los .dll  son para  windows nada mas no?

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Servidor LAMP y PIC
« Respuesta #5 en: 02 de Noviembre de 2011, 14:03:06 »
Tienes dos opciones:
  • Portar la aplicación a Linux. Es probable que no necesites controladores para conectarte con el dispositivo, tendrías que usar la biblioteca HIDAPI http://www.signal11.us/oss/hidapi/ (yo he usado LibUSB, pero con comunicación bulk y no HID), el problema aquí sería con qué lenguaje o herramienta escribir la aplicación, ¿en qué lenguaje hiciste la aplicación para Windows?
  • Que la aplicación Windows se comunique por red con la base de datos corriendo en la máquina con CentOS, creo que sería más sencillo pero necesitas dos equipos, el que corre Win y el que corre CentOS, aunque quizá esto en lugar de ser desventaja podría ser ventaja según como se desee ver.
« Última modificación: 03 de Noviembre de 2011, 12:32:42 por Geo »
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado alluzin

  • PIC10
  • *
  • Mensajes: 21
Re: Servidor LAMP y PIC
« Respuesta #6 en: 03 de Noviembre de 2011, 05:19:08 »
OK Geo,   creo  que la  segunda opción es buena pero  mi profe  dijo que  lo queria   todo el servidor desde un solo host. Y te  comento que para el pic, el  programa esta en C con el  compilador CCS y para windows se  desarrollo  la aplicación  en Visual C#.
Veo en el link q me mandaste que  el ejemplo esta en C también.


Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Servidor LAMP y PIC
« Respuesta #7 en: 03 de Noviembre de 2011, 13:52:15 »
Entonces no tienes de otra, tienes que portar la aplicación.

Ahora, en Linux también puedes programar en C# usando Mono, pero no se si te sea complicado poder acceder a la biblioteca HIDAPI (o alguna otra, te repito, yo no la he usado, solamente LibUSB). O si no tienes problemas con C/C++, pues adelante y por este camino :).
Otra opción, es que en lugar de "custom HID", el PIC funcione como un puerto serie virtual, Linux soporta esta clase y en prácticamente cualquier lenguaje que decidas utilizar habrá algún componente o biblioteca para acceder a puerto serie.
----------------------------
Edito: el compañero fabianjsm ha publicado una aplicación en C++ que se comunica con el bootloader HID de Microchip, quizá te sirva de algo echarle una mirada al código (utiliza libusb):
http://www.todopic.com.ar/foros/index.php?topic=36534.0
« Última modificación: 03 de Noviembre de 2011, 15:03:03 por Geo »
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado alluzin

  • PIC10
  • *
  • Mensajes: 21
Re: Servidor LAMP y PIC
« Respuesta #8 en: 10 de Noviembre de 2011, 00:27:53 »
De verdad  me has ayudado mucho Geo   gracias.  Creo  que  si  sera  mejor   hacer  que el puerto usb simule  un  puerto serie virtual.
Después  de  leer  los links  que me mandaste, tengo duda si el  bootloader es  solo  para  grabar  los PICS si necesidad  de un grabador?
 O también  el  bootloader me  servirá para   simular  el puerto  virtual?


Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Servidor LAMP y PIC
« Respuesta #9 en: 10 de Noviembre de 2011, 00:49:31 »
El bootloader es el de Microchip, funciona como HID "custom", a lo que me refiero en específico es a que fabianjsm hizo una aplicación para Linux que se comunica con el PIC que tiene grabado dicho bootloader, te puede servir como ejemplo para la aplicación que necesitas correr en Linux si vas a trabajar con HID :).

Si lo trabajas como un puerto serie virtual, puedes hacer la aplicación p. ej. usando Mono, ya que manejas C#.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado alluzin

  • PIC10
  • *
  • Mensajes: 21
Re: Servidor LAMP y PIC
« Respuesta #10 en: 10 de Noviembre de 2011, 01:53:56 »
OK ya entiendo  mejor.
 Leí  un poco  mas  acerca  de  USB CDC y  con  esto   puedo  simular  el puerto serie  virtual  cierto no?. Y en el  compilador  CCS  esta: "usb_cdc.h"  y  ademas en la pagina: USB CDC linux   te  dicen   como usar  el  dispositivo en linux.

Con esto ya  se podría  reconocer  mi  proyecto con   linux (teoricamente) no?
Si  si   se puede, es posible  que  con PHP o mysql   tomar estos  datos?

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Servidor LAMP y PIC
« Respuesta #11 en: 10 de Noviembre de 2011, 16:19:30 »
Con esto ya  se podría  reconocer  mi  proyecto con   linux (teoricamente) no?
Si, pero aclaro, también se reconoce tal y como lo tienes ("custom HID"), te recomendé usar CDC porque sería más rápido/sencillo crear la aplicación puesto que cualquier lenguaje/herramienta que decidas utilizar incluye funciones/clases para comunicarse con puerto serie.
Si  si   se puede, es posible  que  con PHP o mysql   tomar estos  datos?
Si. Lo que te comento sería algo así:
PIC -> CDC -> Aplicación cliente (C#, Python, C++, etc.) -> MySQL -> Aplicación PHP -> Navegador web.
El PIC emula un puerto serie, la aplicación cliente en el servidor se comunica con el PIC para obtener los datos de la temperatura y los guarda en una base de datos MySQL.
Una página PHP extrae los datos de la base de datos y los muestra en el navegador ante una petición del usuario.

Otra forma, es comunicarte directo con el PIC, te puede servir echarle un ojo a este tema: http://www.todopic.com.ar/foros/index.php?topic=15846.0
El detalle aquí, es que necesitarías estar haciendo peticiones constantes al PIC para obtener todos los valores de temperatura, en la anterior estrategia, de esto se encarga la aplicación cliente.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado alluzin

  • PIC10
  • *
  • Mensajes: 21
Re: Servidor LAMP y PIC
« Respuesta #12 en: 23 de Noviembre de 2011, 14:04:15 »
Una  disculpa por la  demora  pero  he tenido mucho trabajo en la  escuela. Pero me  alegra   contar  que ya pude  comunicar y enviar  datos  hacia  Linux y  verlos  en minicom. Ahora  me enfocare  ala  aplicación  cliente.  Y creo  que  la hare  en  C ya que  es  el lenguaje  que tengo mas conocimientos. En este tema:http://www.todopic.com.ar/foros/index.php?topic=27146.0 tsk usa  la libreria  LnxComm (que me pareció muy buena  idea). Pero  me surgen las  dudas   de que  compilador  usar,  y  como  ligar  todo  esto  con  mysql.

Saludos

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Servidor LAMP y PIC
« Respuesta #13 en: 23 de Noviembre de 2011, 16:42:15 »
Si vas a utilizar lenguaje C, los archivos necesarios para desarrollar aplicaciones que conecten con MySQL vienen con la instalación del paquete mysqlclient (en Ubuntu me parece que es libmysqlclient-dev), después de tener instalado lo necesario, solo es cuestión de utilizar la API:

Conectando a MysQL en C bajo GNU/Linux
Tutorial MySQL en C con clase
Howto: Connect MySQL server using C program API under Linux or UNIX

Si usas otro lenguaje (como C#), debes revisar las bibliotecas (bindings) disponibles para el mismo.

La función de esta aplicación será leer lo que envíe el circuito a través del puerto USB y luego insertarlo a la base de datos. Después crearás una página en PHP que se conecte a la base de datos para extraer las temperaturas y mostrarlas en la página.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/