Revista Tecnología

Alternativas a xively.com :open.se

Publicado el 20 junio 2014 por Soloelectronicos @soloelectronico

Rafi Haladjian, fundador de Sen.se y pionero de lo que ahora se llama la “Internet de las cosas habla  de la visión Sen.se ‘s, explicando por qué no deberíamos centrarnos en la Internet de las Cosas y más bien mirar el cuadro grande y  en Sen.se, creen que no hay tal cosa como  Internet de las Cosas.

Más bien creen en una Internet de todo, donde los seres humanos, la naturaleza, máquinas, objetos, ambientes, Información, espacios físicos y virtuales de todo mezclan, hablan, se entrelazan, interactúan, se enriquecen y la autonomía de unos a otros en todo tipo de formas. Esto es lo que estamos construyendo y que pensamos que no estamos solos.

Es por esto que han creado Open.Se   una plataforma abierta para todos aquellos que quieran imaginar, crear prototipos y probar nuevos dispositivos, instalaciones, Escenarios, aplicaciones para este mundo globalmente interconectado e inmersiva. Departamentos de diseñadores, desarrolladores, manitas, estudiantes, aficionados, I + D, los artistas, los cuantificadores uno mismo, maniacos DataViz, lo que sus habilidades son, nos intentaron hacer Open.Sen.se fácil de usar y potente para usted. No hace falta decir Open.Sen.se es gratis.

El API Sen.se utiliza muchas de las formas de normalización de hacer las cosas de otras API que puede estar familiarizado. Se basa en la actualidad en las peticiones HTTP, y su diseño está inspirado REST.

La URL base para el acceso a la API Sen.se es http://api.sen.se

Todas las solicitudes son GET o POST peticiones sencillas que devuelven respuestas de JSON.
La autenticación se basa en un mecanismo destinado simple que implica una única clave de un usuario. Usted clave puede encontrarse en su “Perfil y ajustes ‘ página auque  el uso de la API está sujeto a la limitación de velocidad,

Respuesta utilice siempre el formato JSON y dependen de la solicitud formulada a la API.

A lo largo de este post   mostraremos ejemplos de Respuesta para cada posible petición a la API.

Por ejemplo, una respuesta a una solicitud de la última prueba de un RSS (ver ” Conceptos y vocabulario ‘) se vería así:

 [
     {
         "Id": __ event_id__,
         "Value": __ event_value__,
         "Unidad": __ unit__ del evento,
         "Timetag": __ event_timestamp__,
         "Publish_id": __ pubsub publicar id__,
         "Feed_id": __ feed_id__
     }
 ]

Errores

Tanto como sea posible, Sen.se intenta utilizar código de estado HTTP adecuado para indicar la clase general de un problema:

200 (OK)

Solicitud procesado correctamente

400 (Solicitud incorrecta)

Cualquier caso en que un parámetro no es válido, o un parámetro requerido no se encuentra. Información adicional puede estar disponible, al igual que cuando se intenta acceder a un recurso que no le pertenece a usted.

404 (No encontrado)

Recursos no existe (mala URL, ruta de acceso, …).

500 (Internal Server Error)

Servidores Sen.se no están en buena forma. La petición puede ser válido, pero tiene que ser recuperado más tarde.

Conceptos y vocabulario

Usuario

Eso es una persona que posee una cuenta en Sen.se.

Dispositivo

Un dispositivo es un objeto físico. Puede ser un Arduino, una máquina de café, una televisión, una silla; básicamente, si se puede tocar, lo llamamos un “Dispositivo”.

Cada dispositivo que se conecta a Sen.se se ha registrado en la plataforma con su nombre, descripción … (y más información hablaremos más adelante).

Con el fin de conectar el dispositivo a Sen.se, tiene que ser capaz de comunicarse con nuestra plataforma, ya sea directamente o por medio de un relé.

Los dispositivos conectados a la plataforma son entonces generalmente Ethernet habilitados, o Wifi, Zigbee, USB …

Un dispositivo conectado enviará entonces a nuestra Plataforma de los datos de captura: su estado, su actividad, información sobre su entorno.

Este dispositivo también será capaz de obtener datos de la Plataforma.

Cada dispositivo tiene su “Identificación de dispositivos” en Sen.se, que es el identificador de ese dispositivo en la plataforma.

