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

Anuncio publicitario

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

Como enviar y recibir mensajes entre su dispositivo y el concentrador de IoT de Azure


Una  vez que tenemos   un   dispositivo compatible con Azure Iot  (  como por ejemplo una Raspberry pi  3 como vimos   , o  desde un ESP8266   como vimos también recientemente  ) , los hemos  configurado  y   hemos  implementado una aplicación de ejemplo para ejecutar en el dispositivo que envié envíe datos que   los sensores recogen a su hub de IoT , puede  que  queramos intentar gestionar la mensajería en la nube del  dispositivo IoT  

Precisamente  en este contexto  surge  iothub-explorer que pone a  nuestra disposición  varios  comandos para  facilitar la gestión de centro de IoT  permitiéndonos   supervisar mensajes de dispositivo a nube y enviar mensajes de dispositivo de nube.

Los mensajes de dispositivo a nube podrían ser datos de sensores de  un dispositivo  que recolecta y envía a su hub de IoT (   como por ejemplo una Raspberry pi  3 como vimos  en este post , o  desde un ESP8266   como vimos recientemente  en este post )   o   bien los mensajes hacia ese  dispositivo de nube  que  podría ser comandos que IoT hub envía al dispositivo como por ejemplo hacer  parpadear un LED conectado a ese dispositivo.

Resumidamente  hay pues dos usos  muy diferentes del explorador de iothub :

  • Para supervisar mensajes de dispositivo a nube.
  • Para enviar mensajes de dispositivo de nube.

Para ello necesitamos haber completado dos fases:

  1. Haber  configurado el dispositivo , configuración completa que cubre los siguientes requisitos:
    • Haber registrado una cuenta de suscripción a Azure ( la gratuita nos sirve) .
    • Haber registrado un centro de Azure IoT ( una vez mas  también existe una modalidad gratuita para probar el  servicio).
    • Una aplicación de cliente que envíe mensajes a su hub de IoT de Azure.
  2. Haber instalado el  explorador de iothub. (Instalar explorer iothub)

Instalación de iothub-explorer

Iothub Explorer es pues una herramienta CLI para administrar las identidades de los dispositivos en su registro de IoT hub, enviar y recibir mensajes y archivos desde sus dispositivos, y monitorear sus operaciones de centros de IoT. Ademas iothub-explorer también permite simular un dispositivo conectado a su hub de IoT.

En post  anteriores  vimos  como con  una Raspberry pi  3 , o  desde un ESP8266    los   configurábamos   e  implementamos sendas aplicaciones para ejecutar en esos dispositivos procesos para enviar datos de telemetria  procedente de sus  sensores a un  hub de IoT en la nube de Azure Iot Edge

Bien, tenemos nuestra aplicación corriendo en el dispositivo de Iot , por lo que necesitamos ahora instalar el  explorador de iothub. Desgraciadamente no esta disponible para ambiente windows , es decir solo lo podemos ejecutar por el momento en equipos con Linux instalado. Ademas esta herramienta requiere la versión 4.x o superior de Node.js para que funcionen todas las características.

Para instalar la última versión de la herramienta iothub-explorer, ejecute el siguiente comando en su entorno de línea de comandos:

npm install -g iothub-explorer

En caso de querer instalar esta utilidad en una Raspberry pi  desde Raspbian, al no estar disponible el comando npm  instalarlo siguiendo estos pasos:

cd ~
git clone https://github.com/azure/iothub-explorer

gitclone

Manejo de iothub-explorer

Una vez isntalada esta utilidad ,puede usar el siguiente comando para obtener ayuda adicional sobre todos los comandos de ihotub-explorer:

$ iothub-explorer help
Usage: iothub-explorer [options] <command> [command-options] [command-args]


  Commands:

    login                           start a session on your IoT hub
    logout                          terminate the current session on your IoT hub
    list                            list the device identities currently in your IoT hub device registry
    create <device-id|device-json>  create a device identity in your IoT hub device registry
    delete <device-id>              delete a device identity from your IoT hub device registry
    get <device-id>                 get a device identity from your IoT hub device registry
    import-devices                  import device identities in bulk: local file -> Azure blob storage -> IoT hub
    export-devices                  export device identities in bulk: IoT hub -> Azure blob storage -> local file
    send <device-id> <message>      send a message to the device (cloud-to-device/C2D)
    monitor-feedback                monitor feedback sent by devices to acknowledge cloud-to-device (C2D) messages
    monitor-events [device-id]      listen to events coming from devices (or one in particular)
    monitor-uploads                 monitor the file upload notifications endpoint
    monitor-ops                     listen to the operations monitoring endpoint of your IoT hub instance
    sas-token <device-id>           generate a SAS Token for the given device
    simulate-device <device-id>     simulate a device with the specified id
    help [cmd]                      display help for [cmd]

  Options:

    -h, --help     output usage information
    -V, --version  output the version number

Cada comando iothub-explorer tiene su propia ayuda ,la cual  se puede ver pasanDdo el argumento -help (ayuda)  al nombre del comando:

$ iothub-explorer help create

  Usage: iothub-explorer create [options] [device-id|device-json]
  
  Create a device identity in your IoT hub device registry, either using the specified device id or JSON description.

  Options:

    -h, --help                       output usage information
    -a, --auto                       create a device with an auto-generated device id
    -cs, --connection-string         show the connection string for the newly created device
    -d, --display <property-filter>  comma-separated list of device properties that should be displayed
    -l, --login <connection-string>  connection string to use to authenticate with your IoT Hub instance
    -k1, --key1 <key>                specify the primary key for newly created device
    -k2, --key2 <key>                specify the secondary key for newly created device
    -r, --raw                        use this flag to return raw JSON instead of pretty-printed output
    -x, --x509                       generate an x509 certificate to authenticate the device
    -dv, --daysValid                 number of days the x509 certificate should be valid for
    -t1, --thumbprint1 <thumbprint>  specify the primary thumbprint of the x509 certificate
    -t2, --thumbprint2 <thumbprint>  specify the secondary thumbprint of the x509 certificate

 

Puede obtener mas  información en  https://github.com/azure/iothub-explorer

Monitor dispositivo a nube mensajes

Para supervisar los mensajes que se envían desde el dispositivo a su hub de IoT, siga estos pasos:

  1. Abra una ventana de consola.
  2. Ejecute el siguiente comando:iothub-explorer monitor-events <device-id> --login "<IoTHubConnectionString>"
  3. Obtener y de su hub de IoT. Asegúrese de que haya terminado el tutorial anterior. O puedes probar a utilizar si tienes, y.<device-id><IoTHubConnectionString>iothub-explorer monitor-events <device-id> --login "HostName=<my-hub>.azure-devices.net;SharedAccessKeyName=<my-policy>;SharedAccessKey=<my-policy-key>"HostNameSharedAccessKeyNameSharedAccessKey

Enviar mensajes de dispositivo de nube

Para enviar un mensaje desde su hub de IoT en el dispositivo, siga estos pasos:

  1. Abra una ventana de consola.
  2. Iniciar una sesión en su hub de IoT ejecutando el siguiente comando:
    Bash Copia
    iothub-explorer login `<IoTHubConnectionString>`
    
  3. Enviar un mensaje a su dispositivo ejecutando el siguiente comando:
    Bash Copia
    iothub-explorer send <device-id> <message>
    

El comando hace parpadear el LED que está conectado a su dispositivo y envía el mensaje al dispositivo.

Nota:No es necesario para el dispositivo envie un comando ack separado a su hub de IoT al recibir el mensaje.

 

Construya su propia consola de juegos con Orange Pi



RetrOrange Pi es es un sistema operativo completo que funciona sobre las placas Orange Pi sin fines de lucro.
Consiste en una configuración básica del Retropie con más núcleos Libretro encima previamente instalada una versión de Jessie Desktop Armbian incluye ademas una horquilla OpenELEC 
Esta distribución se  ha  desarrollado y mantenido por Stevie Whyte y Alerino Reis con colaboración de Wang Matt.
RetrOrangePi es compatible con placas  equipados con CPU H3 y GPU Mali 400, es decir la mayoría Orange Pi, Banana Pi M2 +, Beelink X 2 y NanoPi M1. Se basa, como comentabamos en Armbian (Linux Debian 8) y RetroPie.

Además, a esta distribución de Linux , se incorporan otras herramientas orientadas a la emulación de videojuegos y entretenimiento  que  son realmente la potencia de este paquete.

RetroPie y Kodi son pues los núcleos del proyecto que seguramente llenarán las horas de entretenimiento a muchos usuarios de Orange Pi.

 

En cuanto a consolas emuladas, los usuarios de RetrOrange Pi podrán jugar a videojuegos de PlayStation, MAME, Nintendo NES, SNES, Dreamcast, PSP, Atari, Sega, Nintendo 64 o ScummVM entre otras muchas (unas 64  en total).

Para tener RetrOrange Pi, necesitamos una placa Orange Pi, una tarjeta microsd de al menos 16 Gb de capacidad y el sistema operativo RetrOrange Pi

Gran parte del software incluido en la imagen tienen licencias no comerciales. Debido a esto, vender una imagen preinstalada de RetrOrange no es legal, ni por supuesto  incluirlo en  un  producto comercial
retropie.PNG

Componentes  necesarios

Los componentes que necesitaremos para llevar a cabo este proyecto son los siguientes:

Montaje

Dada la dificultad obtener una carcasa a media , lo mas sencillo es imprimir  en 3D la caja que contendrá la Orange Pi. Un diseño muy sencillo y rápido es el siguiente  que podemos obtener de thinginverse   el cual esta adaptado perfectamente a la Orange Pi PC.

Este es el link correspondiente:https://www.thingiverse.com/thing:1565411

Otra vía  si no se dispone de impresora 3D es usar una caja de platico  y practicar los agujeros correspondientes para el modelo de orange pi  que vayamos a usar

 

IMG_20180325_123125[1]

Mandos

