Google y Xively


En  este blog hemos  hablado en otras ocasiones de la compañía  y su   gran trayectoria  primero con  el popular servicio de iot de  Pachube.com , después  con la adquisición por parte de  cosm.com  y  finalmente después comprada por logmeIn     reubatizando el servicio como  Xively.com,pues bien ahora podemos ver un nuevo cambio: su compra por parte de Google.

En efecto Google ha anunciado desde su blog  , que ha llegado a un acuerdo para adquirir Xively , una división de LogMeIn, Inc.( por USD50 millones )

Este nuevo movimiento alinea a Google con otros proveedores de la nube,  en especial  con  Amazon con su popular  AWS (Amazon Web Services ), que también han expandido sus propuestas IoT a través de adquisiciones, pero sin embargo, el momento y la naturaleza del acuerdo sugieren que puede estar impulsado por las ambiciones de Google en los productos electrónicos de consumo y el hogar inteligente, más que por la necesidad de agregar funciones genéricas a Google Cloud , pues  Google ya  lanzó su Cloud IoT Core para ofrecer servicios de alojamiento IoT basados ​​en su infraestructura en la nube en septiembre de 2017.

Con la adición de la plataforma Xively, Google aprovecharía su solución con un elemento de conectividad del dispositivo, ofreciendo una solución llave en mano para integrar dispositivos en la nube  así que la adquisición saca  a relucir  los intentos de Google de aumentar su participación en la cadena de valor de IoT. 

La movida de Google es similar  a otras empresas , pero es la mas tardía  que las realizadas por  sus rivales directos:

  • AWS compró 2lemetry en 2015.Las herramientas de IoT que AWS tiene, o está planificando, incluyen: IoT Core, Greengrass, IoT Device Management, IoT Device Defender, IoT analytics, FreeRTOS, IoT 1 clic y otros. AWS está tratando de proporcionar un conjunto completo de opciones para los desarrolladores de IoT en muchos mercados verticales y, al hacerlo, está dando menos espacio para que compitan los proveedores de nicho.
  • Microsoft Azure adquirió Solair en 2016.

 

Xively fue fundada en 2003 y ofrece una plataforma para la conectividad de dispositivos IoT.

 

xively

 

Tanto  AWS como  Azure utilizaron inicialmente su infraestructura en la nube para soportar los requisitos de hospedaje de datos para IoT y luego usaron la plataforma adquirida para avanzar a lo largo de la cadena de valor y simplificar el desarrollo de soluciones para los clientes.

Xively y otros desarrollos sugieren que Google apunta a fortalecer su rol en el negocio de la casa inteligente

A pesar de las similitudes con AWS y la compra de Azure de una plataforma IoT, Google puede estar intentando algo diferente con su adquisición de Xively pues si las capacidades de la plataforma IoT fueran tan importantes, podría haber comprado otra plataforma anteriormente, o incluso haber creado una internamente. Además, para competir con AWS u otros proveedores de plataforma como PTC ThingWorx, será necesario darle seguimiento con otras adquisiciones o desarrollos internos.

Xively puede ser parte de la estrategia de Google para desarrollar capacidades para productos electrónicos de consumo y dispositivos domésticos inteligentes, en lugar de una plataforma horizontal para todos los verticales.

Una semana antes del anuncio de Xively, la empresa matriz de Google, Alphabet, dijo que estaba incorporando Nest en Google para coordinar mejor estos productos inteligentes para el hogar con otros esfuerzos, como Pixel, Google Home y Chromecast. Con la adición de una plataforma, Google, no solo consolida sus productos de consumo de hardware y software, sino que también establece un ecosistema que conecta a las diferentes partes interesadas que operan en este mercado. El reciente alquiler de IoT de Google y las actividades de Xively sugieren que la adquisición de Xively podría respaldar el enfoque revisado de Google para el mercado de consumo inteligente y hogar inteligente.

 

edge

Xively, como muchas otras plataformas IoT, se posiciona como una plataforma horizontal,pero sin embargo, la mayoría de los casos de uso de Xively son para aplicaciones domésticas inteligentes y relacionadas con el consumidor  como hemos podido ver  con las numerosos ejemplos que podemos   usando  diferentes soportes y placas  que son de aplicacion en  calentadores de agua conectados, rastreadores de mascotas, termostatos , soluciones de iluminación y un largo etcétera.

