La Hermandad de Bomberos

LA HERMANDAD DE PRIMEROS RESPONDIENTES ANTE UNA EMERGENCIA

SI USTED ES MIEMBRO ACTIVO DE LA HERMANDAD DE BOMBEROS TIENE DERECHO A: DIFUNDIR EVENTOS SOLICITÁNDOLO A NUESTRA ADMINISTRACIÓN HERMANDADEBOMBEROS@HOTMAIL.COM A CAMBIO DE BECAS SIN COSTO DE INSCRIPCIÓN, LO EVALUAREMOS DEACUERDO AL NIVEL TÉCNICO DEL CURSO Y DEL INSTRUCTOR – PUEDE ENVIAR AL MISMO EMAIL ARTÍCULOS SOLICITANDO SU PUBLICACIÓN – PUEDE COMPARTIR CON EL RESTO DE LOS MIEMBROS SU MATERIAL O EL MATERIAL AQUÍ SUBIDO HACIENDO CLICK EN “COMPARTIR” – PUEDE ENLAZAR SUS CUENTAS DE TWITER Y FACEBOOK Y COMPARTIR NUESTRO Y SU MATERIAL – PUEDE CREAR GRUPOS Y UNIRSE GRATUITAMENTE A ELLOS PARTICIPANDO DE TODOS LOS FOROS - PUEDE INICIAR DISCUSIONES EN LOS FOROS – PUEDE PONERSE EN CONTACTO DIRECTO CON EL CREADOR DE LA RED A TITOPOMPEI2008@HOTMAIL.COM – PUEDE MODERAR EL CONTENIDO DE SU PERFIL – SI NO DESEA RECIBIR MENSAJES GENERALES PUEDE CREAR UN EMAIL ALTERNATIVO PARA ESTA FUNCIÓN EN SU PERFIL O DESCARTARLO – PUEDE RECIBIR BECAS SIN COSTO DE INSCRIPCIÓN - PUEDE SUBIR FOTOS Y VÍDEOS, HACER PUBLICACIONES DE BLOG Y PUBLICAR EVENTOS COMPARTIÉNDOLO CON SUS AMIGOS - Y SOBRE TODO PUEDE SENTIRSE PARTE DE ESTA GRAN FAMILIA DE PRIMEROS RESPONDIENTES -

“PROMETEO” PLATAFORMA DE SALUD PARA LOS BOMBEROS

La plataforma cognitiva para cuidar la salud y seguridad de los bomberos en tiempo real

A CONTINUACIÓN INFORMACIÓN DETALLADA TOMADA DEL SITIO OFICIAL DE LA PLATAFORMA:

El sensor

Una placa basada en el microcontrolador ESP8266 con firmware NodeMCU, ya que este proyecto será de código abierto. A este controlador, conectamos un par de sensores, el DHT11 que nos brinda información sobre temperatura y humedad y el sensor MQ-2 que nos da, entre la concentración de varios gases, la concentración de humo.

Para hacerlo portátil, decidimos alimentar el controlador con una batería usb portátil y envolverlo con un brazalete deportivo.

La siguiente imagen es el resultado final con el uso de un bombero.