Para que la experiencia sea  completa  necesitaremos un mando compatible  Retropi System ,es decir un Mando genérico USB donde solo necesita conectarse a un puerto USB y este listo para funcionar.
Los mandos genéricos funcionan con la mayoría de emuladores pues los controladores son compatibles  con el original de SNES.

Por ejemplo este modelo funciona igual que el original tanto con la Raspberry Pi como la Orange Pi . El cable proporcionados  USB es de 1,5 metros y  sus botones son súper sensitivos y de alta precisión.
Las botones que incluye estos mandos   son :

  • Un botón «Start»
  • Un botón «Select»
  • Cruz de control de movimiento.
  • Cuatro botones A,,B,X,Y
  • Dos botones laterales de disparo

El modelo   descrito  tiene  un clásico diseño retro pero se adapta perfectamente a la mano y es relativamente económico ( dos mandos por menos de 9€).

 

 

El mando descrito (el  de las fotos) se puede conseguir en Amazon por unos 8€

Instalación  sistema  operativo

  1.  Debe descargar la imagen más reciente desde el sitio RetrOrangePi  la versión más reciente: RetrOrangePi 4.1  segun su placa :  Plátano Pi M2 + BeeLink X2 OrangePi Lite OrangePi uno OrangePi PC PC OrangePi + OrangePi + 2e OrangePi Plus/Plus2 Versión PAL de cero OrangePi Versión NTSC de cero OrangePi OrangePi cero Plus 2 H3 NanoPi M1(coming soon) OrangePi 2 (próximamente)VERSIÓN COMPLETA – SERVIDOR DE EUROPAPlátano Pi M2 +BeeLink X2OrangePi LiteOrangePi unoOrangePi PCPC OrangePi +OrangePi + 2eOrangePi Plus/Plus2Versión PAL de cero OrangePiVersión NTSC de cero OrangePiOrangePi cero Plus 2 H3OrangePi 2 (próximamente)NanoPi M1 (próximamente) (Debe descargar  de servidores mas cercanos al sitio de la descarga  y acorde  con la placa Orange Pi exacta que se tenga )
  2. Descomprimir la imagen  descargada  en el paso anterior . Idealmente lo mejor es  usar con el programa   7-Zip .
  3. Asegúrese de obtener un archivo con extensión .img. El tamaño del archivo es ~ 5GB por lo que se requiere una tarjeta SD de 8GB mínimo(idealmente al menos de 16GB).
  4. Formatear la microsd si es  que contiene otra versión o imagen antigua de sistema operativo por ejemplo con el programa SC Card Formatter
  5. Incorporar  la imagen flash obtenida al descomprimir en una tarjeta SD  usando el programa  Win32DiskImager

 

 

 

Configuración

 

  1. . Insertar  la tarjeta  en su  placa Orange Pi
  2. Conecte al menos un teclado usb o  un mando usb ( no es necesario conectar un teclado si va a insertar al menos un  mando USB)
  3. Conecte  mediante hdmi desde la Raspberry Pi a un TV o monitor 
  4. Finalmente proporcione alimentación de 5v DC  a la   placa .Atencion!  ! tenga mucho cuidado con este punto !, porque algunos modelos no se alimentan mediante el microusb sino por un conector propietario  o bien desde el conector de expansión , eso sí también a 5V DC.
  5. Necesitamos obtener la dirección IP de la Orange Pi , por lo que dado que el comando ifconfig   puede fallar en esta distribución , lo más sencillo es  usar el programa Fing desde su smartphone o tableta.
  6. Tenga en cuenta que el terminal   y la OrangePi deben estar conectados a la misma red. Esta app , como se puede ver en la imagen de mas abajo , al actualizar el estado nos devuelve la IP de la RETRORANGEPI directamente:                                                                                                                                                                              Screenshot_2018-03-22-22-33-10-808_com.overlook.android.fing[1]
  7. Conociendo ya la dirección IP, y manteniendo encendido nuestra OrangePi, necesitamos un programa cliente FTP para conectar nuestro ordenador, donde tenemos nuestras ROMs listas para copiar, a RetrOrangepie. Existen numerosas aplicaciones para ello, como por ejemplo FileZilla,Winscp, etc

Notas :

  • La contraseña para conectar por FTP es usuario: root contraseña: orangepi
  • Atajos de teclado (excepto Dreamcast PPSSPP, LinApple, Commodore…)

    · Select + Start → salida juego
    · Select + derecha hombro → Guardar estado
    · Select + izquierda hombro → carga estado
    · Select + derecha → guardar ranura aumento
    · Select + izquierda → guardar disminución de ranura
    · Menú de SELECT + X → RetroArch
    · Select + B → reiniciar juego

Copiar ROMs a RetroOrangepie

Una vez la Orange PI tenga  el sw de RetroOrangepie funcionando  necesitamos instalar alguna ROM  de algún juego para  disfrutar de esta .

Las ROMs(es decir volcados de memoria de los juegos )    a pesar  de tener bastantes años y no tener un valor comercial concreto , al estar sujetas a derechos de autor , no deberíamos publicar las  urls’s para su descarga , pero si se ha comprado con alguno  de estos juegos se supone podríamos hacer  uso de estas debido a los años transcurridos. Dada su gran popularidad estos volcados son  muy fácil  obtenerlos  con una sencilla búsqueda en Google  (por ejemplo emuparadise es una referencia) .

Conociendo la dirección IP  obtenida con el Fing,  la manera mas sencilla  de copiar esas ROMs  es  manteniendo encendida nuestra placa  y  por supuesto teniendo la placa conectada a la red  , usar  un programa cliente FTP para conectar desde nuestro ordenador ( donde tenemos nuestras ROMs listas para copiar)  a la OrangePIe. Existen numerosas aplicaciones para ello, como por ejemplo FileZilla,WinScp, etc

Una vez abierta nuestra aplicación de FTP, necesitamos indicar una serie de parámetros para realizar la conexión:

  • Dirección del servidor (Server Address o Host Name): La dirección IP que hemos averiguado anteriormente  con el programa Fing.
  • Nombre de usuario (UserName): root
  • Contraseña (Password): orangepi
  • Puerto (Port Number): 22

Conectamos y aparecerá un árbol de directorios que comienza desde la ruta /home/pi. Desde ahí accedemos al directorio Retropie y después a roms. Aquí se encuentran todos los directorios disponibles para copiar ROMs. Simplemente debemos copiarlas desde nuestro ordenador al directorio que corresponda y listo.

Cada emulador busca sus ROMs en un directorio específico, por lo que el único secreto aquí es saber a qué destino debe ir cada ROM. Para saberlo, lo mejor es consultar la página correspondiente a cada sistema en el wiki de Retropie,pero en general es bastante sencillo pues  colgara de /home/pi/retropi/roms/ .

Así, por ejemplo, si deseamos copiar ROMs de Megadrive, entramos en su página del wiki y vemos que la ruta que corresponde es /home/pi/RetroPie/roms/megadrive, aunque en este caso también se puede usar la ruta /home/pi/RetroPie/roms/genesis.

En caso de ROMs para la Nintendo64 por ejemplo ,  la  ruta es /home/pi/retropi/roms/n64

 

IMG_20180325_123115[1].jpg

PROBLEMAS :

  • En caso que la placa no parece arrancar, intente formatear su sd tarjeta con SDFormatter 4.0  (con ajuste de tamaño sobre) o, probar una fuente de alimentación diferente (real 2A) y una nueva sd (class10 original, recomendado), y por último pero no menos importante, asegúrese de conectarse su  TV es compatible con HDMI 720 (sin los adaptadores DVI)
  • En el primer arranque automáticamente se instala el sistema, cambia el tamaño de la tarjeta sd y en ocasiones se reinicia otra vez, asi que por favor sea paciente
  • Por defecto el nombre de usuario y contraseñas son: pi de usuario / contraseña pi / superusuario root / contraseña orangepi
  • Los emuladores ya están instalados, pero sólo aparecen en EmulationStation al agregar roms.
  • Para agregar ROMs, simplemente soltar archivos en la carpeta de la consola de /home/pi/RetroPie/roms/$, donde $CONSOLE es el nombre de la consola de destino, por ejemplo snes o arcade. Puede lanzar el escritorio de EmulationStation y enchufe una unidad USB con tus ROMs. Carpetas roms son también acciones de samba.
  • Debido a nuestra configuración personalizada, por favor no ejecutar ‘sudo apt-get upgrade’. Se pueden romper algunas cosas.
  • Las ROMs   a pesar  de tener bastantes años y no tener valor comercial al estar sujetas a derechos de autor , no podemos  publicar las  urls’s para su descarga , pero dado su gran popularidad es muy fácil obtenerlas  con una sencilla búsqueda en Google (por ejemplo emuparadise es una referencia) .

 

Recuperar un zwatch


En su día el SmartQ Z-Watch fue  uno de los primeros  smartwatch  impulsados por Android contando para ello con  una CPU de 1 GHz con 512 MB de RAM JZ4775 y 4GB de almacenamiento interno. Este SmartWatch  como tal  podia sincronizar fácilmente con cualquier smartphone con Android 4.0 por bluetooth  o por wifi

El SmartQ Z pesaba alrededor de 43 gramos con la batería teniendo 12.46mm de grosor, seindo la anchura  de 30.70 y la longitud de 49.79mm ,contando con dos botones en el lado derecho – el encendido y el botón de vuelta  atrás.

Hay 4 tornillos de la parte posterior en caso de  seque quiera quitar la cubierta posterior( por ejemplo para reemplazar la bateria facilmente) .

En la parte posterior se menciona claramente que el reloj es resistente hasta 3ATM que es de hasta 30 pies de agua por lo que debería soportar inmersiones en agua por ejemplo para su uso en una piscina para escuchar música mientras se nada, 

El SmartQ Z  incluye una aplicación para  reproductor de música  y se puede almacenar  archivos de música MP3 en el almacenamiento de 2 GB (se convierte así en  un reloj portátil con reproductor de música) las cuales se pueden reproducir  mediante la conexión de unos auriculares en el audio jack de 3.5mm  que tienen a la  izquierda pues no cuenta con altavoz incorporado