Los antecedentes de usuarios y dispositivos de Xively combinados con el hardware y las aplicaciones de Google pueden ser parte de un esfuerzo para construir una plataforma de hogar inteligente más completa  asi que la venta de Xively puede representar una revisión del mercado de las plataformas de IoT

 

Para 2020 , se estima que alrededor de 20 mil millones de cosas conectadas entrarán en funcionamiento, y el análisis y el almacenamiento de datos en la nube ahora son la piedra angular de cualquier solución de IoT exitosa. Esta adquisición, sujeta a las condiciones de cierre, complementará los esfuerzos de Google Cloud para proporcionar un servicio de IoT completamente administrado que conecte, administre e ingestione de manera fácil y segura los datos de dispositivos dispersos a nivel mundial. Con la adición de la robusta plataforma IoT lista para la empresa de Xively, Google puede acelerar la línea de tiempo de sus  clientes desde la visión de IoT hasta el producto, a medida que buscan construir su negocio conectado.

A través de esta adquisición, Cloud IoT Core obtendrá tecnología de IoT profunda y experiencia en ingeniería, incluida la administración avanzada de dispositivos, la mensajería y las funciones de tablero de Xively. Los os clientes se beneficiarán del extenso conjunto de características y la plataforma flexible de administración de dispositivos de Xively, junto con la seguridad y la escala de Google Cloud. Con el profundo liderazgo de Google Cloud en el análisis de datos y el aprendizaje automático, sus  clientes también estarán en una posición única para desarrollar soluciones de IoT llave en mano y enfocarse en la creación de valor empresarial.

 

 

Fuente https://www.blog.google

Envío de datos a la nube de Azure desde ESP8266 usando DHT11 o DHT22


 DHT11 y  DHT22 son dos modelos de una misma familia de sensores, que permiten realizar la medición simultánea de temperatura y humedad usando ademas un único  hilo para comunicar los datos vía serie, para lo cual  ambos  disponen de un procesador interno que realiza el proceso de medición, proporcionando la medición mediante una señal digital, por lo que resulta muy sencillo obtener la medición desde un microprocesador como Arduino o ESP8266.

Ambos son similares ( DHT11 presenta una carcasa azul  , mientras que el sensor DHT22  es blanco)  compartiendo además los mismos pines  disponiendo de  4 patillas, de las cuales usaremos sólo 3: Vcc, Output y GND.  Como peculiaridad ,la  salida la conectaremos a una entrada digital  , pero necesitaremos poner una resistencia de 10K entre Vcc y el Pin Output.

El  DHT11  puede medir temperaturas entre 0 a 50, con una precisión de 2ºC, humedad entre 20 a 80%, con precisión del 5% y con una a frecuencia de muestreo de 1 muestras por segundo (1 Hz)

En clara superioridad  con el dHT11 , el modelo DHT22 tiene unas características mucho más profesionales.
  • Medición de temperatura entre -40 a 125, con una precisión de 0.5ºC
  • Medición de humedad entre 0 a 100%, con precisión del 2-5%.
  • Frecuencia de muestreo de 2 muestras por segundo (2 Hz)

Destacar que este tipo de  sensores de temperatura  ( y, aún más, los sensores de humedad) , son sensores con elevada inercia y tiempos de respuesta elevados. Es decir, al “lentos” para reflejar los cambios en la medición.

 

Conectar el DHT11   o el DHT22  a  un Arduino o ESP82366  es sencillo, simplemente alimentamos desde Arduino al sensor a través de los pines GND y Vcc del mismo. Por otro lado, conectamos la salida Output a una entrada digital de Arduino. Necesitaremos poner una resistencia de 10K entre Vcc y el Pin Output.

El esquema eléctrico queda como la siguiente imagen

arduino-dht11-dht22-esquema

Los sensores DHT11 y DHT22 usan su propio sistema de comunicación bidireccional mediante un único hilo , empleando señales temporizadas por lo que en general, lo normal es que empleemos una librería existente para simplificar el proceso.Por ejemplo podemos usar la librería de Adafruit disponible en este enlace.

Una vez  descargada e instalada  la librería  por ejemplo podemos capturar la información de un sensor DHT11  con este código :

#include «DHT.h»
#define DHTTYPE DHT11   // DHT 11
const int DHTPin = 5;     // conexion del pin digital
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
   Serial.begin(9600);
   Serial.println(«DHTxx test!»);
 
   dht.begin();
}
 