Este id dispositivo se utiliza para identificar el dispositivo en llamadas a la API.

Evento

Los eventos son los átomos de Sen.se, y lo que se trata todo esto.

Cada vez que sucede algo que el dispositivo conectado gustaría informar, envía un “evento” de la Plataforma. Estos eventos son almacenados por Sen.se, y pueden ser utilizados por otros dispositivos o aplicaciones para desencadenar acciones definidas.

El envío de un evento se llama “publicar” un evento.

RSS

El RSS es donde se almacenan los eventos de naturaleza similar, o procedentes del mismo sensor o destinado al mismo actuador.

La “jerarquía” de información general sobre Sen.se es la siguiente:

  • En primer lugar hay un usuario.
    Este usuario no tiene dispositivos conectados a su / su cuenta.
    Cada uno de estos dispositivos tiene una o varias alimentaciones.
    Cada uno de estos feeds es donde se colocan y se almacenan Eventos.

Usuario> Dispositivo> Alimentación> Evento

Cada dispositivo tiene al menos un RSS, y por supuesto puede tener varios feeds.En general un dispositivo tiene como muchos alimentos que tiene sensores y actuadores.Digamos que usted tiene un Arduino con un sensor de temperatura, un sensor de humedad y un LED RGB.Para ello se crea un dispositivo llamado “Arduino”, y declarar tres piensos para este dispositivo:

* Feed temperatura
* Alimentación humedad
* Alimentación LED

Cuando su Arduino está leyendo desde el sensor de temperatura que la temperatura es de 25 ° C, que sería luego enviar un nuevo evento a la plataforma con estos nuevos datos.Este evento podría ser almacenada en la temperatura de alimentación.

Cada alimentación tiene su id RSS en Sen.se, que es el identificador de la alimentación en la plataforma.

Este id RSS se utiliza para identificar la RSS en llamadas a la API.

Entrada / Salida de alimentación

Como se indicó anteriormente, un RSS se dedica a un sensor o un actuador de un dispositivo.Para ser más exactos, un sensor generará un canal de entrada, cuando el actuador va a generar un canal de salida:

sensor <=> entrada de Feed
actuador <=> salida de dosificación

Desde la perspectiva de la plataforma, Eventos de un canal de entrada provienen del dispositivo hacia la plataforma.Eventos en un canal de salida van desde la plataforma hacia el dispositivo.

Eventos Publishing / Recuperación

Autenticación

Toda comunicación entre el dispositivo y Sen.se está protegido con una clave Sen.se.Esta clave es específico y único para cada usuario, y usted no debe compartir esta clave con otros.Puede encontrar esta clave en el Perfil y Configuración sección, accesible a través de un enlace en la parte superior derecha de la página.

Hay dos métodos disponibles para la autenticación del dispositivo:

* Pasando la clave Sen.se en la cabecera de cada solicitud HTTP:

sense_key = “YOUR_SEN.SE_KEY”

* Pasando la clave Sen.se como un parámetro de la petición:

http://api.sen.se/events/?sense_key=YOUR_SEN.SE_KEY

No importa cuál sea el método que desea utilizar, es necesario establecer el tipo de contenido como “application / json” en la cabecera de su solicitud http:

header = {“Content-type”: “application / json”}

Publicación Eventos

POSTE / Events / Necesario JSON
 {
 "Feed_id": 18400,
 "Value": 25
 }
 {
   "Feed_id": 18400,
   "Value": "25",
   "Publish_id": "004cafcdcc0b052",
   "Id": "004cafcdcc0b052",
   "Timetag": "2012-10-01T10: 28:11.027 +00:00"
 }

También puede especificar un timetag para poder escribir eventos en un punto determinado en el tiempo.

 {
 "Feed_id": 18400,
 "Value": 25,
 "Timetag": "2013-01-28T09: 11:00.000 +00:00"
 }

Si desea enviar varios eventos en diferentes feeds a la vez, tu post debería tener este aspecto:

 [
     {
         "Feed_id": __ feed_id__,
         "Value": __ event_value__
     },
     {
         "Feed_id": __ another_feed_id__,
         "Value": __ another_event_value__
     }
 ]

Obtener feed Ultima Evento