Una de las ventajas de tener un smartwatch es el hecho de que usted puede agregar nueva funcionalidad a su reloj por un proceso de actualización simple.  En sus tiempos se podian  instalar nuevas aplicaciones a través de la tienda de aplicaciones SmartQ pero otra opción es guardar el fichero apk en la memoria interna  e instalarlo  desde ahi.

 

Desgraciadamente su fabricante chino SmartQ (www.smartdevices.com.) hace tiempo que dejo de  soporte a este estupendo smartwatch de modo que son muchos  los usuarios que preservan el sw de este a  traves de repositorios ;

 

Para todos que hayamos tenemos problemas con este reloj , resumo aquí el procedimiento actualizado para restaurarlo:

 

 

Versiones de la aplicacion z-watch para Android

La aplicación esta en castellano y no estuvo  nunca  disponible en Google-play(incomprensiblemente si lo estuvo en el apple Store para los dispositivos Ios)
Desde la Pagina oficial en chino de la aplicación:  estan disponibles las siguientes versiones:

 

 

 

.enlazezwatch

Azure IoT Edge en una Raspberry Pi 3


OK, gracias a un post anterior  teníamos dentro de nuestro equipo  un dispositivo basado en Windows  simulado enviando datos a la nube, todo en nuestra propia máquina de desarrollo (es decir sin necesitar otro equipo en el que instalar sw adicional). Obviamente estos es interesante desde el punto de vista del aprendizaje pues nos muestra  como es un dispositivo dedicado de Edge  IoT de Azure.¿No?

¿Necesita ese equipo? OK, vamos a estudiar hacer  algo para  salir de este  usando otro hw  diferente  asi que el siguiente paso en el viaje es poner Edge IoT de Azure en un dispositivo real, es decir   instalar el sw de Azure Iot Edge en algún otro lugar, como por ejemplo  en una  Raspberry Pi 3.

Si nunca ha trabajado con una Raspberry Pi 3, no se preocupe! Es muy simple empezar pues en realiad  sólo se puede imaginar la Raspberry Pi 3 como un equipo súper pequeño que pasa a tener también GPIO (con fines generales entrada/salida)  para poder controlar cosas como motores y leer cosas de sensores. Es fácil ver el IPC como el, porque eso es lo que es.

Por 35€ más o menos, tiene un procesador de 1,3 GHZ quad-core ARM, GPU, cuatro puertos USB, un puerto Ethernet, Wi-Fi a bordo y Bluetooth y un salida HDMI, así como los mencionados pines GPIO. Es un terreno intermedio: es un equipo endeble pero un dispositivo de IoT muy potente.

Este hw  es una gran elección  para estar a si desea ejecutar Microsoft Azure IoT Edge pues necesita suficiente potencia para ejecutar lenguajes de alto nivel como Java o C#, pero no necesita ejecutar Crysis 3 con todos los ajustes en lo alto.

Requisitos previos

  • Raspberry Pi 3,
  • BME280
  • Monitor de PC con entrada HDMI
  • Cable de HDMI
  • Tarjeta micro SD (con cualquier adaptador necesita conectarlo al ordenador)
  • Fuente de alimentación USB (5 voltios, por lo menos 2,5 amperios) con cable USB a micro-USB
  • Teclado y ratón USB

Configuración de la Raspberry Pi 3

Después de haber  conectado todos los periféricos de la RPi y tiene una pequeña computadora con un nido de  cables para el ratón, teclado y monitor, usted podría preguntarse cómo vamos a poner Windows en él.

Bueno, no es necesario pues  pondremos  Raspbian en él, un sabor de Linux. ¡Ataque! Si pensabas que estaban a salvo de las artes oscuras de Linux, con este post es sobre un producto de Microsoft, usted sería confundir urgentemente.

Raspbian es una versión ligera de Linux creado específicamente para el Raspberry Pi. Tiene un proceso de instalación simple y un lindo GUI, incluyendo juegos de escritorio y algunos programas preinstalados  No, es probablemente la solución ideal que se desea utilizar para correr una gateway IoT muy crítica, pero proporciona una buena introducción a la instalación de Microsoft Azure IoT Edge en un dispositivo de Linux.

Si tapan sus oídos y cierra los ojos cuando escuche «Linux», no se preocupe, si se siente más cómodo manejando dispositivos de Windows, tenga en cuenta que Edge del IoT también funciona en entornos Windows. Sin embargo, incluso  Microsoft  parece favorecer Linux para poner Edge de IoT en  producción.

Incluso para Linux noobs, Raspbian es fácil de instalar. De hecho, puede utilizar un gestor de arranque llamado «NOOBS» para facilitar un poco el proceso. El proceso es muy sencillo:  sólo necesita descargar los archivos Raspbian NOOBS, formatear la  tarjeta micro SD, poner esos archivos en ella y luego conectar esa tarjeta SD en el Pi y el siguiente es la  pantalla de  instrucciones.

Una vez que haya descargado e instalado Raspbian, es el momento de instalar Edge del IoT de Azure. El proceso como vamos a ver es similar a como es con la demo simulada de windows  pero  en Linux: se  bajan  los últimos archivos desde el repositorio git de Edge IoT y se genera la aplicación. Recuerde, Edge  IoT git repo no incluye el código compilado para que tenga que hacer esa parte. !No se preocupe, es incluso más sencillo en Linux lo que es en Windows!.

Una vez que haya instalado Edge del IoT, se puede  modificar el archivo JSON con el nombre de eje de IoT y sufijo, ID de dispositivo y las teclas de los dispositivos simulados, y el comando para iniciar y ejecutar la aplicación …

Veamos el proceso en detalle:

Paso 1: Configuración de Raspberry Pi

Instalar el sistema operativo Raspbian para Pi

Lo hemos visto en numerosas ocasiones en este blog ,pero esta ocasión lo haremos de una manera mucho mas sencilla usando Edger  .Simplemente son unos pasos:

  1. Descargue  Raspbian Jessie con el escritorio (el archivo .zip).
  2. Extraiga la imagen de Raspbian en una carpeta del equipo.
  3. Descargue e instale la utilidad de grabadora de tarjetas SD Etcher.
  4. Ejecute Etcher y seleccione la imagen de Raspbian
  5. Seleccione la unidad de la tarjeta microSD. Tenga en cuenta que es posible que Etcher ya haya seleccionado la unidad correcta.
  6. Haga clic en Flash para instalar Raspbian en la tarjeta microSD.
  7. Quite la tarjeta microSD del equipo cuando se complete la instalación. Es seguro quitar la tarjeta microSD directamente porque Etcher expulsa o desmonta la tarjeta microSD automáticamente al acabar.
  8. Inserte la tarjeta microSD en la Pi.

Habilitar SSH e I2C

  1. Conecte Pi al monitor, el teclado y el mouse, inicie Pi y luego inicie sesión en Raspbian con pi como nombre de usuario y raspberrycomo contraseña.
  2. Haga clic en el icono de Raspberry > Preferencias > Configuración de Raspberry Pi.                                                      Menú Preferencias de Raspbian
  3. En la pestaña Interfaces, establezca I2C y SSH en Habilitar y luego haga clic en Aceptar. Si no tiene sensores físicos y desea usar datos de detección simulados, este paso es opcional                  .Habilitar I2C y SSH en Raspberry Pi

 Conexión de Pi a la red

Encienda la Pi mediante un cable microUSB y la fuente de alimentación. Use el cable Ethernet para conectar Pi a la red cableada o siga las instrucciones de Raspberry Pi Foundation para conectar Pi a la red inalámbrica:

  1. Las conexiones LAN inalámbricas se pueden hacer mediante el icono de red en el extremo derecho de la barra de menús. Si usas un Raspberry Pi 3, o un modelo anterior con un dongle WiFi conectado, este icono con el botón izquierdo se abrirá una lista de redes WiFi disponibles.
  2. Si no se encuentran redes, aparecerá el mensaje: esperen unos segundos sin cerrar el menú, y debe encontrar en la red."No APs found - scanning..."
  3. Los iconos a la derecha muestran si una red está asegurada o no y su intensidad de la señal. Haga clic en la red que desea conectarse. Si está asegurado, aparecerá un cuadro de diálogo solicitándole que ingrese la clave de red.
  4. Introduzca la clave y presione OK, luego esperar un par de segundos. El icono de red parpadea brevemente para mostrar que se está realizando una conexión. Una vez listo, el icono deja de parpadear y muestra la intensidad de la señal.

Después de que Pi se ha conectado correctamente a la red, debe anotar la dirección IP de su Pi abriendp una ventana LXTerminal y escriba el siguiente comando: sudo ifconfig

Junto a la entrada de wlan0 vera inet addr: 192.168.1.10 que es la dirección IP de la Raspberry Pi 3 ( en su placa la IP puede ser otra  distinta del tipo 192.168.1.xxx).

Asegúrese de que la Pi se conecta a la misma red que el equipo. Por ejemplo, si el equipo está conectado a una red inalámbrica mientras Pi está conectada a una red cableada, es posible que no vea la dirección IP en la salida de devdisco.

Conectar el sensor a Pi

El BME280 es una placa de gran precisión con un sensor de temperatura, humedad y presión   basado  en  el famoso sensor  Bosch sensortec ME280 que va integrado en la propia placa .
La placa tiene un exclusivo puente de dirección l2C (enlace soldado GS2), resistencia de polarización I2C, 7 conectores Berg de 2,54 mm, y dos agujeros de montaje de 3,5 mm.

Tiene las mismas especificaciones, pero se puede usar  bien via  I2C o bien por SPI , aunque para un cableado más simple, elija el I2C. Sin embargo si  quiere conectar un montón de sensores sin preocuparse por la colisión de direcciones en I2C, elija el SPI

En este ejemplo al necesitar solo un sensor usaremos I2C.