void loop() {
   //esperar unos 2000ms
   delay(2000);
 
   // Leyendo temperatura  o humedad  toma  sobre unos 250 ms
   float h = dht.readHumidity();
   float t = dht.readTemperature();
 
   if (isnan(h) || isnan(t)) {
      Serial.println(«Fallo al leer el sensor DHT «);
      return;
   }
  
   Serial.print(«Humedad: «);
   Serial.print(h);
   Serial.print(» %\t»);
   Serial.print(«Temperatura: «);
   Serial.print(t);
   Serial.print(» *C «);
}

 

 

Conexión de un DHTXX a un  ESP8266 

Para resultados mas profesionales puede usar un DHT22 ( es el usado en el ejemplo ) , pero  como hemos comentado el DHT11  para fines experimentales  es también aceptable .

Las  simples conexiones  la puede utilizar  una  placa de pruebas, y  cables de puente o directamente con cablecillos  para realizar las conexiones de la siguiente manera:

referencia de conexiones

 

Para los pines  del sensor, usaremos el siguiente cableado:

Start (Sensor) Fin (Junta) Color del cable
VDD (Pin 27F) 3V (Pin 8A) cable rojo
DATOS (Pin 28F) GPIO 2 (Pin 9A) Cable blanco
GND (Pin 30F) GND (Pin 7J) Cable negro

 

 

Por  ultimo utilice un cable USB Micro USB a Tipo A para conectar Sparkfun ESP8266 Thing Dev a su ordenador 

Crear un centro de IoT

  1. Inicie sesión en el portal de Azure .
  2. Seleccione Crear un recurso > Internet de las cosas > IoT Hub .Captura de pantalla de la navegación del portal Azure al centro de IoT
  3. En el panel de hub de IoT , ingrese la siguiente información para su hub de IoT:
    • Nombre : crea un nombre para tu hub de IoT. Si el nombre que ingresa es válido, aparece una marca de verificación verde.

     

    • Nivel de precios y escala : para este tutorial, seleccione el nivel F1 – Gratuito .
    • Grupo de recursos : cree un grupo de recursos para alojar el concentrador de IoT o use uno existente.
    • Ubicación : Seleccione la ubicación más cercana para usted.
    • Fijar al tablero : marque esta opción para acceder fácilmente a su hub de IoT desde el tablero.Ventana del concentrador IoT
  4. Haga clic en Crear . Su hub de IoT puede tardar unos minutos en crearse. Puede controlar el progreso en el panel de notificaciones .

Ahora que ha creado un concentrador de IoT, ubique la información importante que usa para conectar dispositivos y aplicaciones a su hub de IoT.

  1. Después de crear su concentrador de IoT, haga clic en él en el tablero. Tome nota del nombre de host y luego haga clic en Directivas de acceso compartido .Obtenga el nombre de host de su centro de IoT
  2. En el panel Políticas de acceso compartido , haga clic en la política iothubowner , y luego copie y anote la cadena de conexión de su centro IoT.

Obtenga su cadena de conexión del hub de IoT

Registre un dispositivo en el hub de IoT para su dispositivo

  1. En el portal de Azure , abra su concentrador de IoT.
  2. Haga clic en Explorador de dispositivos  .
  3. En el panel Explorador de dispositivos, haga clic en Agregar para agregar un dispositivo a su centro de IdC. 
  4. Luego ingrese la ID del nuevo dispositivo en:ID del dispositivo ( Debe saber que los  ID de dispositivo son sensibles a mayúsculas y minúsculas)
  5. Tipo de autenticación : Seleccione la clave simétrica 
  6. Generar claves automáticamente : seleccione esta casilla de verificación.
  7. Conecte el dispositivo al Hub de IoT : haga clic en Habilitar .Agregue un dispositivo en el Explorador de dispositivos de su centro de IoT
  8. Haga clic en Guardar .
  9. Después de que se crea el dispositivo, abra el dispositivo en el panel Explorador de dispositivos .
  10. Tome nota de la clave principal de la cadena de conexión.Obtener la cadena de conexión del dispositivo

 

Reúna los datos del sensor y envíelos a su centro de IoT

En el ejemplo  se  implementa y ejecuta una aplicación de muestra en Sparkfun ESP8266 Thing Dev. La aplicación parpadea el LED en Sparkfun ESP8266 Thing Dev y envía los datos de temperatura y humedad recopilados del sensor DHT22 a su hub de IoT.