OBTENER / Feeds / __feed_id__ / last_event / Necesario JSON
 {
   "Feed_id": __ feed_id__,
   "Value": "25",
   "Publish_id": "004cafcdcc0b052",
   "Id": "004cafcdcc0b052",
   "Timetag": "2012-10-01T10: 28:11.027 +00:00"
 }

Recibe alimentación Eventos

OBTENER / Feeds / __feed_id__ / eventos / Necesario JSON
 [
   {
     "Publish_id": "004cad80cdde80c",
     "Value": "25",
     "Feed_id": 18400,
     "Id": 208801455,
     "Timetag": "2012-10-01T10: 10:04 +00:00",
     "Unidad": "° C"
   },
   {
     "Publish_id": "004cad80de4ef0c",
     "Value": "28",
     "Feed_id": 18400,
     "Id": 208801849,
     "Timetag": "2012-09-29T14: 33:21 +00:00",
     "Unidad": "° C"
   },
   ...
 ]

Obtenga Device última Evento

OBTENER / Devices / __device_id__ / last_event / Necesario JSON
 {
   "Publish_id": "004cafce0a39a18",
   "Value": "25",
   "Feed_id": 18400,
   "Id": 211658920,
   "Timetag": "2012-10-01T10: 29:16 +00:00",
   "Unidad": "° C"
 }

Recibe los eventos del dispositivo

OBTENER / Dispositivos / __device_id__ / eventos / Necesario JSON
 [
   {
     "Publish_id": "004cad80cdde80c",
     "Value": "25",
     "Feed_id": 18400,
     "Id": 208801455,
     "Timetag": "2012-09-29T14: 33:04 +00:00",
     "Unidad": "° C"
   },
   {
     "Publish_id": "004cad80de4ef0c",
     "Value": "26",
     "Feed_id": 18400,
     "Id": 208801849,
     "Timetag": "2012-09-29T14: 33:21 +00:00",
     "Unidad": "° C"
   },
   ...
 ]

Otros parámetros de la consulta

Cada llamadas a la API antes mencionados, pueden utilizar parámetros adicionales para filtrar la consulta.

Parámetro Uso Los valores aceptados

límite número de resultados a devolver (por defecto: 100, max: 1000) Entero positivo

offset utilizado a la página a través de los resultados Entero positivo

order_by ordenar los resultados de acuerdo con este parámetro id, id, timetag,-timetag

gt recuperar eventos ocurridos después de la fecha especificada. utilizar con order_by = timetag Fecha y hora, ISO 8601 con formato (por ejemplo, 2012-10-01T08: 00:00 +01:00)

lt recuperar los resultados que se produjeron antes de la fecha especificada. utilizar con order_by = timetag Fecha y hora, ISO 8601 con formato (por ejemplo, 2012-10-01T08: 00:00 +01:00)

exacto la coincidencia exacta de valor, uso con order_by datetime si order_by timetag, ID_Number si order_by Identificación

Mashups: convertir sus datos en algo utilizable y útil.

Creen que mirar o procesamiento de datos se alimenta de uno en uno no ayuda a resolver problemas de la vida real. Muy a menudo es necesario combinar los datos de diferentes fuentes con el fin de entender lo que realmente está pasando,tome decisiones inteligentes, hacer aplicaciones molestas realmente útiles, utilizables y no gubernamentales.

Digamos que usted tiene un sensor de temperatura proverbial en cada una de las habitaciones de su casa Si usted sólo puede tratar los datos de cada dispositivo por separado.:

  • Usted tendrá una carta por habitación para mirar que es tedioso seguir sobre una base diaria.
  • Usted no será capaz de decidir si usted puede bajar o aumentar la intensidad de su caldera, ya que no tendrá el panorama general de lo que es la temperatura en su casa en su conjunto (a menos que calcular a mano)
  • Usted no puede ver las correlaciones entre los factores dentro y fuera
  • Si quieres compartir tus datos, usted va a enviar una notificación (por ejemplo, un tweet) por toma, que es la forma más segura de molestar a todo el mundo que recibe estas notificaciones y activar la información en ruido
  • Usted no va a convertir esta información en conocimiento, tales como, por ejemplo, ¿cuál es el coste de las emisiones de carbono equivalente a su nivel de temperatura.

En Sen.se consideran que la posibilidad de combinar y procesar datos de fuentes diferentes a la vez es una característica clave. Es por ello que hans desarrollado varias herramientas para hacer esto:

