viernes, 18 de diciembre de 2015

Servidor MQTT en Gateway. Resumen alternativas


Como fin de esta serie de mini referencias resumo lo explicado respecto a las posibilidades de conexión de un sistema integrado:

Problemática: 


Disponemos de n sensores y un gateway que es el punto de interacción principal con el usuario a través de internet. Este gateway es un ordenador PC o Una rapsberry PI que tienen un broker de mensajería basado en colas, en este caso MQTT. 

Caso de uso:

A) Petición de Plaza
  1. EL usuario realiza una petición de servicio   web/twiter/otros  genera un evento del tipo "Quiero una plaza"
  2. El gateway recibe este evento y el arduino controlador devuelve un evento de "hay plaza" y abre la puerta o devuelve un mensaje de no hay plaza
B) Una plaza cambia de estado


  1. El arduino que gobierna la plaza comunica un evento "hay plaza libre" o "plaza ocupada"
  2. El gateway recibe este evento y el arduino controlador lo recibe por estar suscrito a el
  3. El arduino actualiza el estado del panel de evento/Web y actualiza la variable interna de estado 
Estas comunicaciones se pueden realizar con colas:
1) a nivel de IP:
  Raspberry/PC : Wifi /Ethernet
 Comunicación arduino-Arduino y arduino-gateway :  ESP8286/ENC28J60. 
 Software:  Raspberry/PC : servidor MQTT completo 
Ejemplos: 
      https://geekytheory.com/tutorial-raspberry-pi-gpio-y-mqtt-parte-1/
      https://geekytheory.com/tutorial-raspberry-pi-gpio-y-mqtt-parte-2/


2) A nivel de sensor NO-IP
 - Comunicación arduino-Arduino y arduino-gateway: módulos X-bee 
  -Software :Raspberry/PC :servidor de colas no-ip: MQTT-SN

 Ejemplos : 
      https://github.com/boriz/MQTT-SN-Arduino 


Sobre XBee:

http://www.andresduarte.com/arduino-y-xbee


Librerias y código para conexión wifi

https://www.dropbox.com/sh/a5hu5ilta37urea/AACibPAUtWXRCnLF0fwcT8TQa?dl=0

En este enlace tenéis las librerías que funcionan para el adaptador a ethernet 28j60.

Hay una prueba de utilización del propio arduino como servidor web. Esta funciona pero los comandos utilizados no son compatibles con el shield ethernet que suele utilizar la mayoría de los ejemplos encontrados en blogs y foros.

la libreria UUIP tiene comandos compatibles pero no esta completamente probada.



Otro tutorial mas de conexión a esp8286 desde Arduino

http://blog.theinventorhouse.org/mi-primer-acercamiento-al-modulo-wifi-esp8266/

ARDUINO Y WIFI ESP8266 Conectado Arduino a las redes WIFI

http://www.prometec.net/arduino-wifi/

Tutorial completo de uso de esp8286 con comandos at

Servidor web en un arduino con esp8286

https://github.com/yOPERO/ESP8266/blob/master/webserver.ino

En está entrada podéis ver el uso de un esp8286 para servir una pequeña página web.

No queda claro si lo hace directamente sobre el esp o a través del arduino. Pero no hay mucha diferencia

Ejemplo de uso de módulo wifi esp8286

http://quenotienes.com/tag/esp8286/

Ejemplo de uso de módulo wifi esp8086 desde un arduino para comunicación