Interfaz Ice del modelo semántico Dharma

Este post detalla cómo llevar a cabo la implementación de un servicio Dharma sobre Ice. Para simplificar la exposición se ha utilizado un dummy de tipo DUO, para centrarnos aquí en cómo ofrecer ese servicio ya creado como un servicio Dharma.

En el siguiente enlace http://arco.esi.uclm.es/public/video/tutorials/dharma-service.mp4 encontraréis un vídeo donde se detallan los pasos a seguir para la ejecución de este ejemplo completo.

Continue reading

Advertisements

RS-485 RRP (Round Robin Protocol)

The goal of IDM is to communicate devices that use different technologies. One of this network technology is RS-485, but it does not specify the means to send messages from any device on any time. This protocol tries to solve the problem.

Overview

Any RS-485 network has multiple devices using a master-slave paradigm (or in the RS-485 nomenclature, driver-reader). Only the driver can write on the bus, and all readers can read. Every node could became a driver, but there should be just one driver on the network at a given time.

RS-485 only describes the most low level layer, giving the network layer to be part of the application protocol. In this case, we have designed a protocol called Round Robin Protocol (RRP).

Continue reading

Nodos RS-485 (Moths) publicando en IoT Cloud

Los nodos RS-485 (llamados Moths), que inicialmente se incluyeron en la red Interwall, están creciendo en características. El último servicio que tenemos disponible es un feeder (o publicador) diseñado para plataformas Cloud de IoT (Internet of Things). La primera versión de éste tiene soporte para ThingSpeak.com, una plataforma gratuita que permite añadir fuentes (o channels) independientes para cada dispositivo, con hasta 8 campos destinados a las magnitudes a medir.

ldr-chartThingSpeak tiene un dashboard con gráficas del estado de cada campo de cada channel, La imagen muestra los valores de un sensor LDR de uno de los Moths. Técnicamente se pueden empotrar en cualquier sitio que permita iframes (por desgracia, wordpress.com no nos lo permite).

La información que se publica actualmente corresponde a los sensores de temperaturaluminosidad (LDR), consumopresencia (PIR). Dado que los nodos (Moths) están todavía en desarrollo, el servicio estará funcionando de forma intermitente. Se puede consultar su estado desde las siguientes vistas:

IceC para el ESP8266

Para aquellos que no lo conozcáis, el ESP8266 es una plaquita muy pequeña (alrededor de 1,5 x 1,5 cm) que lleva un microcontrolador de 32 bits, un módulo de 4 Mbit de flash y soporte para comunicaciones WiFi b/g/n, a un precio muy reducido (sobre los 3,5 €). Podéis encontrar más información en http://www.esp8266.com/wiki/doku.php 

Se programa en C/C++, con el SDK que proporciona el fabricante. Más interesante aún es el hecho de que algunos desarrolladores han creado un paquete con el SDK y las librerías para el IDE de Arduino (versión 1.5 o superior), que se instala desde el Boards Manager. De esta forma, es muy sencillo adaptar los sketchs de Arduino a esta plataforma. Para más información e instrucciones de instalación, podéis visitar el repo: https://github.com/esp8266/Arduino

Lo que nos ocupa en esta entrada es el hecho de que ya está disponible la librería de IceC para el ESP8266. En esta primera release, disponemos de un endpoint básico TCP oneway (con soporte para cliente y servidor). En la página de descargas del repositorio (https://bitbucket.org/arco_group/icec/downloads) se puede obtener el zip, que se instala como cualquier otra librería de Arduino (Programa -> Include Library -> Add ZIP library). Una vez instalada, en el menú Ejemplos -> IceC hay dos ejemplos de uso, uno para cliente y otro para servidor.

Si alguien lo necesita, puedo escribir alguna entrada con más información al respecto. Dejad algún comentario para hacérmelo saber.

Saludos.

Nodos ZigBee de Interwall

Ya están disponibles los nodos XBee del proyecto “Interwall”. Son básicamente iguales que los nodos RS-485, pero incluyen un Arduino FIO con XBee para las comunicaciones.

moth-xbee
Moth ZigBee v1.0

Estos nodos constan de los siguientes componentes:

  • Relé para control de cargas de potencia (220V, 1A)
  • Sensores de corriente, temperatura, LDR, PIR, micrófono
  • Leds de estado (rojo, naranja y verde)
  • Arduino FIO + XBee y fuente de alimentación

Tenemos montados 3 de estos nodos. Irán instalados en el techo del laboratorio de la ESI, para controlar parte de la iluminación.

Recordad que es posible cargar IceC, una implementación mínima del middleware de ZeroC Ice, desarrollada en Arco.