Este sensor de precisión de Bosch es la mejor solución para la medición de la presión barométrica  y temperatura. Debido a que los cambios de presión con altitud y las mediciones de presión son tan buenas, también puede usarlo como altímetro con precisión por metro .

Asimismo los sensores de humedad y de presión puede ser activados/desactivados de forma independiente.

La tensión de alimentación VDD principal atencion esta entre 1,71 V a 3,6 V  de modo que no debemos superar los 3.6V

El conexionando  del sensor  a la Raspberry Pi 3 , puede usar el siguiente cableado:

BME280 Raspbery Pi 3 Color de cable
VCC Potencia 3,3 V (patilla 1) Cable blanco
GND GND (patilla 6) Cable marrón
SDA I2C1 SDA (patilla 3) Cable rojo
SCL I2C1 SCL (patilla 5) Cable naranja

El led lo  colocaremos  directamente entre el pin GPIO 24 (pin18)  de la Raspberry Pi 3  y la masa ( por ejemplo pin 20 de la Raspberry Pi 3)

Conexión de Raspberry Pi y el sensor

Cuando ejecutemos al aplicación en python de demostración  y hayamos concluido los pasos siguientes  ,el sensor BME280 recopilará datos sobre la temperatura y la humedad, y el LED parpadeara si se produce comunicación entre el dispositivo y la nube.

Paso 2 :Crear un centro de IoT

  1. Inicie sesión en Azure Portal.
  2. Seleccione Crear un recurso > Internet de las cosas > IoT Hub.iothub.PNG
    • Nombre: cree un nombre para su centro de IoT. Si el nombre que escribe es válido, aparece una marca de verificación verde.En el panel Centro de IoT, escriba la información necesaria para su centro de IoT: IoT Hub puede detectarse públicamente como un punto de conexión DNS, por tanto, procure evitar cualquier información confidencial al darle el nombre.
    • Nivel de precios y de escala: en este tutorial, seleccione el nivel F1 – Gratis.
    • Grupo de recursos: cree un grupo de recursos para hospedar el centro de IoT o use uno existente.
    • Ubicación: seleccione la ubicación más cercana a usted.
    • Anclar al panel: active esta opción para facilitar el acceso al IoT Hub desde el panel                                                                     .centro de iot.PNG
  3. Haga clic en Crear  . El centro de IoT puede tardar varios minutos en crearse. Puede ver el progreso en el panel Notificaciones.

Ahora que ha creado un centro de IoT, busque la información importante que usa para conectar a él dispositivos y aplicaciones.

  1. Después de crear el centro de IoT, haga clic en él en el panel. Anote el Nombre de host y haga clic en Directivas de acceso compartido.hi.png
  2. En el panel Directivas de acceso compartido, haga clic en la directiva iothubowner y, luego, copie y anote la cadena de conexión de su centro de IoT.En algunos  ejemplos , quizás no necesite esta cadena de conexión iothubowner. Sin embargo, puede necesitarla  en diferentes escenarios de IoT después de realizar esta configuración. Tome nota pues del valor Cadena de conexión (clave principal)

directivas.png

Paso  3 :Registro de su dispositivo en IoT Hub

  1. En Azure Portal, abra su centro de IoT.
  2. Haga clic en EXPLORERS ->Explorador de dispositivos.
  3. En el panel Explorador del dispositivo, haga clic en Agregar para agregar un dispositivo a su centro de IoT. A continuación, haga lo siguiente:Id. de dispositivo: escriba el identificador del nuevo dispositivo. Los identificadores de dispositivos distinguen mayúsculas de minúsculas.explores.PNGTipo de autenticación: seleccione Clave simétrica.Generar claves automáticamente: active esta casilla de verificación.Connect device to IoT Hub (Conectar dispositivos a IoT Hub): haga clic en Habilitar.

    El identificador del dispositivo puede estar visible en los registros recopilados para soporte técnico y solución de problemas del cliente, por tanto asegúrese de evitar cualquier información confidencial al darle el nombre.

  4. Haga clic en Guardar.
  5. Después de crear el dispositivo, ábralo en el panel Explorador de dispositivos.
  6. Anote la clave principal de la cadena de la cadena de conexión pues es la que qeu permitirá conectarse a un dispositivo conectarse con el Centro de IoT.

Paso 4: Ejecutar una aplicación en la Raspberry Pi

Instalar los paquetes de requisitos previos

Use uno de los siguientes clientes SSH del equipo host para conectar con Raspberry Pi.

  1. Si  no lo tiene ,descargue e instale PuTTY para Windows.
  2. Copie la dirección IP de Pi en la sección de nombre de host (o dirección IP) y seleccione SSH como el tipo de conexión.
  3. Si no lo ha cambido ,el nombre de usuario predeterminado es pi y la contraseña es raspberry.

Configurar la aplicación de ejemplo

  • Clone la aplicación de ejemplo mediante el comando siguiente:
cd ~
git clone https://github.com/Azure-Samples/iot-hub-python-raspberrypi-client-app.git

Obtendrá una respuesta similar a la siguiente:

cd ~

git clone https://github.com/Azure-Samples/iot-hub-python-raspberrypi-client-app.git
Cloning into ‘iot-hub-python-raspberrypi-client-app’…
remote: Counting objects: 114, done.
remote: Total 114 (delta 0), reused 0 (delta 0), pack-reused 114
Receiving objects: 100% (114/114), 98.63 KiB | 0 bytes/s, done.
Resolving deltas: 100% (56/56), done.

  • Abra el archivo config mediante la ejecución de los comandos siguientes:
cd  iot-hub-python-raspberrypi-client-app
nano config.py

Hay cinco macros en este archivo que se pueden configurar. La primera es MESSAGE_TIMESPAN, que define el intervalo de tiempo (en milisegundos) entre dos mensajes que se envían a la nube configtrado por defecto a 2000. La segunda es SIMULATED_DATA, un valor booleano que indica si se usan los datos de sensor simulados o no.Si no tiene el sensor, establezca el valor en True para que la aplicación de ejemplo cree y use datos de sensor simulados.  I2C_ADDRESS es la dirección de I2C a la que está conectado el sensor BME280 (por defecto al pvalor 0x77)  . GPIO_PIN_ADDRESS es la dirección GPIO del LED (por defecto a 24) . La última de ellas es BLINK_TIMESPAN, que define el intervalo de tiempo cuando se activa el LED en milisegundos(por defecto al valor 1000).python app.pi

  • Guarde y salga al presionar Control-O > Entrar > Control-X.

config

Compilar y ejecutar la aplicación de ejemplo

  1. Compile la aplicación de ejemplo con el comando siguiente: Dado que los SDK de Azure IoT para Python son contenedores que funcionan sobre el SDK de C de dispositivos de Azure IoT, debe compilar las bibliotecas de C si desea o necesita generar las bibliotecas de Python a partir del código fuente.
    sudo chmod u+x setup.sh
    sudo ./setup.sh
    

    La ejecución de este comando  se llevara su tiempo ( aproximadamente una hora o mas )  dependiendo  ademas de que  la conexión de red  sea ethernet  o por wifi .  NO tiene demasiado sentido repetir el log completo de ejecución  ,pero lo importante es que debería terminar  de un modo similar a  este……

    Installed /usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-1.0.3-py2.7.egg
    Processing dependencies for Adafruit-GPIO==1.0.3
    Searching for adafruit-pureio
    Reading https://pypi.python.org/simple/adafruit-pureio/
    Downloading https://pypi.python.org/packages/55/fa/99b1006fb4bb356762357b297d8db6ec9ffa13af480692ab72aa4a0dd0c4/Adafruit_PureIO-0.2.1.tar.gz#md5=5b3276059eb55d6c37429a8413a92029
    Best match: Adafruit-PureIO 0.2.1
    Processing Adafruit_PureIO-0.2.1.tar.gz
    Writing /tmp/easy_install-fN1TPJ/Adafruit_PureIO-0.2.1/setup.cfg
    Running Adafruit_PureIO-0.2.1/setup.py -q bdist_egg –dist-dir /tmp/easy_install-fN1TPJ/Adafruit_PureIO-0.2.1/egg-dist-tmp-f0Y_C9
    zip_safe flag not set; analyzing archive contents…
    Moving Adafruit_PureIO-0.2.1-py2.7.egg to /usr/local/lib/python2.7/dist-packages
    Adding Adafruit-PureIO 0.2.1 to easy-install.pth file

    Installed /usr/local/lib/python2.7/dist-packages/Adafruit_PureIO-0.2.1-py2.7.egg
    Searching for spidev==3.3
    Best match: spidev 3.3
    Adding spidev 3.3 to easy-install.pth file

    Using /usr/lib/python2.7/dist-packages
    Finished processing dependencies for Adafruit-GPIO==1.0.3

  2.  En caso de error » :No module named ‘iothub_client‘  se deba probablemente porque no  se ha  terminado de  construir  la aplicación  correctamente   bien por falta de memoria de swapping  o porque ya existe alguna otra aplicación  instalada  de Iot  que hace un uso también de librerías comunes ( por ejemplo las librerías de Cayenne).

    El motivo pues se debe que al compilar la biblioteca cliente de Python (iothub_client.so) en dispositivos Linux que tienen menos de 1GB de RAM, puede ver que la construcción se atasca al 98% al construir iothub_client_python.cpp como se muestra a continuación [98%] Construyendo el objeto CXX python / src / CMakeFiles /iothub_client_python.dir/iothub_client_python.cpp.o. Si se encuentra con este problema, verifique el consumo de memoria del dispositivo mediante el comando free -m en otra ventana de terminal durante ese tiempo. Si se está quedando sin memoria mientras compila el archivo iothub_client_python.cpp, es posible que tenga que aumentar temporalmente el espacio de intercambio para obtener más memoria disponible para compilar correctamente la biblioteca del SDK del dispositivo del lado del cliente de Python.    La solución mas sencilla  si no quiere probar otras , es  repetir la instalacion de la SD.

  3. Ahora ya puede ejecutar la aplicación de ejemplo mediante el comando siguiente:
    python app.py 'cadena de conexion clave primeria'
    

    Asegúrese de que copia y pega la cadena de conexión del dispositivo entre las comillas simples. Y si usa la versión 3 de Python, puede utilizar el comando python3 app.py ''.