Obtenga la aplicación de muestra de GitHub

La aplicación de ejemplo está alojada en GitHub. Clone el repositorio de muestras que contiene la aplicación de muestra de GitHub. Para clonar el repositorio de muestras, siga estos pasos:

  1. Descargue e instale el programa Git ,por ejemplo desde https://gitforwindows.org/git
  2. Abra un símbolo del sistema o una ventana de terminal.
  3. Vaya a una carpeta donde desea que se almacene la aplicación de muestra.
  4. Ejecute el  Git
  5. Ahora desde el interfaz del Git en modo comando ejecute
    git clone https://github.com/Azure-Samples/iot-hub-SparkFun-ThingDev-client-app.gitclonado.PNG

 

Instale ahora el paquete para  el ESP8266 en Arduino IDE:

  1. Abra la carpeta donde se almacena la aplicación de muestra que descargo desde el comando git clone.
  2. Abra el archivo app.ino en la carpeta de la aplicación en Arduino IDE.
  3. En el IDE de Arduino, haga clic en Archivo > Preferencias .
  4. En el cuadro de diálogo Preferencias , haga clic en el icono que se encuentra junto al cuadro de texto Direcciones URL del administrador de tarjetas adicionales .
  5. En la ventana emergente, ingrese la siguiente URL http://arduino.esp8266.com/stable/package_esp8266com_index.json                                    señalar a un paquete url en arduino ide
  6. Haga  luego haga clic en Aceptar .
  7. En el cuadro de diálogo Preferencias , haga clic en Aceptar .
  8. Haga clic en Herramientas > Placa > Administrador de placas , y luego busque esp8266. Se debe instalar ESP8266 con una versión de 2.2.0 o posterior.En caso del ESP12E DEVKIT V2, seleccione NodeMCU 1.0(ESP-12E Module)

Instalación de  las bibliotecas necesarias

  1. En el IDE de Arduino, haga clic en Programa > Incluir libreria> Gestionar librerias .
  2. Busque los siguientes nombres de biblioteca una por una:
    • AzureIoTHub
    • AzureIoTUtility
    • AzureIoTProtocol_MQTT
    • ArduinoJson
    • DHT sensor library 
    • Adafruit Unified Sensor
  3. Para cada una de las bibliotecas que encuentre, haga clic en Instalar .

Implementar la aplicación de muestra  para ESP8266 

  1. En el IDE de Arduino, haga clic en Herramienta > Puerto , y luego haga clic en el puerto serie que le presente el interfaz de Arduino  para el  ESP8266(por ejemplo «COM3» )
  2. Haga clic en Programa > Subir para crear e implementar la aplicación de muestra en  ESP8266 .

Ingrese sus credenciales

Después de que la carga se complete con éxito, siga los pasos para ingresar sus credenciales:

  1. En el IDE de Arduino, haga clic en Herramientas > Monitor en serie .
  2. En la ventana del monitor de serie, observe las dos listas desplegables en la esquina inferior derecha.
  3. Seleccione Sin final de línea para la lista desplegable de la izquierda.
  4. Seleccione 115200 baudios para la lista desplegable de la derecha.
  5. En el cuadro de entrada ubicado en la parte superior de la ventana del monitor serie, ingrese la siguiente información si se le solicita que los proporcione y luego haga clic en Enviar .
    • Wi-Fi SSID
    • Contraseña de wifi
    • Cadena de conexión del dispositivo

 Nota:La información de credenciales se almacena en la EEPROM del ESP8266 Si hace clic en el botón de reinicio en la placa ESP8266 , la aplicación de muestra le pregunta si desea borrar la información. Ingrese Y para borrar la información y se le pedirá que proporcione la información nuevamente.

Verifique que la aplicación de muestra se esté ejecutando correctamente

Si ve la siguiente salida de la ventana del monitor serie y el LED parpadeante en  la placa ESP8266  la aplicación de muestra se está ejecutando correctamente.

com33.png

 

 

Nota:Si está utilizando otras placas ESP8266, puede seguir estos pasos para conectarlo a su hub de IoT. Según la placa ESP8266 que esté utilizando, es posible que necesite reconfigurar el LED_PIN . Por ejemplo, si está usando ESP8266 de AI-Thinker, puede cambiarlo de 0 a 2 .

 

 

 

Fuente  https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-sparkfun-esp8266-thing-dev-get-started