Embudo

Le permite obtener datos de varias fuentes de datos, procesarlos en tiempo real y salida de un solo valor. Por ejemplo, puede tener varios sensores de temperatura en su casa. Embudo obtendrá los datos de todos ellos cada vez que un valor se actualiza, a continuación, calcular la temperatura media de su casa. También puede realizar otros tipos de cálculos predefinidos.

Calculadora

Seleccionar todo tipo de fuentes de datos numéricos, luego escriba su propia fórmula de cálculo que combina los valores de todas estas fuentes de datos o valores fijos. El uso más simple es, por ejemplo, para convertir su consumo de energía en euros o dólares, pero también puede crear sus propias proporciones y medidas personalizadas.

Texto Mashupper

Seleccione varias fuentes de datos. Escribir un mensaje de texto insertando variables que representan los datos de estas fuentes. Texto Mashupper creará un único mensaje el uso de todos estos valores. Por ejemplo, puede crear un único informe diario enviado por correo electrónico que resume lo que está pasando en su casa, mostrando los valores de todos los sensores en un solo mensaje. También puede enviar un solo tweet por día combinando su peso (medido por la báscula del baño), así como el número de pasos y calorías quemadas, medida por su Fitbit.

Multiviz

Grafica hasta tres fuentes de numérica e incluso datos de texto en el mismo gráfico. Multiviz ayuda a detectar la correlación de eventos y valores, destacar cómo los eventos tienen efecto sobre otras. Ejemplos son ilimitadas: combinar su consumo de energía y la temperatura media en cada habitación de su casa; combinar las variaciones de su peso, con el número de pasos que usted hace todos los días; buscar correlaciones entre el número de personas que se reúnen y el número de cafés que bebe y su nivel de estado de ánimo.

Como ya se ha dicho, el propósito de Open.Sen.se no es sólo para proporcionar una forma de almacenar sus datos en alguna parte, pero para ayudarle a hacer uso real de la misma. Para hacer uso de ella, los datos deben ser presentados de una manera fácilmente aprehensible, no llegar a ser molesto en el largo plazo, le ayudan a aprender algo, a tomar decisiones y tomar acciones ya sea por sí mismo o actuando de forma automática en otros dispositivos. El objetivo, en definitiva, es para resolver problemas reales de la vida real y no sólo hacer pruebas técnicas del concepto. Si los datos no se convierte en el conocimiento y la acción, es sólo una pérdida de energía.

Visualizar y recoger datos en cualquier lugar: Sensemeters incrustación

Usted ya puede compartir los datos que envías o generando en Open.Sen.se: hacer su Sensemeters elegido público y dar a la gente la URL de su Senseboard pública y voila.El Sen.se / demo pública Senseboard se realiza mediante el uso de esta característica.

Pero ahora hay más. Puede mostrar sus Sensemeters elegidos en cualquier lugar que desee, siempre y cuando usted tiene acceso al código HTML de la página de visualización. Publicar en tu blog, tu página web del proyecto, en las demostraciones públicas en sitio, su escuela o web de la empresa …

Para ello, seleccione “Insertar en otra parte” en el menú local de la Sensemeter. Usted tendrá acceso al código personalizables y listas para usar para cortar y pegar en el código HTML de la página en el que desea que aparezca.

He aquí un ejemplo de un tiempo real Sensemeter mostrar todos los datos estamos vertiendo en nuestra cuenta de demostración. Nos pegamos el código en nuestro blog basado Tumblr.

Puede utilizar esta función para visualizar los valores medidos por los dispositivos y otras fuentes de datos, por supuesto, como en este gráfico de las temperaturas medias por hora medidos en Montreal.

Pero también se puede utilizar Sensemeters entrada para dar a sus usuarios la publicación de capacidades o de control sobre sus datos. Por ejemplo, aquí hay unManual Logger Sensemeter, a través del cual los usuarios pueden comentar sobre la temperatura actual en Montreal. Sus anuncios aparecen como puntos en el gráfico anterior (Ponga el cursor del ratón sobre un punto para leer el contenido). Trate de escribir un comentario.

“Su consumo de energía actual es 534 W”. ¿Y qué? ¿Por qué usted necesita para enriquecer los datos de entrada en las plataformas de IOT.