Debería ver un  resultado similar al siguiente, que muestra los datos del sensor y los mensajes que se envían a IoT Hub.

salida.PNG

 

 

Ya hemos ejecutado una aplicación de ejemplo basada  en Python  que es capaz de recopilar datos de un  sensor  conectado a la Raspberrry Pi  via I2C   y enviarlos a IoT Hub de Azure  asi  que ya tenemos las bases para seguir creando sistemas de Iot  basados en Raspberry Pi  y la nube de Azure  usando la novedosa tecnologia de Azure Iot Edge .

Fuente  https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-raspberry-pi-kit-python-get-started

 

Monte su detector de humo en 2 minutos


Un detector de humo es una alarma que detecta la presencia de humo en el aire y emite una señal acústica  de gran intensidad avisando del posible  peligro de incendio lo cual en ocasiones ,por ejemplo por la noche,  pueden salvarnos literalmente la vida, pues en estados de sueño profundo,   tardamos mucho en reaccionar ante señales evidentes  de posibles incendios. Personalmente creo que es una «inversión» (sobre  15€)   que merece la pena realizar , pues como vamos a ver,  no es para nada complicado su instalación.

 

 

Hay muchos tipos de detectores  diferenciándose sobre todos según al método de detección   implementado en la electronica  que contienen: los iónicos  y los ópticos .

Los menos usados , son los ser  iónicos  , mayormente usados para la detección de gases en ambientes industriales ,los cuales  no son visibles a simple vista .

Estos sensores constan de una cámara formada por dos placas y un material radiactivo (Americio 241), que ioniza el aire que pasa entre las placas,  generando  una pequeña corriente eléctrica permanente, que es medida por un circuito electrónico conectado a las placas, siendo esta  la condición «normal» del detector

 

iones.PNG

Este tipo de composición, los hace  especialmente sensibles a los humos que contienen pequeñas partículas presentes en  de fuego de crecimiento rápido y humo no visible, tal como el que se genera en fuegos de combustión rápida provocados por: gasolina, alcohol, aceites, plásticos, líquidos químicos, etc.  normalmente presentes en laboratorios, talleres, tiendas de pintura,etc.

 

Los  detectores ópticos  son en general  mayormente usados en la actualidad por  su gran fiabilidad   y  bajo precio  detectando humos visibles mediante la absorción o difusión de la luz , pudiendo ser   según la electronica :

  • De infrarrojos directos:   el humo obstaculiza  la luz producida por un led  infrarojo enfrentado a  un LDR generando una alarma
  • De láser : funcionan de un modo parecido al anterior  detectando  un oscurecimiento de una cámara de aglutinación con tecnología láser
  • De tipo puntual : es la tecnologia mas extendida por su gran fiabilidad,   estando  los detectores  puntuales  tanto el emisor y receptor alojados en la misma cámara ( es decir  no se ven al formar sus ejes un ángulo mayor de 90º)  y ademas  separados por una pantalla, de manera que el rayo emitido no alcanza el receptor. Cuando entra humo en la cámara, el haz de luz emitido se refracta en las partículas de humo y puede alcanzar al receptor, activándose la alarma.

sesnor.png

 

Normativa

NF EN 14604  es una normativa  de Noviembre de 2005 DI 89/106 / CE 21/12/1988 que indica la directiva sobre la aproximación de las disposiciones legales, reglamentarias y administrativas de los Estados miembros sobre los productos de construcción.

Esta norma europea especifica los requisitos, métodos de prueba, criterios de rendimiento e instrucciones del fabricante para dispositivos de alarma de humo que utilizan el principio de dispersión o transmisión de la luz, o ionización, para aplicaciones domésticas o similares.

La norma incluye requisitos adicionales para dispositivos de alarma de humo que también son adecuados para su uso en autocaravanas. Para probar otros tipos de dispositivos de alarma de humo o dispositivos de alarma de humo que operan bajo diferentes principios, esta norma debe usarse solo como guía. Las características especiales para alarmas de humo, como un enlace de radio, o características especiales diseñadas para riesgos específicos, no están cubiertas por este estándar. Este estándar permite, cuando sea apropiado, incluir en los dispositivos de interconexión de dispositivos de alarma de humo otros dispositivos de alarma de humo similares y / o incidentales, y desactivar la alarma. Cuando se incluyen dispositivos de esta naturaleza, esta norma especifica los requisitos aplicables. Esta norma no cubre dispositivos destinados a ser incorporados en sistemas que utilizan equipos de control e indicación separados.

 

Electrónica de un detector de humo

 

En la siguiente imagen podemos ver el interior de detector de humo fotoeléctrico de tipo  puntal .

 

 

detector fotoelectrico.jpg

Como podemos ver el circuito es muy sencillo   limitándose a  una  bateria de 9v  conectada  a  una pequeña placa donde van integrados el sensor fotoeléctrico ( suelen ir compactos en una carcasa opaca) , el buzzer piezoelectrico , el led de estado , el pulsador del test, el ajuste de sensibilidad (el trimmer amarillo)  y por supuesto la electronica de control (suele ser un único  chip especializado)

 

 

 

 

 

 

Instalación de un detector de incendios

Resumiendo ,los detectores de humo fotoeléctricos  en general son los utilizados para detectar incendios de pequeña  velocidad de propagación, y  que generan humo visible , como los que se generan en incendio donde tenemos combustibles como: maderas, cuero, lana, y la mayoría de los polímeros, es decir  todo aquellos materiales que tenemos  en  un ambiente domestico ( viviendas  y oficinas), Además estos detectores son menos propensos a falsas alarmas en ambientes controlados.

Ademas  no debemos olvidar  que los detectores iónicos utilizan un isotopo radioactivo de modo que existe el riesgo de un accidente y que este se mezcle con el medio ambiente, generando un problema de contaminación.Además  por su gran sensibilidad son mas propensos a falsas alarmas provocadas por acumulación de polvo y corrientes de aire  no olvidando ademas de que también tienen un coste mucho mayor.

 

Vemos   ahora paso a paso como  instalar  uno de los  detectores  mas sencillos de configurar : el detector de humo tipo GS506

 


Este detector de humo se utiliza para la detección temprana de humo peligroso de modo que tan pronto como el humo entre en el interior del dispositivo, sonará una alarma bastante potente  de 85 dB basados en un piezolectrico

Este  detector detecta el humo y no las llamas, pero es obvio que en casi todas las combustiones   hay presencia de humo  sobre todo si hablamos de ambientes domésticos

Cada 30-40 segundos, el detector de humo realiza un auto-test ,lo cual  puede ser notado por un breve destello del LED. En caso de fallo del sensor o de falta de batería lo indicaría mediante una señal audible

Este modelo para facilitar la instalación  contempla dos mejoras respecto a otros modelos convencionales :

  • Soporte magnético  : para no tener que taladrar nada y hacer mas sencilla su instalación  este detector incluye un  kit de fijación magnética de modo que se puede montar rápida y fácilmente sin el empleo de herramientas, tornillos o tacos.
  • Batería de Litio para 10 años: esto  puede parecer  excesivo , pero en realidad es una excelente decisión del fabricante pues  lo hace inmune a los mantenimientos periódicos producido por el agotamiento de la batería y por tanto mucho mas seguro

 

Estas  son la descripcion de producto:

  • Modelo: GS506 (detector de la alarma del humo)
  • Dimensiones: Ø 100x37mm
  • Rango de temperatura: 0°C a + 45°C
  • Volumen de alarma:  85 dB (A) dentro de los 3 metros
  • Certificaciones: EN 14604, NF
  • Fuente de alimentación: Batería de DC 9V (batería de litio: CR9V)
  • Autonómica : 10 años de batería a largo plazo
  • Advertencia de batería baja

 

 

Montaje del detector

Una vez desempaquetemos  este modelo ,en   primer colocaremos la batería de 9V de Litio,para lo cual eliminaremos precintos  de esta y la fijaremos al porta-pilas del detector.

Destacar que este tipo de baterías, vienen cargadas  obviamente  pero  son algo mas gruesas que la pilas convencionales ,pero aun así caben con un poco de  habilidad dentro del compartimiento de una pila convencional

 

IMG_20180317_132024_HDR[1].jpg

Normalmente ahora fijaríamos la base de sujeción  a la pared mediante dos tornillos para luego simplemente mediante un sistema de bayoneta fijaríamos a esta  el detector ,pero en este producto simplemente colocaremos  ahora la cubierta  quedando como enla siguiente imagen todo el conjunto:

IMG_20180317_132120_HDR[1]

Con este detector se adjunta un de kit de fijación magnética  de modo que se pueden montar rápida y fácilmente sin el empleo de herramientas, tornillos o tacos.
Las siguientes superficies no son adecuadas para la fijación:

  • Empapelado de vinilo
  • Poliestireno,
  • Superficies con revestimiento antiadherente,
  • Superficies siliconadas o recubiertas de teflón
  • Superficies que contienen partículas sueltas
  • Superficies que han sido pintadas varias veces

 

Ahora desprincintado el kit observe que hay dos juegos de chapas;

Tomaremos aquella que tiene los dos  imanes distinguibles por dos pequeños círculos:

IMG_20180317_132338_HDR[1]

Eliminaremos el plástico protector del adhesivo  y lo fijaremos   a la base del detector y  la otra pieza  a la pared o alguna superficie plástica  ( por ejemplo los cajetines de conexiones de la instalación eléctrica )

 

 

Pulse el botón de test   que tiene en el centro del detector para probar su funcionamiento normal . Si oye un fuerte pitido que cesa , !enhorabuena ya ha instalado el detector!

 

