En el módulo de Big Data Aplicado estamos trabajando en el proyecto Smart Classroom Monitor desde el comienzo del curso. El objetivo principal de este proyecto es la implementación de un sistema de monitorización de un aula de informática utilizando sensores Arduino, herramientas de Big Data y algoritmos de inteligencia artificial. Los sensores recopilarán información en tiempo real sobre temperatura, humedad, luminosidad y ruido en el aula, que serán almacenados en HDFS mediante Kafka y procesados con SPARK. Los datos procesados se visualizarán en un cuadro de mandos en Power BI y se utilizarán para enviar alertas en tiempo real mediante una aplicación móvil. Durante todo el desarrollo del proyecto, las matemáticas han estado presente desde el principio. A continuación detallo un ejemplo de este hecho. Nos encontramos en el punto en el que tenemos todos los dispositivos arduinos configurados. Hemos comenzado a enviar los datos desde los sensores y los estamos recibiendo cada 5 segundos aproximadamente. Ahora el problema que tenemos es decidir cuándo almacenar esos datos y guardarlos en HDFS. Para tomar esta decisión, en primera instancia, decidimos hacer un contador hasta 60. Cuando recibíamos 60 datos, los guardábamos en HDFS. Las matemáticas nos ayudan a crear este contador y poder controlarlo. Pero con esa opción tendríamos muchos ficheros independientes, y no era muy operativo para el posterior análisis. Teniendo esto en cuenta, lo que mejor nos venía para el análisis esta tener un fichero independiente por día. Lo que hicimos fue almacenar todos los datos que recibíamos en un fichero y en el momento en el que el día actual era diferente al día en el que comenzamos a recibir datos, guardábamos ese fichero en HDFS..
Previamente, para poder probar, en lugar de guardar cada día, lo hicimos cada minuto, por lo que teníamos que comprobar si en el minuto en el que estábamos era diferente al minuto en el que comenzamos a escribir el fichero para almacenarlo en HDFS. De nuevo las matemáticas están presente. Para guardar el fichero en HDFS teníamos que conectarnos a la máquina dónde está instalado. Nos conectamos a través de la dirección IP, en este caso, 172.17.10.30, y también necesitamos conectarnos al puerto de la máquina que está abierto, en este caso el puerto 9870.
Cada dirección IP en decimal, se corresponde con un número en binario. Para poder obtener este número en binario hay que convertirlo. Convertir un número decimal a binario puede llegar a ser sencillo: basta con realizar divisiones sucesivas entre 2 y escribir los restos obtenidos en cada división en orden inverso al que han sido obtenidos. Por ejemplo el número decimal 23519: 23519 / 2 = 11759 Resto: 1 11759 / 2 = 5879 Resto: 1 5879 / 2 = 2939 Resto: 1 2939 / 2 = 1469 Resto: 1 1469 / 2 = 734 Resto: 1 734 / 2 = 367 Resto0 367 / 2 = 183 Resto: 1 183 / 2 = 91 Resto: 1 91 / 2 = 45 Resto: 1 45 / 2 = 22 Resto: 1 22/ 2 = 11 Resto: 0 11 / 2 = 5 Resto: 1 5 / 2 = 2 Resto: 1 2 / 2 = 1 Resto: 0 1 / 2 = 0 Resto: 1 Acomodando los restos en orden inverso, el número decimal 23519 sería el 101101111011111 binario. El proceso inverso para convertir un número binario a decimal es aún más sencillo. Basta con numerar los dígitos de derecha a izquierda comenzando desde cero, a cada número se le asigna la correspondiente potencia base 2 y al final se suman las potencias. Por ejemplo el número binario 10101100 a decimal sería: 0 * 2^0 = 0 0 * 2^1 = 0 1 * 2^2 = 4 1 * 2^3 = 8 0 * 2^4 = 0 1 * 2^5 = 32 0 * 2^6 = 0 1 * 2^7 = 128 Sumando los resultados de las potencias: 0 + 0 + 4 + 8 + 0 + 32 + 0 + 128 = 172 Por tal, el número binario 10101100es el 172 decimal. El mundo de la informática está basado en número binarios. Todo lo que se procesa en un ordenador, a más bajo nivel, sin número binarios, desde texto hasta imágenes. Comprender cómo hacer estas conversiones entre números decimales y binarios es fundamental para entender cómo funciona la informática
Como podemos ver, las matemáticas están por todas partes en todo lo que está relacionado con la informática. En el módulo de Big Data Aplicado que se imparte en el Curso de Especialización en Inteligencia Artificial y Big Data, estamos trabajando las matemáticas continuamente. Este ha sido solo un pequeño ejemplo de cómo las matemáticas nos afectan en el día a día.