Veamos por qué se necesita más que un WYPIAYG (Lo que usted publica es todo lo que obtienes) plataforma para hacer un uso significativo y útil de los datos enviados por los dispositivos.

En este post vamos a hablar sobre la primera razón: plataformas WYPIAYG sólo manejan y ofrecen los valores brutos medidos y publicados por los dispositivos conectados.

Valores crudos son como los átomos. Ellos son la base de todo, pero es difícil usarlos para nada práctico. Usted necesita la plataforma para convertir estos datos en bruto en algo que usted puede hacer uso de una manera más significativa. En Sen.se cuando publiques un valor, puede generar automáticamente una, dos, o diez otros valores que enriquecen lo que usted ha enviado. Puede utilizar estos datos nuevos para crear visualizaciones, mensajes de activación o acciones de una manera más precisa.

Suponga que tiene un sensor básico, una medición de su consumo de energía. Cada pocos minutos (digamos cada cinco minutos), los mensajes de dispositivos de su uso de energía actual (por exemple 534 W). Lo que suelen ser capaces de hacer en una plataforma que sólo registra los datos en bruto es:

  • Dibuje un bonito gráfico que muestra que en la actualidad su consumo es 534W, y mostrando lo que este valor fue hace cinco minutos, y cinco minutos antes y cinco minutos antes y así sucesivamente.
  • Enviar un correo electrónico o un tweet diciendo que su consumo de energía actual es 534 W.
  • Utilice la API para recuperar el valor 534 W.

Usted se acaba mostrando la misma cifra por diferentes medios, en diferentes lugares, pero usted no está haciendo que sea más significativo. Pertenece al usuario humano que leer este valor y tratar de averiguar lo que 534 W significa realmente. El consumo de energía actual es 534 W. Entonces, ¿qué?

Aceptar, también puede desencadenar alguna acción “inteligente”. Por ejemplo

  • Ponga al gatillo que enviar un tweet cuando el valor publicado por el dispositivo se encuentra por encima o por debajo de un umbral determinado. Así se pone un disparo en digamos, 500 W, y se obtiene un tweet cada 5 minutos, siempre y cuando usted está por encima de 500 W.

En Sen.se ofrecen la capacidad de procesar datos que vaya a publicar. Así, no sólo se puede utilizar la fuente de datos en bruto que el dispositivo está enviando, pero también se puede utilizar alimentaciones de datos que se generan por las aplicaciones de la plataforma. He aquí algunos ejemplos de lo que puede hacer en el caso de nuestro dispositivo de medición de consumo de energía:

  • ¿Qué significa que su consumo de corriente es 534 W? Es esta alta o baja en comparación con lo que normalmente consume?
  • El Medidor dinámico App, muestra el último valor, con relación a todos los valores que has publicado. Usted sabe lo importante que es el último valor. Además, Indicador dinámico crea piensos en los que los valores de Mensajes cuando llegan a un todo tiempo alta, o un todo momento bajo. Puede activar una acción (enviar una alerta, un tweet, activar o desactivar un dispositivo, lo que sea) cuando llegue a un nuevo máximo o un nuevo valor mínimo.
  • Es duro mirar siempre a los números y comprender lo que significan en términos simples. El signo expresivo App le permite convertir los valores en los mensajes de estado. Así que en lugar de tratar de averiguar la diferencia entre 212 W y 324 W y 786 W, se obtiene mensajes claros que dicen que su consumo de corriente es bajo, normal, más bien alto.
  • Sabiendo que su consumo de energía durante los últimos cinco minutos no es muy útil en términos prácticos. Usted no va a cambiar su comportamiento cada 5 minutos.El conde Suma Promedio App, permite procesar los datos de entrada sobre la marcha y crear fuentes de datos, números de agregados más compactos. Por ejemplo, el número total de vatios consumidos durante una hora o un día, el consumo diario o semanal promedio. Es más fácil comparar sus tendencias de consumo sobre la base del promedio diario que sobre una base de cinco minutos.
  • Activación de una acción en función de cada valor crea conductas tontas o molestos.No es necesario para publicar un tweet o enviar un correo electrónico o que emita una alerta cada vez que un único valor en bruto Publicado por el dispositivo se encuentra por encima de un cierto umbral, porque esto significa que usted puede terminar enviando tuits cada pocos minutos que podrían ser molestos e inútil. Es mucho más eficiente para desencadenar acciones cuando se produce un cambio significativo, por ejemplo, cuando el consumo de energía se pone repentinamente de 500 W a 1000 W. En Sen.se podrá monitorizar la variación entre dos valores, y desencadenar acciones sólo cuando la variación se a un nivel determinado. Así que va a publicar un tweet o hacer sonar una alarma cuando la subida de tensión que pase, pero no va a repetir siempre y cuando su consumo es de unos 1000 W.

