Mostrando entradas con la etiqueta Servidor WEB PIC24. Mostrar todas las entradas
Mostrando entradas con la etiqueta Servidor WEB PIC24. Mostrar todas las entradas

domingo, 9 de junio de 2013

Servidor web PIC24 con WIFI

Hace unas semanas que os comenté que me había llegado a casa una placa que montaba un PIC24 ya preparada para programar un servidor web con bastante más capacidad que el que monté con PIC18. En otra entrada más reciente escribí una entrada cobre un router wifi de TPLINK al cual, le podemos conectar un servidor web, y bien crear un punto de acceso, al cual nos podemos conectar y controlar el hardware, o bien si lo configuramos como cliente, podemos hacer que nuestro servidor se conecte a nuestra red mediante una conexión inalámbrica y conectarnos a este desde cualquier PC que esté conectado a la red.
La primera opción es muy válida  para sistemas aislados, por ejemplo, montamos en un campo, o en medio del monte, una estación meteorológica, a la cual nos conectaremos cuando estemos cerca para ver temperaturas máximas,  mínimas o los históricos. Para un sistema que va a estar en una vivienda, o en un lugar donde haya una red wifi ya montada, lo mejor es que el router se conecta esta red ya establecida, de forma que no debemos desconectarnos nosotros de la red nuestra para conectarnos a la del router, simplemente este será un cliente más.

Ya os puse una imagen de uno de los ejemplos de Microchip funcionando en la placa de Sure Electronics, en este caso el ejemplo que utilicé fue es WebVend App (disponible en las microchip application libraries), que simula una máquina de vending conectada a internet. Ya he eliminado todo lo referente a la aplicación de ejemplo y he empezado a modificarla. Una cosa que echo en falta en la placa, son entradas y salidas disponibles, ya que las unicas entradas que hay disponibles son los 4 pulsadores, y como salidas solo están los leds. Vendría muy bien, por ejemplo, que un canal I2C o SPI estuviera sacado al exterior de forma que pudieramos conectar un expansor de puertos y de esta forma tener 16 entradas y salidas disponibles de manera rápida. En cambio, de lo que si que dispone la placa es una salida RS232, con niveles de +-12V, por lo que si queremos conectarla a otra placa será necesario utilizar un MAX232 o similar.
Aunque el programa ya está preparado para aceptar desde la web ordenes referentes al puerto serie, como no tengo preparada ninguna placa no está implementado el protocolo. Había pensado que una buena opción de esta placa sería la Low Pin Count USB que compré ya hace tiempo, y que monta un PIC18F14k50. Por ahora desde la página web podemos manejar los leds de la placa, que es un buen comienzo.
En el que tenéis a continuación podéis ver la aplicación sencilla del control de los leds. Como se ve, tanto el router de TPLINK como el servidor están conectados a un HUB USB, y este a lo que parece una fuente de alimentación,  pero que en realidad es una batería que se carga con energía solar, por tanto utilizando esta fuente de energía podríamos ya sacar el diseño al exterior y mantenerlo alimentado indefinidamente ya que, por suerte, en valencia disfrutamos de bastantes días de sol al año.



sábado, 18 de mayo de 2013

TPLINK TL-WR702N, Wifi muy sencillo.

Hola a todos!! desde hace tiempo que estoy buscando un router wifi pequeño al que yo pueda conectar el servidor web y dotarlo de una cominucación wifi, y hasta ahora no lo había encontrado. Existen otras alternativas que ya he estado mirando pero todas son más caras o más complicadas, por ejemplo, lo más sencillo en cuanto a hardware es utilizar el modulo MRF24WG0MA, el cual es compatible con el tack TCPIP de Microchip. El problema es que para utilizarlo, necesitamos una placa auxiliar, o rehacer la placa del servidor para poder adaptarlo, cosa que si estamos utilizando una placa de desarrollo ya montada, como es mi caso es un poco difícil  con lo que lo único que nos queda es utilizar una placa de desarrollo de algún fabricante, el problema de estas es el coste, ya que ninguna baja de los 50 euros.

