Curso de #IoT en el TEC

Taxonomía del proyecto

El proyecto nació de una iniciativa para utilizar IoT en la industria como base para la consultoría energética. Ahora se ha convertido en una iniciativa de enseñanza para estudiantes del Instituto Tecnológico de Costa Rica, con la meta de enseñar un concepto holístico de IoT, incluyendo hardware, software y análisis de datos.

La siguiente gráfica presenta los conceptos básicos del proyecto y su interconexión. Cada elemento contiene requerimientos de Hardware y Software diferentes.

El objetivo del proyecto es monitorear cambios de temperatura de un sistema de aire acondicionado en las instalaciones del ITCR.

Sensores

Para medir la temperatura se utilizan sensores de temperatura digitales DH18B20. El protocolo de comunicación con los controladores es 1-Wire-BUS.

DH18B20

Documentación del sensor (pdf)

Protocolo 1-Wire

Documentación del protocolo

Controlador

El controlador se encarga de leer los sensores y enviar la data por comunicación serial al gateway. También filtra la data recolectada según requerimientos. La meta es poder tener data de cambios en la medición, pero a la vez omitir datos repetitivos.

Tipo de hardware

Arduino Uno / Arduino Nano

Gateway

El gateway utilizado es un Raspberry Pi con el siguiente software:

DietPi

Sistema operativo DietPi para Raspberry Pi.

Código fuente Serial API

Este software lee los controladores por conexión serial y graba los datos en una base de datos local.

Código fuente Parse Sync

Este software sincroniza la base de datos local con la nube.

Código fuente Watchdog

Este software lee datos importantes del Gateway, los evalúa y los sincroniza con la nube.

Código fuente ArduinoFlasher

Este software provee al gateway con la capacidad de poder escribir el software de los controladores. De esta manera, se pueden actualizar remotamente.

MongoDB

Para este proyecto se utiliza la Base de Datos NoSQL MongoDB.

La Nube

Análisis de Datos y Visualización

El análisis de datos y su visualización se encuentra en una fase temprana. Por el momento utilizamos Matlab para esta tarea, ya que nos brinda velocidad, esencial en la fase de prototipaje.

Código fuente ParseDownloader

Este script de NodeJS descarga de la nube los datos para ser analizados offline.

Código fuente IoT Data Analysis

Código de Matlab para el análisis de datos offline.

Noticias sobre IoT y este proyecto

La cadena IoT

La “cadena IoT” es una abstracción valida para proyectos de IoT con la cual se pueden describir diferentes componentes sin importar su arquitectura o constructor. Es valida para todos los proyectos de IoT en los que he tenido el gusto de participar. En...