El papel de una plataforma de IOT no es sólo ser una pipa y un trastero con una ventana para mirar hacia adentro para nosotros IOT se trata de crear experiencias significativas. Proporcionar formas de transformar, enriquecer, extraer el significado del sensor y los datos del dispositivo debe estar en el centro de una plataforma sobre la que construir el Internet de las Cosas.

Yendo más allá de WYPIAYG (lo que se publica es todo lo que obtienes)

La plataforma llamada intermediación de datos para el Internet de las cosas, como un puñado de otros. ¿Qué tipo de plataformas, básicamente hacen es:

  • Obtener un valor publicado por el dispositivo (u otra fuente de datos)
  • Guárdelo
  • Visualice que de alguna manera
  • Empuje en otro lugar
  • Deje que se puede recuperar

Bueno, hacer esto es obviamente obligatorio y de utilidad. Pero, ¿es suficiente?Prece como si tuvieras una caja de dinero. Usted pone sus monedas pulg Luego, un día, lo abres y todo lo que hay son las monedas que han puesto en su interior. Nada más fue creado durante el proceso. Es simplemente un repositorio mudo de los datos brutos.

Cuando intenta hacer cosas realmente útiles de sus datos, te das cuenta de que actuar sobre la base de los valores individuales es un poco más corto. Un solo valor no muestra el panorama general, las tendencias, cómo se compara con otros valores en el tiempo u otras fuentes de datos.

Es por eso que estando duro en Apps. Aplicaciones procesan los datos que publica en Open.Sen.se y crean nuevos datos, los datos más útiles que los bits primas enviadas por un sensor. Así que no sólo obtiene los datos que usted trajo a la mesa, pero también te dan mucho más.
 

 
 

Utilice los datos de Pachube sobre Open.Sen.se

Su dispositivo ya está registrando sus datos en Pachube? ¿Quieres utilizar feeds de datos disponibles sobre Pachube? Ahora hemos hecho posible el uso de estos datos alimenta de Open.Sen.se como si estuvieran conectados a nuestra plataforma. Esto le permite utilizar las funciones, interfaces y aplicaciones de Open.Sen.se con flujos de datos de Pachube.

Sólo tienes que ir a la sección Agregar un dispositivo y seleccione Agregar un dispositivo conectado Pachube. Usted tendrá que introducir su clave de Pachube (si usted no tiene uno, usted tendrá que ir a inscribirse en Pachube ).

Para seleccionar qué Pachube flujo de datos que desea añadir a su conjunto de dispositivos en Sen.se usted tiene dos opciones.

  • Simplemente haga clic en entornos de lista y haremos una lista de todos los flujos de datos públicos disponibles de todos los usuarios. A continuación, será capaz de navegar por la lista y seleccionar la que desee agregar.
  •   Introduzca criterios de búsqueda: buscar su propia cuenta o flujos de datos de una persona específica mediante la introducción de su nombre de usuario; limitar la búsqueda a flujos de datos etiquetados con palabras clave específicas; buscar un entorno cuyo ID sabes.

No importa lo fácil que tratamos de hacer que se conecte un dispositivo a Sen.se (verautomáticamente generará un Boceto para conectar el Arduino , por ejemplo) que aún necesita algún tiempo. Si usted ha ido a la molestia de tener que conectar el dispositivo en otro lugar en Internet, vamos a tratar de obtener los datos a partir de ahí. Creemos que la Internet de las cosas no está sobre cerrado mundos, pero hecho de un gran número de dispositivos o datos hubs todos hablan el uno al otro. De lo contrario, la palabra Internet en “Internet de las cosas” sería engañoso.

Fuente aqui


Alternativas a xively.com :open.se

Volver a la Portada de Logo Paperblog

Dossiers Paperblog

Revista