Descartada esa opción, buscando por la red vi en un post de hackaday que había una persona que utilizaba un mini router de TP LINK para dotar de wifi a un arduino, así que me puse a ver de que módulo se trataba, y sobre todo su coste. El módulo en cuestion es el TL-WR702N, y lo mejor su coste, yo lo he comprado en Amazon, y me ha costado 20 euros, lo que es un precio muy razonable, si tenemos en cuenta todo lo que podemos hacer con el. 
El dispositivo tiene como entradas un puerto ethernet donde conectaremos el servidor, además de un puerto usb para alimentarlo. Lo podemos configurar de diferentes formas, como punto de acceso (AP), con lo que nos crea una red wifi a la cual podemos conectar todos los clientes que queramos, como cliente, de forma que podemos conectarnos a cualquier red wifi que esté al alcance del router, estas dos son las que voy a utilizar yo, otras configuraciones que admite es en puente, repetidor wifi, o como simple router.
las configuraciones que voy a utilizar como ya he dicho van a ser dos, la primera de ellas, como punto de acceso, la utilizaré cuando no haya ninguna red wifi cerca, y quiera controlar el PIC mediante un móvil  o una tableta, de forma que me conecto a su red inalámbrica, y puedo acceder ya a mi servidor. La otra configuración es útil cuando tenemos ya una serie de PCs o tabletas conectadas a una red wifi, y queremos que nuestro servidor se conecte a esta red como uno más. 
la configuración del router se hace mediante el cable ethernet, lo conectamos a nuestro PC, configuramos en la red local una IP fija para nosotros  e introduciendo la dirección IP del router, y accediendo con un usuario y una contraseña que nos facilita el fabricante podemos acceder a todos los parámetros de este, incluso podemos modificar la potencia (el alcance), de la red wifi. En la próxima entrada os mostraré como funciona y haré algunas pruebas tanto en casa como al aire libre!

lunes, 29 de abril de 2013

Servidor WEB en PIC24.

Desde que empecé a diseñar el servidor web que desarrollé en el blog hace un tiempo, había una placa de sure-electronics que me parecía muy interesante, la Ethernet Advanced Demo Board. En ese momento la placa tenía un precio bastante alto en eBay, pero hace dos semanas la volví a ver y había bajado de precio, así que me la compré. Es la primera vez que compro algo a la tienda sure-electronics, y la verdad es que he quedado bastante satisfecho. La presentación de la placa es impecable, nada que envidiar a las placas oficiales de Microchip.


La placa es muy completa e incluye comunicación RS232, una pantalla LCD, 8 leds de usuario, 3 pulsadores, ranura para tarjeta SD, USB HOST y un enc28j60 para realizar la comunicación ethernet, el mismo que utilizamos con el PIC18, solo que en este caso, el cerebro de la placa es un PIC24FJ256GB106, un PIC de 16 bits, con 256kB de memoria, lo que hace que metiendo el stack y una página web normalita apenas lleguemos al 25% de capacidad del microcontrolador, así que se acabaron los problemas de espacio!!


Cuando me llegó la placa a casa traía un programa de ejemplo que se puede descargar desde la página de sure-electronics, el cual metiendo una página web en un pen drive, y accediendo a la dirección IP que aparece en el display, podemos interactuar con la placa, tanto con el LCD, Leds, pulsadores y canal UART. Aunque en mi caso ese programa duró poco ya que empecé a adaptar uno de los ejemplos de que nos da Microchip para, a partir de este, crear un programa nuevo. Esta vez, en vez de la aplicación Demo APP que utilicé en el PIC18, he decidido empezar con esta placa con el ejemplo WebVend APP, que simula una máquina expendedora en la que conectándonos a ella podemos ver la cantidad de productos que quedan en ella, encender o apagar las luces de esta y modificar el texto que aparece en el display. Este ejemplo está realizado en MPLAB X y el compilador XC16, pero no está diseñado para el microcontrolador que lleva la placa, así que como en el caso del PIC18, debemos cambiar las configuraciones, los pines de SPI, y de una forma relativamente facil, tenemos funcionando el ejemplo en la placa de sure-electronics.


A partir de este ejemplo, y dejándolo con lo básico para funcionar, podremos empezar a trabajar con este. En principio no voy a detallar tanto los programas que haga ya que la mayoría del código de control y monitorización que hice en el PIC18 nos valdrá para este ejemplo. Empezamos de nuevo con otro servidor web!!