Finalmente, el código que hace posible leer esas métricas y enviarlas a la siguiente etapa (IBM IoT Hub) podría revisarse aquí. Hay algunas cosas a tener en cuenta al leer este código:

  • La conectividad a Internet está destinada a hacerlo mediante la conexión con un teléfono móvil, por lo que debe proporcionar el SSID y la contraseña del punto de acceso wifi.
  • Debe tener en cuenta que los pines variarán si nos decide otra placa o tipo de sensores, en nuestro caso para la temperatura y la humedad que usamos del pin digital 5 y para el sensor de humo usamos el pin analógico 0.
  • Necesitará un token válido para IoT Hub y registrará su dispositivo en el Hub
  • Basamos nuestro código en el ejemplo proporcionado en el portal para desarrolladores de IBM escrito por Ant Elder ( https://developer.ibm.com/recipes/tutorials/run-an-esp8266arduino-as-a-iot-foundation-managed-device/ )

IBM IoT HUB

Este fue un paso muy sencillo, simplemente registre los nuevos dispositivos y asegúrese de que se conectan a la plataforma, también, y gracias al código cargado en nuestro microcontrolador, podemos realizar acciones remotas en nuestro dispositivo, como cambiar el intervalo de sondeo, reinicie el dispositivo o límpielo.

Por fin, pero no al menos, creamos una conexión entre IoT Hub y nuestro siguiente paso, nuestra aplicación NodeRed.

NodoRojo

En este punto, podemos concluir que estamos frente a nuestro servicio principal. Con esta aplicación controlamos todo el flujo de trabajo de las métricas enviadas por nuestros sensores, las almacenamos, las analizamos y tomamos medidas según las lecturas.

Entonces, analicemos nodo por nodo. Además, puede encontrar el código aquí , si desea importar a su proyecto personal, solo tenga en cuenta que las credenciales, los tokens y los datos confidenciales se eliminan.

  • IBM IoT: conecta y recibe los eventos de cada dispositivo registrado en nuestro IoT Hub. Los mensajes se reciben en formato json.

    Una vez recibido el mensaje, tomamos dos acciones en paralelo.

  • nodemcu: con este nodo, guardamos una copia del mensaje en una base de datos nublada, con esto tendremos datos históricos para el futuro.

  • IoT2ML: en este nodo de función, solo transformamos el mensaje recibido para que nuestro servicio de aprendizaje automático lo haga completo.

  • Predicción de salud del bombero Machine Learning: en Watson Machine Learning es donde ocurre la "magia", gracias a nuestro modelo predictivo, una vez que enviemos las métricas, nuestro modelo responderá con un estado de bombero verde, amarillo o rojo. Vamos a profundizar en nuestra explicación en la sección de Watson Machine Learning a continuación.

  • ML2status2.0: en este punto, finalmente preparamos el mensaje para enviarlo a nuestro panel en vivo. Básicamente enviamos el siguiente paylod, "ID de bombero", "Estado", "Marca de tiempo del evento", "Temperatura", "Humedad", "Concentración de humo"

  • Servidor de Webscokets: este es el nodo final, que envía los mensajes a nuestros servidores de envío y recepción de WebSockets, luego hablaremos más detalladamente.

Servicio de IBM Cloud Container

En este punto, necesitamos un lugar para publicar nuestro panel de control en tiempo real. Creamos un servicio en el IBM Cloud Container Service. Este servicio incluye un receptor y emisor de sockets web y un NGINX que sirve a nuestro portal escrito básicamente con javascript y que utiliza una biblioteca de tablas de datos basada en jquery.

Este servicio ha expuesto dos puertos, uno para el servidor de sockets web y otro para el servidor nginx.

Dentro de esta carpeta , puede encontrar el código del servidor websockets (server.js), la fuente del portal (html / index.html) y también el script que usamos para implementar y actualizar el código en nuestro POD (deploy.sh )

Cliente

Finalmente, el cliente es solo un navegador web que admite JavaScript y sockets web que es compatible con casi todos los navegadores nuevos.

Puede acceder a nuestro panel en vivo en esta dirección http , desafortunadamente, si no hay sensores que transmitan datos, no podrá verlos en acción.

Watson Machine Learning

Como parte de la Solución Prometeo, se utiliza el aprendizaje automático para determinar si es arriesgado mantener al bombero en el área real apagando el fuego o si es necesario alejarlo.

No teníamos datos reales para entrenar el modelo, por lo que decidimos emular los datos creando un conjunto de datos ad hoc.

Primero, usamos el conjunto de datos para entrenar el modelo.

Después de entrenar el modelo, creamos un servicio web para usar el modelo en el módulo NodeRed explicado anteriormente.

Entrenando al modelo

Utilizamos el conjunto de datos dataset_cut.csv, el código que contiene las siguientes variables:

  • Temperatura: temperatura exterior
  • Humedad: humedad relativa en%
  • PPM: concentración de humo referida a partes de millones de CO
  • Estado: indica si la observación real es roja (lo que significa que es peligroso para los bomberos), amarilla (es una advertencia), verde (no hay riesgo). Esta es la variable que tenemos que predecir.

El modelo de máquina nos capacitará con esta información.

Antes de comenzar la capacitación, es necesario procesar el conjunto de datos.

Una vez que el conjunto de datos se cargue en el proyecto de Watson Studio, refine el conjunto de datos con las siguientes acciones:

  • Convierta temperatura, humedad y ppm en entero
  • Ejecute el trabajo creando una nueva versión del conjunto de datos

Después de eso, cree un nuevo modelo de aprendizaje automático:

  • Usa el conjunto de datos que acabamos de crear
  • Utilice la creación manual o automática de modelos.
  • Seleccione un servicio de aprendizaje automático, si no existe, cree uno nuevo
  • El tipo de modelo debe ser "creador de modelos"
  • Seleccione un Kernel de Spark Scala, si no existe, cree uno nuevo

Es importante que seleccione "Estado" como la variable que va a predecir. El resto de variables deben seleccionarse como variables de características. Debe seleccionar la Clasificación multiclase porque tenemos 3 predicciones posibles (rojo, amarillo y verde).

Finalmente, entrene y evalúe el modelo.

Usando el modelo

Una vez creado el modelo, puede usarlo para crear un servicio web.

En el modelo entrenado, seleccione la pestaña Implementaciones y presione la opción Agregar implementaciones. Nombra la nueva implementación y créala.

Después de crear la implementación, selecciónela. Puede probarlo, en el servicio tiene toda la información sobre cómo usarlo.

En nuestro caso, creamos el despliegue "Prometeo ML Webservice".

Vistas: 32

Comentario

¡Tienes que ser miembro de La Hermandad de Bomberos para agregar comentarios!

Únete a La Hermandad de Bomberos

COMPARTIR EXPERIENCIAS E INFORMACIÓN PROFESIONAL, BUSCANDO LA UNIDAD DE LOS PRIMEROS RESPONDIENTES...SENTIRSE PARTE DE ESTA GRAN FAMILIA...

Publicaciones de blog

Fotos

  • Agregar fotos
  • Ver todos

© 2019   Creada por CREADOR DE LA RED.   Con tecnología de

Insignias  |  Informar un problema  |  Términos de servicio