Nimbits en efecto tiene muchas similitudes con Pachube(ahora Cosm,.com): es un repositorio de datos “basada en la nube” con una interfaz de navegador para la configuración de tus feeds y visualización de los datos. Ademas ambos servicios ofrecen una API REST para las aplicaciones de los datos de entrada y salida
Si usted es un desarrollador vera una ventaja clave de Nimbits : que es un proyecto de código abierto basado en el Google App Engine , y de hecho es muy fácil de instalar Nimbits en su propia cuenta de Google App Engine,lo que le permite ser “dueño” de los datos fijar su actualización con la frecuencia que desee y mantenerlk durante todo el tiempo que lo desee.
GAE tiene límites en la cantidad de datos que puede arrojar sobre sin pagar. De acuerdo a la página de Google “¿Qué es Google App Engine”: “Todas las aplicaciones pueden utilizar hasta 500 MB de almacenamiento y suficiente CPU y ancho de banda para soportar una aplicación eficiente de servir alrededor de 5 millones de páginas vistas al mes, absolutamente libre”. La compresión de datos es uno de los principales puntos fuertes del software Nimbits, por lo que es seguro asumir que no va a se acerca a ese límite,
El servicio de App Engine de Google es ampliamente utilizado, y extensamente documentado, por lo que es sin duda una base sólida para la experimentación de formas de procesar y mostrar los datos. El código Nimbits está todo escrito en Java. Por lo tanto, si usted sabe GAE y Java, el cielo es el límite para lo que puede hacer con Nimbits
Configuración de una cuenta Nimbits
Tiene 2 opciones para alojar sus datos: Utilice el servidor Nimbits público enapp.nimbits.com , o crear el suyo con una cuenta de Google App Engine. Usted probablemente querrá utilizar la primera opción para probar la conexión y familiarizarse con la interfaz Nimbits,y luego probar la segunda opción más adelante.
Vamos a pasar por ambos procesos, comenzando con el servidor público.
- Abra http://cloud.nimbits.com/ en un navegador. Se le pedirá iniciar sesión con una cuenta de Gmail del usuario-ID (o si ya has iniciado sesión, para confirmar que desea utilizar ese ID de inicio de sesión).
- No, pero Google App Engine es, y no es sorprendente que utiliza Gmail como el principal tipo de autenticación. De hecho, algunas partes de Nimbits (GAE) y están estrechamente ligados a Gmail – tus alertas sólo se pueden enviar a la cuenta de Gmail.Sin embargo, si es un desarrollador es posible que desee utilizar una cuenta de Google secundaria aquí. Sus aplicaciones se conectarán con la autenticación de Gmail o con una clave de API Nimbits específica. Mientras que la clave de la API funciona bien para todas las características Nimbits, si usted cava profundamente en el marco de Google App Engine subyacente puede empezar a experimentar con la autenticación de GMail.Por cierto, si usted está generalmente conectado a Gmail durante todo el día, se encuentra la configuración de su navegador “Navegación privada” (también conocido como “ventana de incógnito” aka “modo porno”) para ser una forma práctica de iniciar la sesión con una cuenta de Gmail secundaria sin tener que salir de su principal.
- Su navegador mostrará la interfaz de usuario estándar Nimbits, como se muestra a continuación. Para configurar un feed , Haga clic en “Nuevo Punto de datos” en el marco de la izquierda.
- Un punto de datos Nimbits es como un Pachube Datastream. Pero – obtener este – que tiene un nombre en lugar de un número. Lejos! En realidad, puede hacer las cosas un poco más fácil en el extremo de codificación (pero más difícil en el extremo de visión) estableciendo el nombre de punto de datos en el sensor # en el script wattcher.py (es decir, “0″ para el primero del sensor, y así sucesivamente). No se puede cambiar el nombre de un punto de datos, sin embargo, así que elige con cuidado.
- l nuevo punto de datos se añade a la estructura de la izquierda. Configuración adicional es opcional – la configuración predeterminada permitirá guardar lecturas Tweet-A-Watt y verlos en un gráfico. Sin embargo, hay algunas interesantes características incorporadas en la pantalla de configuración, así que echemos un vistazo.
- Haga doble clic en el punto de datos. Un par de ventanas se abrirá en la ventana principal, como se muestra a continuación. Haga clic en Ajustes del punto de la barra de menú, y luego el nombre de punto de datos.
- Se muestra la pestaña “General” del cuadro de diálogo de configuración más adelante, con los ajustes que uso. Por cierto, este diálogo es también la única manera de eliminar un punto de datos (usando el icono de la barra de herramientas).
- La compresión por defecto es 0.1, lo que significa que una nueva lectura que está dentro de 0.1 de la lectura anterior no será almacenada. Esta opción es muy útil si el origen de datos está bombardeando el servidor con varias lecturas por segundo, pero su feed es probable que se envía sólo 1 lectura cada 5 minutos. Si su uso no es continuo durante largos períodos, puede desactivar la compresión mediante la introducción de cero.
- El valor predeterminado Historia de 90 días significa que sólo los más recientes 3 meses de datos serán almacenados. Usted probablemente querrá aumentar esto en algún momento, sobre todo si la configuración de su propia cuenta de Google App Engine
- Debe apuntar la unidad de medida ( Watts en caso de consumo de energia)s.
- Dejé el ajuste en público. No se preocupe – esto no significa que las masas sin lavar pueden enviar datos a su alimentación; sólo que ellos pueden ver su alimentación a través de la API REST. (No te preocupes – no lo harán.) La configuración pública hace que jugar un poco con la API de un poco más fácil, sobre todo cuando se conecta a través de 3 ª parte de software como Excel , así que te sugiero que se lo deja hasta que haya logrado cosas de trabajo.
- Las opciones de mensajería pueden utilizarse para infligir todas sus lecturas de datos de tus amigos o enemigos inusualmente sociales. Esta podría ser una buena manera de convertir la primera a la segunda.
- . En la ficha Alertas, puede configurar un umbral de alta y / o baja a la que se activará una alerta. Aquí, las opciones de los mensajes se vuelven más útil, y puede usar la configuración de mensajes instantáneos
- La otra opción de configuración o es la alarma de inactividad, que se añadió recientemente a Nimbits. Esto le permite saber cuando su configuración de un feedt deja de funcionar, lo que me parece por lo general significa que el dispositivo emisor (sensor ) se ha detenido
- Eso es para la configuración del punto de datos. Haga clic en Guardar.
- Si tiene vario sensores , puede crear otros puntos de datos para cada uno. Recuerde que el nombre de punto de datos identifica el flujo de datos.
- .Usted probablemente ha notado que hay algo que se llama una “Categoría”, que es un grupo de puntos de datos relacionados (el equivalente de “Feed” de Pachube). Las categorías son opcionales, y son más útiles si se utiliza la API de “caminar” a través de puntos de datos del servidor. Para crear una categoría, haga clic en el icono de la carpeta verde, a continuación, arrastre cada punto de datos en la nueva categoría en el marco de la izquierda. Es posible que tenga que actualizar la página del navegador antes de las obras de arrastrar y soltar.
- Una última cosa antes de que haya terminado con el lado Nimbits de la configuración:. Crear una clave de API. Como se mencionó anteriormente, esta opción le permite enviar datos a su alimentación sin colgando su contraseña de Google a la Internet. Haga clic en el icono de la clave secreta en la barra de herramientas, a continuación, siga las instrucciones. Tenga en cuenta que, a diferencia de Pachube, sólo hay una clave para su cuenta – generar una nueva invalida la anterior.
Ejemplo de configuración Tweet-A-Watt
Las modificaciones necesarias para la secuencia de comandos wattcher.py Tweet-A-Watt son un poco diferentes de las de Pachube, tal como se describe en el qui .Para Nimbits se invoca la API REST directamente, mientras que para Pachube se utilizó una biblioteca independiente (eeml) como interfaz.
Agregue el código siguiente para update_graph método, en la misma sección que se ha añadido el código Pachube, usted debe, por supuesto, cambiar [Datos Nombre Point], [e-mail] y [clave secreta] con los valores utilizados para configurar su cuenta Nimbits (sin los corchetes)
Sugerencias de búsqueda: urllib.urlopen ("http://app.nimbits.com/service/currentvalue?value =" + str (avgwattsused) + "Y punto = [Datos Nombre Point] y email = [e-mail] y secreto = [clave secreta]") except IOError: print 'Error al enviar a Nimbits
Si tiene varios sensores Tweet-A-Watt, y que decidió no utilizar el sensor # como el nombre de punto de datos, tendrás que añadir un poco de código en Python para configurar el Parm “Punto de datos Nombre”, basada en el sensorhistory.sensornumvariable.
Después de reiniciar el guión wattcher.py, vuelva a la página Nimbits en el navegador. Si todo funciona, el “Valores actuales” ventana en el marco principal mostrará un valor de marca de tiempo y enviado por su Tweet-A-Watt en pocos minutos.
El gráfico de la página Nimbits toma un poco de tiempo para acostumbrarse. Por un lado, utiliza Adobe Flash, así que olvídate de arriba viéndolo en tu iPhone. Por defecto, se muestra la última hora de los datos. Bueno, en realidad, se muestra una hora de los datos – la hora especificada en los 2 cuadros de texto en la parte superior de la gráfica. Al hacer clic en el icono Actualizar no se actualiza la gráfica, ya que los cuadros de texto no se cambian. Similarmente, al hacer clic en el enlace “1d” no muestra el último día de los datos, ya que los cuadros de texto malditos no se cambian. Wah!
No culpe Nimbits para eso, culpar Google. Es su gráfico. Oficialmente, se trata de una “Tiempo Anotado Line” (sin anotaciones), tal como se documenta en el sitio de la API de Google Vizualización .
Así pues, aquí es como funciona: introduzca una fecha y rango de tiempo en los cuadros de texto, a continuación, haga clic en el botón de actualización del gráfico. Ahora puede utilizar los enlaces (1h, 1d, etc) para ampliar una ventana de datos de esa longitud. A continuación, puede utilizar el control deslizante en la parte inferior de la gráfica para desplazarse una vista ampliada de los datos sobre el rango de tiempo completo. En la siguiente imagen, el gráfico de líneas muestra el uso de electricidad durante una hora terminando a las 11 pm el 14 de marzo, mientras que la parte inferior de la tabla le permite utilizar el control deslizante para desplazarse a través de la gama de tiempo completo entre 12 de marzo y 14 de marzo. ( Hey, no juzgues! Mi ‘duinos tienen necesidades especiales. Y 2 luces de la planta.)
El Google Galería API de visualización se muestra la lista completa, cualquiera de los cuales se pueden visualizar a través de la API REST. La página Nimbits sólo 2 ha incorporado, la línea de tiempo anotado y el gráfico dinámico. No estoy del todo seguro de cómo estas últimas obras, pero si hace clic en él lo suficiente, empieza a actuar como un juego de Asteroides .(La Tabla de movimiento parece haber sido eliminado de Nimbits 3.1, lo cual es bueno ya que soy muy malo en los asteroides.)
Google Talk
La función de mensajería instantánea a ser muy útil, ya que no requiere ningún amigos reales. (Pachube no ofrece ninguna conectividad de mensajería instantánea preenvasados en la actualidad).
Esta función aprovecha la interfaz de Google App Engine a “cualquier cliente de mensajería instantánea compatible con XMPP”. y se integra con su cuenta de Gmail – si usted no está en línea cuando su servidor Nimbits tiene algo que quiere que le enviemos, le envia por correo electrónico en su lugar. Tendrá que instalar el software de escritorio de Google Talk , y acceder a Google Talk con el mismo ID Gmail con el que se acceda a Nimbits. Usted también tendrá que activar la opción de mensajería instantánea en Nimbits, como se describe en este artículo en el blog Nimbits .
Hay básicamente 3 maneras que usted puede utilizar la interfaz de mensajería instantánea:
- Recibir alertas cuando los datos pasa de un umbral especificado. Esto se configura en la sección “Alertas” y las fichas de “Alarma de inactividad”, como se muestra anteriormente. Aunque no es obvio desde el diálogo “Alarm Idle”, parece utilizar la misma configuración que las alertas para determinar dónde enviar la alarma.
- La interfaz interactiva. Los comandos se describen en la entrada del blog Nimbits .Esto es particularmente útil si usted está usando un teléfono inteligente Android no (hay una aplicación Nimbits para Android). Por cierto, yo no tuve mucha suerte en mi iPhone usando la página web de Google Talk específica iPhone de Google, pero hay un montón de aplicaciones que soportan Google Talk. Yo uso la aplicación IM +para esto.
- Recibe cada nueva lectura de datos. Esto es lo que sucederá si se habilita la mensajería instantánea en la pestaña “General”. Posiblemente útil para conseguir excusados de (o expulsado de) reuniones y actos sociales incómodas.
Rodando su propia plataforma
Una vez arriba y funcionando con el público Nimbits Server, se debe considerar la configuración de su propio sitio AppSpot usando el Google App Engine. Es sorprendentemente fácil de hacer, y casi totalmente libre de mantenimiento. Acerca de la única vez que tendrá que jugar con los controles es que si usted decide actualizar su versión de Nimbits.
La interfaz del navegador y API es idéntico, así que no hay curva de aprendizaje adicional. En el lado negativo, no hay manera fácil de exportar los datos desde el servidor público a su cuenta.
Las instrucciones aquí (comenzando con la sección “Getting Started”) hacen un buen trabajo de usuario a través del proceso – lo que realmente es así de simple. Voy a añadir algunas observaciones sobre el proceso:
- La sugerencia sobre el uso de una cuenta de Gmail secundaria también se aplica a registrarse para Google App Engine. Si usted es un desarrollador, hay algunas cosas que su código puede hacer sólo cuando la autenticación a través de Google, y que definitivamente no quieren ser una posición de codificación dura de su contraseña principal Gmail en cualquier aplicación.
- Al introducir su nombre de la aplicación en la página de Google App Engine, asegúrese de usar sólo caracteres en minúscula. Cuando yo era la creación de la mía, yo no podía creer que cada nombre de aplicación lo intenté fue tomada de acuerdo con el botón “Verificar disponibilidad”. “Vamos, alguien utilizó GigaMegaAlphaBeta!¿Tengo un acosador? “Resulta que las letras mayúsculas no están permitidas. (Son el mal).
- Asegúrese de descargar el Java SDK de App Engine, no el que Python. Incluso si usted no va a hacer ningún desarrollo, necesitará la herramienta de implementación de Java – es el “programa de instalación” para Nimbits en este caso.
- Si esta es la primera vez que ha implementado Nimbits a GAE, usted debe encontrar que la versión más Nimbits ya está establecido como predeterminado. Si más adelante instala una actualización de Nimbits, entonces usted tendrá que cambiar manualmente la versión en GAE – la nueva versión no pasa de forma automática “en vivo”.
- En la página “ServerSettings”, el único ajuste que tenía que cambiar era administrador (que debe ser tu dirección de Gmail). El ajuste RootURL se puede dejar en http://app.nimbits.com .
Después de terminar con los ServerSettings, puede abrir <yourappname>. Appspot.com en su navegador, y usted debe ser presentada con la misma interfaz exacta como en app.nimbits.com. Vas a tener que volver a crear los puntos de datos, utilizando el mismo procedimiento descrito anteriormente. Al final Tweet-A-Watt, basta con sustituir “app.nimbits.com” con “<yourappname>. Appspot.com” en el guión wattcher.py
por ejemplo,
urllib.urlopen (<a href = http://gigamegaalphabeta.appspot.com/service/currentvalue ...
Conclusión
A diferencia Pachube, Nimbits ofrece una . DLL neto, así como el apoyo a las llamadas a través de una API REST . El archivo. DLL utiliza una tecnología fascinante , por lo que su biblioteca Java del SDK es accesible para. Net través IKVM .
No hay una gran cantidad de documentación sobre el. API Net, así que habra que ir pensando en poner algunos ejemplos de código de una futura entrada en este blog.
Fuente aqui