Realmente gracias  a los colores neutros, este tipo de sensores  quedan bastante disimulados  si se sitúan en las tapas de los registros o en cualquier parte que incluya algo de plástico ( incluso hay personas  que quitan la carcasa exterior  que suele ir a presión  y la pintan de otros colores).

IMG_20180318_175046[1]

Mantenimiento:

El detector fotoeléctrico está diseñado para detectar el humo dentro de una cámara con uno o dos leds ópticos y  uno o varios sensores  que informan cuando hay humo si detectan luz infaroja por la refracción del humo en su interior. El problema con este tipo de detector es que el polvo o suciedad lo puede llegar a leerse como humo creado falsas alarmas, por lo que si es posible  deberíamos  hacer un plan de mantenimiento para limpiar las cámaras de los detectores fotoeléctricos para mantenerlas limpias y evitar falsas alarmas en el sistema .

 

 

Edge computing con Azure IoT Edge


La computación en nube (o Cloud Computing) ha dominado las discusiones de TI durante las últimas dos décadas, particularmente desde que Amazon popularizó el término en 2006 con el lanzamiento de Elastic Compute Cloud (ECC) . En su forma más simple, la computación en la nube es la centralización de los servicios informáticos para aprovechar una infraestructura de centro de datos compartida y gracias a la economía de escala para reducir los costos.

Sin embargo, la latencia, influenciada por el número de saltos de enrutadores,los  retrasos en los paquetes introducidos por la virtualización o la ubicación del servidor dentro de un centro de datos, siempre ha sido una cuestión clave de la migración en la nube y es aquí es donde entra en juego el Edge Computing (computación al borde) donde esencialmente se descentralizan los servicios de TI y acercándolos a la fuente de datos, lo cual puede tener un impacto significativo en la latencia, ya que puede reducir drásticamente el volumen de datos movidos y la distancia que recorre.

La naturaleza distribuida de la informática de borde significa que, junto con la reducción de la latencia  también mejora la resiliencia, reduce la carga de la red y es más fácil de escalar .

El procesamiento de los datos comienza en su origen  y una vez que se completa el procesamiento inicial, solo se deben enviar los datos que necesitan un análisis posterior o que requieren otros servicios lo cual  reduce los requisitos de red y la posibilidad de cuellos de botella en cualquier servicio centralizado.

Además, con otras ubicaciones de borde cercanas,  la posibilidad de almacenar datos en caché en el dispositivo, puede enmascarar interrupciones y mejorar la resistencia de su sistema lo cual  reduce la necesidad de escalar sus servicios centralizados ya que manejan menos tráfico. Ademas de la reducción del trafico  con el consiguiente mejora   también pueden reducir los costos, la complejidad de la arquitectura y la administración.

 

Azure IoT Edge

Las soluciones de nube híbrida e Internet de las cosas (IoT) son una realidad con Azure IoT Edge  un servicio completamente administrado que entrega inteligencia en la nube localmente implementando y ejecutando sin problemas inteligencia artificial, servicios Azure y lógica personalizada directamente en dispositivos IoT multiplataforma, desde una pequeña Raspberry Pi hasta grandes máquinas industriales administrando todo de manera centralizada en la nube  de Microsoft.

Algunas de las facilidades  que puede proporcionar esta   plataforma:

  • Habilitar inteligencia artificial y análisis avanzados en el borde:permite crear análisis avanzados, usar aprendizaje automático e inteligencia artificial en la nube y desplegarlo en dispositivos físicos utilizando IoT Edge. Un ecosistema de servicios de Azure y de terceros  ayudará a habilitar nuevas aplicaciones de IoT en sus dispositivos de borde. Se puede usar  Azure Machine Learning, Azure Stream Analytics, Azure Functions para crear soluciones de IoT más avanzadas con menos tiempo y esfuerzo.Cree fácilmente AI en el borde con AI Toolkit for Azure IoT Edge.
  • Reducir los costos de la solución IoT:Decida qué datos de IoT debe capturar y enviar a la nube programando su dispositivo de borde para procesar los datos localmente. Luego, envíe solo los datos que necesita almacenar y analizar en la nube. Al reducir la cantidad de datos que transmite de un dispositivo a la nube, reducirá los costos de ancho de banda y los costos asociados con el almacenamiento y análisis de datos en otras aplicaciones de negocios, pero aún así se beneficiará de las perspectivas mejoradas.
  • Simplificar el desarrollo:Facilite los esfuerzos de desarrollo para soluciones avanzadas de IoT aprovechando las habilidades y los recursos que ya tiene. Utilice herramientas de programación conocidas como Visual Studio y múltiples lenguajes de programación, incluidos C, Node.js, Java, Microsoft .NET y Python para optimizar y monitorear su solución de IoT, y aplique correcciones cuando sea necesario. Utilice los mismos modelos de programación que usa en la nube para crear y probar sus aplicaciones de IoT y luego empújelas a sus dispositivos de borde.
  • Operar fuera de línea o con conectividad intermitente:Con IoT Edge, sus dispositivos periféricos pueden operar de manera confiable y segura incluso cuando están desconectados o solo tienen conectividad intermitente a la nube. Una vez reconectados, los dispositivos periféricos sincronizan automáticamente su estado más reciente y continúan funcionando sin problemas, independientemente de la conectividad en curso.

 

Ejemplo de Azure IoT Edge

Podemos  probar gratuitamente  la interfaz en la nube Azure IoT Edge para implementar el código preconstruido de forma remota en un dispositivo IoT Edge.  Para realizar esta tarea, primero se necesita usar un dispositivo Windows para simular un dispositivo IoT Edge y  luego puede implementar un módulo en él.

Vamos a describir los pasos  a seguir pero antes si no tiene una cuenta activa a Azure, cree una cuenta gratuita antes de comenzar.

Requisitos previos

Asumims que está usando un ordenador  o máquina virtual que ejecuta Windows para simular un dispositivo de Internet de las cosas.  Si está ejecutando Windows en una máquina virtual, habilite la virtualización anidada y asigne al menos 2GB de memoria.

  1. Asegúres de estar usando una versión compatible con Windows:
    • Windows 10 Windows 10
    • Windows Server Servidor de windows
  2. Instale Docker para Windows y asegúrate de que esté ejecutándose.
  3. Instale Python 2.7 en Windows y asegúrese de que puede usar el comando pip.
  4. Ejecute el siguiente comando para descargar el script de control IoT Edge.
    cmdCopy
    pip install -U azure-iot-edge-runtime-ctl

Nota: Azure IoT Edge puede ejecutar contenedores de Windows o Linux.  Para usar contenedores de Windows, debe ejecutar:

  • Windows 10 Fall Creators Update, , o
  • Windows Server 1709 (Build 16299) o
  • Windows IoT Core (Build 16299) on a x64-based device Windows IoT Core (compilación 16299) en un dispositivo basado en x64

 Para Windows IoT Core, siga las instrucciones en Instalar el tiempo de ejecución de IoT Edge en Windows IoT Core . De lo contrario, simplemente configure Docker para usar contenedores de Windows y, opcionalmente, valide sus requisitos previos con el siguiente comando de PowerShell:

