Demo Node-RED y Twitter

En este post vamos a ver una demo realizada con Node-RED integrado con Sofia2 Platform, además utilizaremos un api de terceros, en concreto Twitter.

La demo consiste en un pequeño servicio que funciona a modo de bot, al que a través de Twitter, le podemos enviar una consulta sobre el estado meteorológico de una ciudad determinada. El servicio programado en Node-RED, tras consultar el tiempo real, almacenará en Sofia2 el resultado de la consulta, lo que desencadena la segunda parte del flujo, que consiste en la contestación desde Sofia2 al usuario con la información meteorológica.

node1.PNG

Como se puede ver en la imagen tenemos un flujo que consta de dos partes:

  • 1ª parte: Se desencadena cuando entra un tweet, consulta el tiempo meteorológico de la ciudad y almacena la información de la consulta en Sofia2.
  • 2ª parte: Se desencadena cuando se guarda la información en Sofia2, se construye el tweet respuesta y se envía a Twitter.

Vamos a realizar un análisis superficial de los nodos utilizados en el flujo, analizaremos más en profundidad aquellos nodos que sean propios de Sofia2:

  • Twitter: nos permite escuchar los tweets dirigidos a un determinado usuario o los identificados con determinados hashtags.
  • Process Twitter data: nodo de tipo function que parsea los datos obtenidos del nodo anterior, en concreto obtenemos el usuario que ha generado el tweet y los hashtags.
  • Openweathermap: nodo encargado de consultar la información meteorológica en tiempo real.
  • Sofia2-kp-insert: se trata de un nodo propio de Sofia2 que guarda información en una ontología. En primer lugar tenemos que crearnos una ontología y generar el token. El token será un parámetro que configuraremos en el nodo, mientras que la ontología y los datos que queremos guardar serán parámetros que le pasaremos a través del objeto msg de la siguiente forma:
    • msg.ontology: nombre de identificación de la ontología.
    • msg.payload: información que queremos guardar en la ontología, tendrá que ir siempre en formato JSON y cumplir con el esquema de la ontología.

node2.PNG

  • Ssap-process-request: es otro nodo propio de Sofia2 que se encarga de monitorizar las consultas realizadas sobre una ontología y lo configuramos de la siguiente forma:
    • Dirección del mensaje: puede ser de entrada o de salida, en este caso es de entrada, ya que es la entrada de esta parte del flujo.
    • Tipo de mensaje: aquí es donde se puede definir el tipo de query que se quiere monitorizar, en nuestro caso queremos que el flujo se desencadene cuando entre una query de tipo insert.
    • Ontología: nombre de la ontología que queremos monitorizar.
    • Instancia de KP: instancia del KP definido para la ontología

node3.PNG

  • ParseDatos: nodo tipo function que parsea los datos obtenidos de la consulta y construlle el mensaje de respuesta que se va a publicar en Twitter.
  • Twitter: finalizamos con otro nodo Twitter, en este caso de salida, que publicará el mensaje en la cuenta de Twitter asociada.

A continuación se muestra un vídeo demostración de esta demo:

Demo Node-RED y Twitter

3 comentarios en “Demo Node-RED y Twitter

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s