Ejemplo APIS NGSI v2 en Sofia2

ngsi8Una de las capacidades del API Manager de Sofia2 es permitir exponer ontologías como entidades para ser consultadas mediante el protocolo NGSI v2.

En este post vamos a mostrar como crear una pequeña aplicación que realiza consultas a Sofia2 mediante el protocolo NGSI v2.

Una entidad NGSI tiene siempre dos atributos obligatorios:

  • id: identificador único de la entidad.
  • type: define el tipo de entidad.

De manera que para exponer con el API Manager de Sofia2 una ontologia como API NGSI v2 es necesario que disponga al menos de dichos atributos.

Seguir leyendo “Ejemplo APIS NGSI v2 en Sofia2”

Ejemplo APIS NGSI v2 en Sofia2

Web services gestionados por el API manager de Sofia2

2-info-basica

Se ha incluido en el API manager y la consola de Sofia2 la posibilidad de gestionar web services utilizando un API rest y datos en formato JSON en lugar de XML.

Para disponibilizar de esta manera en el API manager un web service tendremos que seleccionar la casilla ‘web service’ cuando estemos creando un API nuevo. Esto cambiará el comportamiento del formulario en cierta manera, pidiendonos la URL donde encontrar la definición del web service a configurar (es decir, la dirección del fichero WSDL). Además no nos permitirá crear operaciones a mano, sino que nos dará la opción de reconocer el WSDL y generar las operaciones de forma automática:

2-info-basica

Después de crear un API, los detalles de cada operación ofrecerán un template del contenido JSON requerido por la operación.

Ciertas operaciones sobre el API no estarán disponibles, como por ejemplo editar el fichero WSDL o cambiar las operaciones. En caso de que algo cambie, se deberá provisionar otra versión del web service.

4-api-creada.jpg

Una vez provisionada, podrán hacerse consultar a través del API manager de Sofia2 usando el interfaz rest, tomando como URL base la que se ofrece bajo el nombre ‘Endpoint base’, por ejemplo: http://sofia2.com:8093/sib-api/api/ws/v1/demo-ws.

Nótese que los web service disponibilizados en el api manager tienen el prefijo ‘ws’, permitiendo saber con la url que tipo de servicio se está invocando.

Web services gestionados por el API manager de Sofia2

Api .NET Updated

Sofia2 Api .Net  has been updated.

 

News in this new version are listed bellow:

  • Adapted to recently improvements added in SSAP protocol. You can see the improvements in this post SSAP Protocol Improved.
  • Bidirectional protocolo WebSockets added.
  • Test suites updated with usage samples of almost every possible query on Sofia2.
    • Rest TestSuite here.
    • WebSockets TestSuite here.
    • All tests are configured to work with Sofia2 sample data. It’s easy to run them and see how it works.

 

You can get Sofia2 Api .NET from two sources:

  1. Sofia2 Github page. https://github.com/Sofia2/dotnet-api.
  2. Developers download zone in sofia2.com  http://sofia2.com/desarrollador.html#descargas.

 

Api .NET Updated

Actualización Api .NET

Se ha actualizado el Api .NET de Sofia2

 

Las novedades introducidas son las siguientes:

  • Adaptación a las mejoras realizadas recientemente en protocolo SSAP. Puedes ver las mejoras en el siguiente POST Mejoras en protocolo SSAP.
  • Inclusión de WebSockes como protocolo bidireccional de comunicación.
  • Actualización de Test Suite con ejemplos de uso de cada posible consulta.
    • Test suite para REST aquí .
    • Test suite para WebSocket aquí.
    • Los tests están configurados para funcionar directamente contra los datos de prueba de Sofia2. Son muy fáciles de  ejecutar y ver cómo funciona.

Puedes conseguir el API .NET de Sofia2 desde dos fuentes:

 

Actualización Api .NET

Sofia2 IoT example with Android: Tag, you’re it!

example-overview.png

This post is an example on how easy is to integrate an IoT scenario using Sofia2 IoT platform. The example was presented on February 17th during an introduction lecture on Sofia2 basics for the Embedded & Distributed Systems Sofware Master course at the Universidad Politécnica de Madrid (UPM).

The setup will simulate a typical IoT scenario with just a couple of elements:

  • Android Smarpthone (running at least a 4.4 Android version)
  • BLE (Bluetooth Low Energy) Beacon
  • An upgraded user for Sofia2.com platform (ROL_COLABORADOR)

 

example-overview.png

The demo app will periodically fetch data from the smartphone’s accelerometer sensor and GPS. It will also operate as a BLE scanner, triggering an asynchronous event when the selected beacon is placed nearby. Data will be modeled using a Sofia2’s Ontology. Using Sofia2 console, we will create a Dashboard to represent periodic real-time data. A Groovy script will be also generated to evaluate whether the beacon was detected. If that is the case, it will send an e-mail to the user: “Tag, you’re it!”

Seguir leyendo “Sofia2 IoT example with Android: Tag, you’re it!”

Sofia2 IoT example with Android: Tag, you’re it!

Caso ejemplo Sofia2 IoT con Android : ¡Tú la llevas!

En este post se presentará un sencillo ejemplo de integración IoT sobre la plataforma Sofia2. Este ejemplo fue presentado el día 17 de Febrero en una charla de presentación y de formación de conceptos básicos de la plataforma IoT Sofia2 a los alumnos del Máster en Software de Sistemas Distribuidos y Empotrados, en el grupo de investigación SYST de la Universidad Politécnica de Madrid (UPM).

El escenario simulará un escenario típico de IoT con un par de elementos sencillos:

  • Smartphone Android (versión igual o superior a 4.4)
  • Dispositivo beacon con BLE (Bluetooth Low Energy)
  • Usuario en plataforma Sofia2.com, con nivel de ROL_COLABORADOR

 

example-overview.png

 

Para el demostrador se obtendrán datos periódicamente de los sensores de acelerómetro del terminal móvil y de la geo-posición del mismo. Además se realizará un escaneo sobre Bluetooth Low Energy (BLE) que cuando detecte la cercanía del Beacon seleccionado, dispare un evento asíncrono. En Sofia2, se recogerán los datos en una Ontología, representando acto seguido los valores periódicos en un Dashboard, y evaluando la ocurrencia del evento asíncrono en un Script que notificará de manera instantánea la detección del evento en el e-mail del usuario: ¡Tú la llevas!

Seguir leyendo “Caso ejemplo Sofia2 IoT con Android : ¡Tú la llevas!”

Caso ejemplo Sofia2 IoT con Android : ¡Tú la llevas!