PowerShellCopy
Invoke-Expression (Invoke-WebRequest -useb https://aka.ms/iotedgewin)

Crear un concentrador de IoT con Azure CLI

Cree un concentrador de IoT en su suscripción de Azure.  El nivel gratuito de IoT Hub funciona para este inicio rápido. . Si ya usó IoT Hub y ya tiene un hub gratuito creado, puede omitir esta sección y pasar a Registrar un dispositivo IoT Edge  (en cada suscripción solo puede tener un centro IoT gratuito).

  1.  Inicie sesión en el portal de Azure .
  2.  Seleccione el botón Cloud Shell .Botón Cloud Shell
  3.  Cree un grupo de recursos. : El siguiente código crea un grupo de recursos llamado IoTEdge en la región oeste de EE. UU . :
    Azure CLICopy
    az group create --name IoTEdge --location westus
  4. . Cree un concentrador de IoT en su nuevo grupo de recursos. : El siguiente código crea un concentrador F1 gratuito llamado MyIotHub en el grupo de recursos IoTEdge :
    Azure CLICopy
    az iot hub create --resource-group IoTEdge --name MyIotHub --sku F1

 Registrar un dispositivo IoT Edge

Cree una identidad de dispositivo para su dispositivo simulado para que pueda comunicarse con su centro de IoT. Dado que los dispositivos IoT Edge se comportan y pueden administrarse de forma diferente a los dispositivos IoT típicos, usted declara que se trata de un dispositivo IoT Edge desde el principio.

  1. . En el portal de Azure, vaya a su centro de IdC.
  2.  Seleccione IoT Edge (vista previa) luego seleccione Agregar IoT Edge Device .Agregar dispositivo Edge IoT
  3. . Dele a su dispositivo simulado una ID de dispositivo única.
  4.  Seleccione Guardar para agregar su dispositivo.
  5. Seleccione su nuevo dispositivo de la lista de dispositivos.
  6. Copie el valor de la cadena de conexión-clave principal y guárdelo.  Utilizará este valor para configurar el tiempo de ejecución IoT Edge en la siguiente sección.

Configurar  IoT Edge runtime 

En tiempo de ejecución de IoT Edge se implementa en todos los dispositivos IoT Edge, el cual  comprende dos módulos:

  •   El agente IoT Edge que facilita la implementación y la supervisión de módulos en el dispositivo IoT Edge.  
  • El concentrador IoT Edge que gestiona las comunicaciones entre los módulos en el dispositivo IoT Edge y entre el dispositivo y el IoT Hub.

Configure el tiempo de ejecución con su cadena de conexión del dispositivo IoT Edge de la sección anterior.

cmdCopy
iotedgectl setup --connection-string "{device connection string}" --auto-cert-gen-force-no-passwords

Comience el tiempo de ejecución.

cmdCopy
iotedgectl start

 Compruebe Docker para ver que el agente IoT Edge se está ejecutando como un módulo.

cmdCopy
docker ps

Ver edgeAgent en Docker

 Implementar un módulo

 Una de las capacidades clave de Azure IoT Edge es la posibilidad de implementar módulos en sus dispositivos IoT Edge desde la nube.  Un módulo IoT Edge es un paquete ejecutable implementado como un contenedor.

En este ejemplo desplegaremos un módulo que genera telemetría para su dispositivo simulado.

  1. En el portal de Azure, vaya a su centro de IdC.
  2. Vaya a IoT Edge (vista previa) y seleccione su dispositivo IoT Edge.
  3. Seleccione Establecer módulos .
  4. . Seleccione Agregar IoT Edge Module .
  5. . En el campo Nombre , ingrese tempSensor .
  6. . En el campo URI de la imagen , ingrese microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview .
  7. Deje las otras configuraciones sin cambios, y seleccione Guardar .Guarde el módulo IoT Edge después de ingresar el URI de nombre e imagen
  8. . De vuelta en el paso Agregar módulos , seleccione Siguiente .
  9.  En el paso Especificar rutas , seleccione Siguiente .
  10. . En el paso de la plantilla Revisar , seleccione Enviar .
  11.  Regrese a la página de detalles del dispositivo y seleccione Actualizar . Debería ver el nuevo módulo tempSensor ejecutándose a lo largo del tiempo de ejecución de IoT Edge.Ver tempSensor en la lista de módulos implementados

 Ver datos generados

 En este ejemplo rápido, creó un nuevo dispositivo IoT Edge e instaló en tiempo de ejecución IoT Edge en él.  Luego, utilizó el portal de Azure para impulsar un módulo IoT Edge para que se ejecute en el dispositivo sin tener que realizar cambios en el dispositivo.

En este ejemplo el módulo que creo  transmite  datos ambientales que puede usar para los tutoriales,pero en una instalacion habitual manejaria muchos mas datos de telemetria,sensores, etc.

Para  ver si todo esta funcionando ,abra el símbolo del sistema en su ordenador  que ejecuta su dispositivo simulado de nuevo.  Confirme que el módulo implementado desde la nube se está ejecutando en su dispositivo IoT Edge.

cmdCopy
docker ps

Ver tres módulos en su dispositivo

 Vea los mensajes que se envían desde el módulo tempSensor a la nube.

cmdCopy
docker logs -f tempSensor

Ver los datos de tu módulo

También puede ver la telemetría que está enviando el dispositivo utilizando la herramienta de explorador IoT Hub .

 Limpiar recursos

Si desea eliminar el dispositivo simulado que creó, junto con los contenedores Docker que se iniciaron para cada módulo, use el siguiente comando:

cmdCopy
iotedgectl uninstall

Cuando ya no necesite el IoT Hub que ha creado, puede usar el comando az iot hub delete para eliminar el recurso y los dispositivos asociados con él:

Azure CLICopy
az iot hub delete --name {your iot hub name} --resource-group {your resource group name}

Obviamente esto es solo el primer paso para comprender la potencia de esta tecnología pues el  paso obvio es usar hardware dedicado de bajo consumo como puede ser ene fecto uan Raspberry Pi   para usarlo como dispositivo Iot Edge

 

Fuente : https://docs.microsoft.com/en-us/azure/iot-edge/quickstart

Un paso más hacia la conversión de un coche convencional en coche semi autónomo


George Hotz,  es conocido por ser  el hacker   americano experto en seguridad de sistemas informáticos que cobró notoriedad por la gran precocidad que demostró con solo  17 años  crear blackra1nque, aprovechando otros desarrollos, logrando ser el primero en desbloquear el iPhone, permitiendo que el dispositivo fuese utilizado con otros operadores de telecomunicaciones, a diferencia de la intención de Apple de proveer a sus clientes el terminal sólo en  la red de AT&T , pero  quizás  muchos no sepan que tambien es uno de los primeros en   construir  un coche autónomo en su garaje convirtiendo su turismo convencional T Acura ILX en un coche semiautónomo.

Según Hotz, el desarrollo de su tecnología debería resultar en un kit de conversión capaz de transformar un coche convencional en un coche semiautónomo  pudiéndose instalar en vehículos relativamente modernos y que cumplan ciertos requisitos mínimos, como disponer de dirección asistida eléctrica y de frenado automático  .

Los modelos soportados   por este kit son los siguientes:

  • cura ILX 2016 con AcuraWatch Plus (debido al uso del control de crucero para el gas, solo se puede habilitar a más de 25 mph)
  • Honda Civic 2016-2017 con Honda Sensing.(debido a limitaciones en el firmware de la dirección, la dirección se desactiva a menos de 12 mph .El modelo hatchback no es compatible
  • Honda CR-V Touring 2015-2016 (Solo se puede habilitar a más de 25 mph)
  • Honda Odyssey 2018 con Honda Sensing (alfa!)Solo se puede habilitar a más de 25 mph
  • Acura RDX 2018 con AcuraWatch Plus (alfa!)Solo se puede habilitar a más de 25 mph
  • Honda Pilot 2017 con Honda Sensing (alfa!)Solo se puede habilitar a más de 27 mph
  • Toyota RAV-4 2016+ no híbrido con TSS-P.Por defecto usa stock Toyota ACC para control longitudinal .control longitudinal de piloto abierto disponible después de desenchufar la ECU de soporte de conducción y se puede habilitar a más de 20 mph
  • Toyota Prius 2017 (alfa!).Por defecto usa stock Toyota ACC para control longitudinal. El control longitudinal de Openpilot disponible después de desenchufar la ECU de soporte de conducción.El control lateral necesita mejoras
  • Toyota RAV-4 2017 híbrido (alfa!)Por defecto usa stock Toyota ACC para control longitudinal.El control longitudinal de Openpilot está disponible después de desenchufar la ECU de soporte de conducción y puede detenerse e irse
  • Toyota Corolla 2017 (alfa!)Por defecto usa stock Toyota ACC para control longitudinal.El control longitudinal de piloto abierto disponible después de desenchufar la ECU de soporte de conducción y se puede habilitar a más de 20 mph
  • Lexus RX 2017 hybrid (alpha!).Por defecto usa stock Lexus ACC para control longitudinal.El control longitudinal de Openpilot disponible después de desenchufar la ECU de soporte de conducción

    Proximos

  • Todos los TSS-P Toyota con asistente de dirección.Se requiere ‘control de crucero de radar dinámico de rango de velocidad máxima’ para permitir el arranque y la parada. Solo el Prius, Camry y C-HR tienen esta opción.Aunque la Tundra, Sequoia y Land Cruiser tienen TSS-P, no tienen Steering Assist y no son compatibles.
  • Todos los LSS-P Lexus con asistente de dirección o Lane Keep Assist.Se requiere ‘Control de crucero de radar dinámico de rango de todas las velocidades’ para permitir el arranque y la parada. Solo los GS, GSH, GS, F, RX, RXH, LX, NX, NXH, LC, LCH, LS, LSH tienen esta opción.Aunque el LX tiene TSS-P, no tiene Steering Assist y no es compatible.

 

Hardware necesario

En octubre pasado, Comma.ai  abandono  sus primer producto:el kit de recambio $999, que fue diseñado para dar a coches normales  habilidades semiautónomas, después de recibir una consulta de  la administración de seguridad del tráfico por la seguridad del producto. En su lugar,  publicó OpenPilot, el  código desarrollado que se presenta como una alternativa de código abierto de la  función semiautónoma del piloto automático de  Tesla . No ha perdido la esperanza  y desde su empresa alenta de  hecho  la gente a construir sus propios kits  para  auto-conducción, pero al poner su código  Comma.ai  libre  ha sido capaz de evitar esos molestos reguladores federales y, esperemos tambien que pueda mejorar el software.

De hecho todavía la version publicada tiene  sus limitaciones pues el software permite control de crucero adaptativo y mantener asistencia para los coches demostrando lo con  un Acura ILX en 2015, un Honda Civic en 2016 y este año, un Toyota Prius  que es plausible ,  pero todavía le falta mas desarrollo

A falta de qeu el kit sea completamente seguro , su empresa por el momento han comercializado las siguientes herramientas:

 

Panda OBD2 Dongle

El componente de hardware primario llamado Panda  que vende pro unos 99$  es en realidad  un dongle que se conecta al puerto OBDII  presente en todos los coches fabricados después de 1996( y del que hemos hablado en numerosa ocasiones en este blog)

Este dongle  soporta  tanto  USB como Wi-Fi  permitiendo extraer los  datos  tanto a ordenadores como a  teléfonos inteligentes.

El dongle   junto con su nuevo software «Cabana», debería ayudar a los propietarios    a ver los datos  que están recogiendo los sensores en sus coches .Ademas los datos que vierte se  pueden estudiar aparte  como podemos  ver en esta demostración

 

odb2.PNG

La compañía ha creado un repositorio DBC llamado opendbc que se integra con el software de Cabana y permite a los usuarios crear una base de datos sobre su coche y compartirla.El objetivo es construir un repositorio con un archivo DBC para cada coche  fabricado y democratizar el acceso al anillo decodificador para su automóvil,Con esta información se proporciona el primer paso para hacer un coche uno mismo-conduciendo

Según afirman sus creadores panda + cabana es como fitbit para su  coche pues rastrea  RPM, MPG, fuerza G en las curvas, duración de la batería y mucho más. Ademas se puede usar  para sincronizarlo con el video

Sus creadores  sostiene que este  dongle no es como las decenas de otros dongles desarrollado por la interminable cadena de startups de coches conectados que han surgido en los últimos años. «Lo que están haciendo esas cosas usa el API estándar para coches,»  que es la misma API que mecánicos y personas que llevan a cabo las pruebas de emisiones y por tanto muy limitada. Este dongle obtiene acceso a todo lo que el fabricante tiene acceso. Por otro lado el sw  Panda es compatible con todas las redes de comunicaciones internas  (conocidas como CAN BUS   que interconecta los componentes de un vehículo.

Giraffe

Los automóviles tienen muchos buses CAN que no están expuestos en el conector OBD-II principal. jiraffe es una placa adaptadora que cuesta unos 60$  y que  permite acceder a estos

Hay dos modelos: para Toyota  y para Honda .

En la foto vemos la diseñada para Honda Civic (no hatchback) con Honda Sensing y Acura ILX con AcuraWatch Plus. También puede funcionar en otros automóviles con el mismo conector.

La  funcionalidad de esta placa es pasar a través de las señales al sistema de asistencia al conductor existente apagando los interruptores y bloqueando las señales. Es como desconectarse, pero mejor.  Cuando se usa con un panda chffr, obtiene más señales y acceso para leer de un automóvil. También tiene un puerto de Ethernet falso compatible con NEO con acceso a CAN1, CAN2, detección iniciada, +12v y tierra.

Esta placa  pues permite a los propietarios de automóviles grabar y revisar sus unidades. Si el Panda se empareja con Chffr, los usuarios pueden registrar todos los datos del sensor de sus coches. Si el coche tiene sensores,  entonces los usuarios podrán ver todo tipo de datos  tanto  información simple como la velocidad y datos más complejos como las RPM del motor, cuánto gasolina le queda  es en el tanque, lo que está haciendo la suspensión, si los frenos antibloqueo estan actuando  o incluso si el conductor cómo duro golpeo los frenos.

 

EON Dashcam DevKit

Necesita tres cosas en su salpicadero: una dashcam, navegación y música. EON son los tres.Construido sobre una base sólida de NEOS, ejecuta chffrplus, el  galardonado software dashcam de fuente abierta. chffrplus es una dashcam basada en la nube, lo que significa que todas sus unidades no consumen el espacio en su dispositivo.

Explore sus discos desde la aplicación chffr o desde el dispositivo; EON se integra con el ecosistema de coma.

Como está basado en Android, también ejecuta Waze y Spotify. Las aplicaciones de música y navegación de más alta calidad en el mundo. No ejecuta radio slacker o mapquest.

 

 

chffr – dash cam by comma.ai

app.PNG

 

Chffr es una app par aandroid   de  dashcam que entrena automoviles  sin conductor. Conducir con chffr mejora el sistema  de comma.ai openpilot, software de auto sin conductor gratis. Usando la app se contribuya a las más de 1 millón de millas manejadas con Chffr  de modo que cada   minuto que se conduces con Chffr, gana 1 punto de coma.

Los líderes de puntos recibiran acceso temprano a la tecnología coma.ai y consiguen un lugar en la clasificación de Chffr en http://beta.comma.ai.

Esta app :

  • permite  grabar viajes y ver el velocímetro en vivo, la duración del viaje y las recompensas de punto de coma.T
  • Tambien Chffr graba en segundo plano para que pueda usar otras aplicaciones (Maps, Waze, Spotify)
  •  Revisa sus viajes con la cámara del tablero en el Driving Explorer
  •  Comparte momentos de tus viajes

 

Chffr conserva el almacenamiento y los datos al guardar los viajes de la cámara de su tablero a la nube cuando está conectado a WiFi. Recomendamos enchufar su teléfono mientras conduce.

 

 

 

Ya, para terminar, esperando que el producto final que se lance   en un futuro muy cercano sea seguro y funcional , os dejamos con un video de las primeras pruebas realizadas:

 

 

 

 

 

 

En el artículo A16z Led a $3.1 Million Round in Aftermarket Autonomous Car Company, Comma.ai George Hotz deja claro que su gran aspiración es batir a Tesla, «líder no porque su tecnología sea mejor, sino porque ya la ha puesto en la calle.»

Soldador de puntos casero para celdas 18650


En otro post hablábamos en este blog de los  supercondensadores y sus posibilidades  dado que  diferencia de los condensadores ordinarios, las baterías almacenan energía en una reacción química, y debido a esto, los iones se insertan realmente en la estructura atómica de un electrodo.

A diferencia de un condensador, los iones simplemente “se adhieren”. Esto es importante, porque almacenar energía sin reacciones químicas permite que los súpercondensadores se carguen y descarguen mucho más rápido que las baterías y debido a que los condensadores no sufren el desgaste causado por las reacciones químicas,también duran mucho más tiempo.

La soldadura  por  puntos  lleva con nosotros unos 40 años, pero a pesar de su antigüedad   sigue  gozando de buena reputación en los nuevos tiempos usándose de forma intensiva  también en aplicaciones de electrónica  donde la soldadura convencional con estaño no es efectiva, como   por ejemplo  a la hora  de conectar baterías entre si con laminas de níquel (por ejemplo las famosas  celdas 18650) ,   entre  sus miles de aplicaciones más.

En esencia la tecnología de la soldadura por  puntos  no es nada compleja , pues  la  configuración típica de un soldador de puntos no ha variado a  lo largo de los años,  consistiendo básicamente en  una fuente de muy baja tensión (entre 3 y 15V) de alta intensidad   conectada a un cabezal para soldar.

Desgraciadamente, a pesar de que no incluye demasiada tecnología, un soldador de puntos es uno de los pocos equipos donde la construcción casera  de este  es mucho  más barata que comprarlo montado,  incluso si se decide a comprarlo en alguno de los famosos  portales chinos, ya que incluso comprándolos  allí , su precios van entre los 200€ en adelante. Si no  estamos dispuestos  a desembolsar esa cantidad otra opción es fabricar un soldador de puntos  nosotros mismos  pues  en la red  se pueden ver  una gran cantidad de diseños de soldadores de puntos basados en viejos transformadores de microondas , a los que  se les elimina el secundario de AT  por medios mecánicos y simplemente se rodea en el interior del entre-hierro  en ese espacio que ha quedado vació de  dos vueltas de cable de gran sección ( al menos de 8 mm).

NO recomendamos construir  un soldador de puntos   basándose en un transformador   de microondas, no sólo por el voluminoso espacio  que ocupa ( y el ruido que genera) , sino, sobre todo,  por  el  peligro que conlleva extraer dicho transformador , pues esta muy cerca el condensador de alto voltaje, cuya  carga puede estar presente mucho tiempo después de que el horno de microondas esté desenchufado (y es extremadamente peligrosa una descarga de este tipo ). No confíe en la resistencia de purga interna del condensador , pues puede fallar y es muy  peligroso ( si lo va a hacer, al menos conecte dos cables de prueba de clip de cocodrilo  a la tierra del chasis de metal de microondas, asegurándose  de que los cables no estén rotos,sujete una resistencia de 10K … 1M al otro lado de un cable de prueba y descargue los dos terminales del condensador uno por uno a través de una  resistencia de   1MΩ utilizando alicates aislados ).

 

Solador de puntos basado en  supercondensador

Construir un soldador de puntos basándose en condensadores  por tanto  es la forma mas habitual de  y fácil de construirlo    a un precio bastante asequible.

Estas configuraciones funcionan  durante  mucho tiempo y normalmente   son  mucho mas optimas y eficientes  que los soldadores basados en transformadores de microondas modificados que como hemos comentado albergan cierto peligro.

La alta temperatura destruye las baterías de litio, por lo que la soldadura  tradicional térmica no es una opción, así que esta configuración  es perfecta  , y justo . es por eso  que hay personas que la llaman “soldadura fría” .

El circuito propuesto,  es bastante sencillo, pues simplemente  se basa en un simple circuito de carga a corriente constante basado en uan resistencia   y supercondensador de 500F/2.7V

El circuito es completando con un led con su correspondiente resistencia imitadora para indicar que el condensador esta cargado ,   así como unas puntas   de soldadura  que van conectadas directamente al condensador   u opcionalmente  por medio de un pulsador de  pie

solder.PNG

Los componente usados para este  montaje , por tanto, son los siguientes:

  • Supercondensador de 500F  de 2.7V
  • Placa de protección para supercondensador ( algunos ya lo suelen  integrar en el propio supercondensador)
  • Led rojo
  • Resistencia de 2.2 ohm y 5W   para cargador de 5v/2Amp (usar  5 ohm /5W si usa cargador  5V /1Amp
  • Resistencia 220ohm  1/4W
  • Fuente de  5V  2Amp ( por ejemplo un cargador usb )
  • Dos hilos rigidos  de cobre de 1mm de sección o mas
  • Pulsador de pie (opcional)

 

 

El montaje de estos componentes es bastante sencillo , pudiéndose incluso realizar las conexiones directamente sobre el propio super-condensador

 

Este circuito al no tener ningún elemento de control   ( como en el circuito propuesto con MOSFET que realizamos en este blog ) requiere  de cierta practica para controlar los tiempos necesarios para realizar la soldadura , aunque si se tiene dificultad  se podría intercalar entre cualquiera de los dos electrodos un pulsador de pie  que pueda soportar al menos los 2Amp,

Por supuesto al utilizar el circuito  debe tener la máxima precauciones de seguridad debido a la gran capacidad del condensador, pero sobre  todo , se recomienda desconectar el cargador cuando no este usando así como dejar descargado el condensador  cruzando los terminales si no se va  a usar el circuito

 

El modo de trabajo  es similar  a otros circuitos basados en super-condensadores:

  • Conecte  el circuito a  una fuente de 5V al menos 2Amp
  • Espere alrededor entre 5 a 10 Minutos  para cargar el condensador
  • El led rojo brillara  indicando que la carga del condensador esta alrededor de 2V
  • El led brillara intensamente señal que esta preparado para soldar
  • Use una  fina lamina de niquel para unir las baterias 18650
  • Apriete con fuerza el niquel con los bornes de las baterias
  • Use la  punta del electrodo para realizar la soldadura  de puntos primero tocando  con un extremo  y luego de forma momentánea con el otro
  • Debe liberar el contacto rapidamente

 

 

 

 

A continuación en el siguiente vídeo podemos ver todos  los  pasos  a la hora de construir este simple pero eficaz soldador de puntos ideal para  soldar  baterías 18650  o incluso otras  operaciones de soldadura  donde se requiera soldar elementos metálicos de poca sección.