Proyecto 4 2017 I

Titulo

DESARROLLO DE UN SOFTWARE PARA EL REGISTRO Y CONTROL DE EL USO DEL PROCESADOR DE COMPUTADORES

Participantes

SERGIO MAURICIO VASQUEZ RIPE
JONATHAN MARTINEZ
FABIAN RODRIGUEZ

Abstract

They are made 3 script to manage the use of computers in a computer room. The first script starts automatically with the boot of the computer in a Linux operating system, to manage the idle time that appears in those computers and to be able to realize an automatic shutdown of the computer after 15 minutes of idle time, since many people ignite and use Computers but do not shutdown it. The second script makes a data capture of the CPU consumption of the computers, and this data uploads them to a repository in BUCKET to be able to store all the information of the devices present in the computer rooms, and thus perform a management through a computer Administrator, this ambien script is initialized with the operating system. The last script is an administration menu, which is installed on an administrator computer to perform the management of the information that the second script uploads, since it can access and obtain the information that the computers upload to the repository stored in the cloud through A friendly menu, which also allows you to visualize in a graphical way how the computers are located in each computer room.

Problema

Hoy en dia el uso de computadores en ambitos escolares, universitarios o empresariales ha aumentado exponencialmente y esto ha hcho que cada vez mas el uso de energia sea mayor. El planeta esta pasando por un prroceso de cambio climatico y cualquier ayuda y apoyo que se de con el proposito de colaborar a cambiar esta situacion es bienvenida, por esta razon es que se decide realizar un proyecto que se basa en el desarrollo de un software para la medicion y control de uso de energia de los computadores, con el fin de poder controlar remotamente los ordenadores que no se esten usando y esten prendidos, y asi proceder a apagar el equipo.

Diseño (Arquitectura HW)

ARQUITECTURA.PNG

EXE: Este icono representa un script ejecutable para sistemas operativos linux, este archivo debe ir en cada computador que se va a gestionar remotamente, este archivo contiene el algoritmo desarrollado que permite medir el uso del procesador del computador, medir el tiempo de inactividad para poder apagar el computador si no esta en uso y permite subir datos al servidor y así mismo descargarlos para el uso debido de información. Este archivo debe programarse para que se ejecute cada vez que se prende el computador.

POST: El icono POST, hace referencia a el envió del dato que el algoritmo obtiene de el uso del procesador o del tiempo de inactividad, este dato es enviado mediante un POST a el servidor o nube en la cual se esta almacenando la base de datos.

BUCKET: El bucket o la nube, son los servidores de los cuales vamos hacer uso para almacenar y alimentar nuestra base de datos, la cual va contener información de los usuarios que pueden tener acceso al control remoto de los computadores, igualmente la información que va enviando cada computador acerca del uso del procesador y acerca del tiempo de inactividad.

GET: El icono GET, hace referencia a la obtención de datos que tenemos en la nube, estos datos los descargamos para poder hacer uso de ellos y poder hacer toma de decisiones dependiendo de los datos que se están observando, igualmente para realizar el login de los administradores que van a gestionar estos computadores.

ADMINISTRADOR: El administrador hace referencia al ordenador de la persona que va tener acceso a la información y al control remoto de los pcs de los cuales esta a cargo, este administrador debe realizar un login y desde ese usuario podrá realizar sus funciones dependiendo de los privilegios que tenga como usuario

POSIBLES APLICACIONES

  • Ahorro y control del uso de computadores en laboratorios universitarios

el softaware permite a un administrador o encargado tener el control de los computadores desde un host remoto, este software permite ver la energia que esta usando el pc y asi mismo revisar cuanto timepo lleva inactivo, de esta manera podra apagar o suspender los computadores que esten inactivos hace un determinado tiempo, asi mismo podra llevar un registro del uso de engia y revisar si hay alguna anomalia en algun pc .

lab4-n28122015.jpg
  • ahorro y control de energia en empresas.

este software garacias a sus funciones de control remoto de ordenadores y gestion de uso de estos mismo permite que los encargados de el departamento de tecnologias dela informacion de cada empresa tengan el control de energia de cada uno de los pcs que se ecuentran en los diferentes deparatamentos. con esto se busca crar una red de gestion para poder disminuir el uso de energia y ayudar con el cambio climatico por el que esta pasando el planeta.

2511548490_8aafb1fa50_o.jpg
  • Manejo Inteligente y rapido de las salas de tecnologia en los ambito escolares

El software no precisamente siempre debe ser controlado manualmente por un administrador o tecnico encargado,n este software tambien esta diseñado para que tome decisiones autonomas, dependiendo los valores que va guardando y subiendo a la nube, como sabemos en lo sambitos escolares lo estudiantes no apagan los computadores al dejar la sala de tecnologia debido a que no saben o no se los permiten, todo esto por seguridad del estudiante como del ordenador. por esta razon el software esta preparado para saber el tiempo de inactividad de un pc y compararlo con un tiempo ya programado, asi si este tiempo de inactividad llega a ser igual al timepo estimulado por el administrador, el pc se apagara automaticamente, o tambn se puede progamar un apagado automatico fijando estas horas dependiendo del horario de uso de las salas escolares.

sistemas.jpg

Dificultad encontrada

  • Un problema que se evidencio durante el desarrollo del proyecto fue lograr que el script, que contenía todo el algoritmo para la obtención de datos del pc, se iniciara apenas el pc se prendiera o empezara a consumir energía, ya que este algoritmo cuenta con procesos de comparación de datos y conteo para tomar decisiones según esos datos , ya que el pc apenas se prende empieza a gastar energía y a realizar procesos y no tiene sentido cada vez que se prenda el pc, el algoritmo tenga que ejecutarse manualmente, para la solución de este problema se realizo un proceso que consta en enviar a ese archivo a una carpeta que tiene como función ejecutar todos los programas que se encuentren ahí cada vez que se prende el pc.

Configuración - paso a paso

Se realiza una configuración de un script en ubuntu, el cual consiste en realizar una toma de datos del estado IDLE o inactividad del equipo, para poder identificar cuando esta o no en uso el pc, y si se deja de usar que se programe un apagado en los próximos 15 minutos, este script estará anidado en el proceso de startup del sistema o arranque del sistema operativo, y así poder tener un control del consumo de potencia en aquellos equipos que se utilizan y no vuelven a tener actividad después de mucho tiempo. Luego se genera un script que capture datos de consumo de potencia de cada pc para subir dichos datos de potencia a bucket mediante la implementación de un menú para poder generar un entorno agradable para el control y administración de los diferentes equipos presentes en las salas de los laboratorios de computo, el código para el sistema de apagado automático tras un tiempo idle del script en python es el siguiente:

#!/usr/bin/python
import time
import os
n=1;
x=0;
while n<360 :
        time.sleep(1)
        x=int(os.popen('xprintidle').read())
        if x >= 100000 :
                os.system('shutdown -h now')
                n=365
        else :
                n=n+1

Este código realiza la toma del estado IDLE por segundo y realiza una comparación de ese valor recién tomado con un valor fijo que corresponde en este caso a 100000 mili segundos, lo que hace que cuando el equipo entre en un estado idle que supere esos 100000 mili segundos apague el equipo de forma inmediata.

Luego se realiza la configuración del script en sh para realizar la toma del dato del consumo de CPU del pc, y realizar el post correspondiente del equipo al BUCKET mediante el código que corresponde a:

#!/bin/bash
while [ : ]
do
    load="$($_CMD uptime |awk -F'average:' '{ print $2}')"
    x="$(echo $load | sed s/,//g | awk '{ print $2}')"
    echo "CPU:$x "
    f=`date +%Y`
    f1=`date +%m`
    f2=`date +%d`
    f3=`date +%H`
    f4=`date +%M`
    f5=`date +%S`
    da="$f-$f1-$f2 $f3:$f4:$f5"
    echo $da
    echo "2017-04-10 10:30:30"
    echo 'Subiendo archivos...'
    curl -X POST -H "Content-Type: application/json" -d '{"sensorId":"59385b327be12b5d5fb4ce69", "captureTypeName": "Potencia", "value":'$x', "captureDate":"2017-04-10 10:30:30"}' https://bucket.usantotomas.edu.co:8443/api/sensors/59385b327be12b5d5fb4ce69/captures?userToken=dtt7bia0mqobomu7d0121dgq8
    sleep 5m
done

Se realiza un update de intervalos de 5 minutos, lo que indica que la base de datos se mantendrá lo mas actualizada posible, ya que cada 5 minutos esta realizando el post mediante el identificador asignado a cada sensor (pc), de la información del % de consumo de CPU, para poder acceder a esa base de datos desde el script administrativo.

Por ultimo se realiza el script correspondiente al menú del computador administrativo que va a gestionar toda la solución, donde puede acceder a la información de los post realizados por los diferentes sensores presentes en los dispositivos de la solución, y realizar su correspondiente GET, el código es el siguiente:

echo 'Ver estado energetico de PCs \nDigite la clave:'
read tok
if [ $tok = "dtt7bia0mqobomu7d0121dgq8" ]; then
    ok='dtt7bia0mqobomu7d0121dgq8'
    echo 'Clave correcta...'
    echo ' 1. Digitar id de PC especifico \n 2. Buscar a traves de sala especifica'
    read ii
    if [ $ii = 1 ] ; then
        echo 'Digite el id:'
        read id
    elif [ $ii = 2 ] ; then
        echo 'Digite la sala o etm (minusculas):'
        read saet
        if [ $saet = "etm1" ] ; then
            iii="del etm 1"
            echo 'ETM1 \npc1    pc2\npc3    pc4\npc5    pc6\npc7    pc8\npc9    pc10'
            echo 'Digite el numero del pc'
            read npc
            if [ $npc = "pc1" ] ; then
                id='59385b327be12b5d5fb4ce69'
                n=1
                echo $id
            elif [ $npc = "pc2" ] ; then
                id='59385b3c7be12b5d5fb4ce6a'
                n=2
            elif [ $npc = "pc3" ] ; then
                                id='59385b447be12b5d5fb4ce6b'
                n=3
            elif [ $npc = "pc4" ] ; then
                                id='59385b707be12b5d5fb4ce6c'
                n=4
            elif [ $npc = "pc5" ] ; then
                                id='59385b757be12b5d5fb4ce6d'
                n=5
            elif [ $npc = "pc6" ] ; then
                                id='59385b7b7be12b5d5fb4ce6e'
                n=6
            elif [ $npc = "pc7" ] ; then
                                id='59385b817be12b5d5fb4ce6f'
                n=7
            elif [ $npc = "pc8" ] ; then
                                id='59385b8c7be12b5d5fb4ce70'
                n=8
            elif [ $npc = "pc9" ] ; then
                                id='593aa4c77be12b4cfb8111c1'
                                n=9
                        elif [ $npc = "pc10" ] ; then
                                id='593aa4d87be12b4cfb8111c2'
                                n=10

            fi
        elif [ $saet = "etm2" ]; then
            iii="del etm 2"
            echo 'ETM2 \npc1    pc2\npc3    pc4\npc5       \npc7      '
                        echo 'Digite el numero del pc'
                        read npc
                        if [ $npc = "pc1" ] ; then
                                id='593862787be12b5d5fb4ce71'
                n=1
                        elif [ $npc = "pc2" ] ; then
                                id='5938627f7be12b5d5fb4ce72'
                n=2
                        elif [ $npc = "pc3" ] ; then
                                id='593862937be12b5d5fb4ce73'
                n=3
                        elif [ $npc = "pc4" ] ; then
                                id='593862a17be12b5d5fb4ce74'
                n=4
                        elif [ $npc = "pc5" ] ; then
                                id='593862ab7be12b5d5fb4ce75'
                n=5
                        elif [ $npc = "pc6" ] ; then
                                id='593862b57be12b5d5fb4ce76'
                n=6
                        elif [ $npc = "pc7" ] ; then
                                id='593862d37be12b5d5fb4ce77'
                n=7
                        fi
        elif [ $saet = "etm3" ]; then
                        iii="del etm 3"
                        echo 'ETM3 \npc1    pc2\npc3    pc4\npc5    pc6\npc7    pc8'
                        echo 'Digite el numero del pc'
                        read npc
                        if [ $npc = "pc1" ] ; then
                                id='593862f47be12b5d5fb4ce78'
                                n=1
                        elif [ $npc = "pc2" ] ; then
                                id='593862f97be12b5d5fb4ce79'
                                n=2
                        elif [ $npc = "pc3" ] ; then
                                id='593862ff7be12b5d5fb4ce7a'
                n=3
                        elif [ $npc = "pc4" ] ; then
                                id='593863067be12b5d5fb4ce7b'
                                n=4
                        elif [ $npc = "pc5" ] ; then
                                id='593863107be12b5d5fb4ce7c'
                n=5
                        elif [ $npc = "pc6" ] ; then
                                id='593863167be12b5d5fb4ce7d'
                                n=6
                        elif [ $npc = "pc7" ] ; then
                                id='59388f7a7be12b5d5fb4cf33'
                n=7
                        elif [ $npc = "pc8" ] ; then
                                id='59388fbe7be12b5d5fb4cf34'
                                n=8
                        fi
                elif [ $saet = "etm5" ]; then
            iii="del etm 5"
                        echo 'ETM5 \npc1    pc2    pc3    pc4\npc5    pc6    pc7    pc8'
                        echo 'Digite el numero del pc'
                        read npc
                        if [ $npc = "pc1" ] ; then
                                id='59386b9f7be12b5d5fb4ce86'
                                n=1
                        elif [ $npc = "pc2" ] ; then
                                id='59386ba67be12b5d5fb4ce87'
                                n=2
                        elif [ $npc = "pc3" ] ; then
                                id='59386bab7be12b5d5fb4ce88'
                              n=3
                        elif [ $npc = "pc4" ] ; then
                                id='59386bb07be12b5d5fb4ce89'
                                n=4
                        elif [ $npc = "pc5" ] ; then
                                id='59386bbb7be12b5d5fb4ce8a'
                n=5
                        elif [ $npc = "pc6" ] ; then
                                id='593892117be12b5d5fb4cf35'
                                n=6
                        elif [ $npc = "pc7" ] ; then
                                id='59386bc97be12b5d5fb4ce8b'
                                n=7
                        fi
                elif [ $saet = "etm6" ]; then
            iii="del etm 6"
                        echo 'ETM6 \npc1    pc2\npc3    pc4\npc5    pc6\npc7    pc8'
                        echo 'Digite el numero del pc'
                        read npc
                        if [ $npc = "pc1" ] ; then
                                id='59386bfe7be12b5d5fb4ce8d'
                                n=1
                        elif [ $npc = "pc2" ] ; then
                                id='59386c147be12b5d5fb4ce8e'
                                n=2
                        elif [ $npc = "pc3" ] ; then
                                id='59386c1b7be12b5d5fb4ce8f'
                n=3
                        elif [ $npc = "pc4" ] ; then
                                id='59386c247be12b5d5fb4ce90'
                                n=4
                        elif [ $npc = "pc5" ] ; then
                                id='59386c337be12b5d5fb4ce91'
                n=5
                        elif [ $npc = "pc6" ] ; then
                                id='59386c797be12b5d5fb4ce92'
                                n=6
                        elif [ $npc = "pc7" ] ; then
                                id='59386c8d7be12b5d5fb4ce93'
                                n=7
                        elif [ $npc = "pc8" ] ; then
                                id='59386c957be12b5d5fb4ce94'
                                n=8
                        fi
                elif [ $saet = "etm8" ]; then
            iii="del etm 8"
                        echo 'ETM8 \npc1    pc2\npc3    pc4\npc5    pc6\npc7    pc8\npc9    pc10'
                        echo 'Digite el numero del pc'
                        read npc
                        if [ $npc = "pc1" ] ; then
                                id='59386d077be12b5d5fb4ce9d'
                                n=1
                        elif [ $npc = "pc2" ] ; then
                                id='59386d0b7be12b5d5fb4ce9e'
                                n=2
                        elif [ $npc = "pc3" ] ; then
                                id='59386d127be12b5d5fb4ce9f'
                n=3
                        elif [ $npc = "pc4" ] ; then
                                id='59386d167be12b5d5fb4cea0'
                                n=4
                        elif [ $npc = "pc5" ] ; then
                                id='59386d1b7be12b5d5fb4cea1'
                n=5
                        elif [ $npc = "pc6" ] ; then
                                id='59386d227be12b5d5fb4cea2'
                                n=6
                        elif [ $npc = "pc7" ] ; then
                                id='59386d307be12b5d5fb4cea3'
                n=7
                        elif [ $npc = "pc8" ] ; then
                                id='59386d397be12b5d5fb4cea4'
                                n=8
            elif [ $npc = "pc9" ] ; then
                                id='593aa7937be12b4cfb8111c3'
                                n=9
                        elif [ $npc = "pc10" ] ; then
                                id='593aa7ab7be12b4cfb8111c4'
                                n=10
                        fi
                elif [ $saet = "etm9" ]; then
            iii="del etm 9"
                        echo 'ETM9 \npc1    pc2\npc3    pc4\npc5    pc6\npc7    pc8\npc9    pc10\npc10   pc11\npc11   pc14'
                        echo 'Digite el numero del pc'
                        read npc
                        if [ $npc = "pc1" ] ; then
                                id='59386d597be12b5d5fb4cea5'
                                n=1
                        elif [ $npc = "pc2" ] ; then
                                id='59386d5e7be12b5d5fb4cea6'
                                n=2
                        elif [ $npc = "pc3" ] ; then
                                id='59386d637be12b5d5fb4cea7'
                n=3
                        elif [ $npc = "pc4" ] ; then
                                id='59386d687be12b5d5fb4cea8'
                                n=4
                        elif [ $npc = "pc5" ] ; then
                                id='59386d707be12b5d5fb4cea9'
                n=5
                        elif [ $npc = "pc6" ] ; then
                                id='59386d777be12b5d5fb4ceaa'
                                n=6
                        elif [ $npc = "pc7" ] ; then
                                id='59386d7f7be12b5d5fb4ceab'
                n=7
                        elif [ $npc = "pc8" ] ; then
                                id='59386d957be12b5d5fb4ceac'
                                n=8
            elif [ $npc = "pc9" ] ; then
                                id='593aa8937be12b4cfb8111c5'
                                n=9
                        elif [ $npc = "pc10" ] ; then
                                id='593aa8bb7be12b4cfb8111c6'
                                n=10
                        elif [ $npc = "pc11" ] ; then
                                id='593aa8d57be12b4cfb8111c7'
                                n=11
                        elif [ $npc = "pc12" ] ; then
                                id='593aa8fc7be12b4cfb8111c8'
                                n=12
            elif [ $npc = "pc13" ] ; then
                                id='593aa90a7be12b4cfb8111c9'
                                n=13
                        elif [ $npc = "pc14" ] ; then
                                id='593aa9147be12b4cfb8111ca'
                                n=14
                        fi
                elif [ $saet = "etm10" ]; then
            iii="del etm 10"
                        echo 'ETM10 \npc1    pc2\npc3    pc4\npc5    pc6\npc7    pc8\npc9    pc10'
                        echo 'Digite el numero del pc'
                        read npc
                        if [ $npc = "pc1" ] ; then
                                id='593872287be12b5d5fb4cead'
                                n=1
                        elif [ $npc = "pc2" ] ; then
                                id='5938722c7be12b5d5fb4ceae'
                                n=2
                        elif [ $npc = "pc3" ] ; then
                                id='593872317be12b5d5fb4ceaf'
                n=3
                        elif [ $npc = "pc4" ] ; then
                                id='593872ff7be12b5d5fb4ceb0'
                                n=4
                        elif [ $npc = "pc5" ] ; then
                                id='593873157be12b5d5fb4ceb1'
                n=5
                        elif [ $npc = "pc6" ] ; then
                                id='593873257be12b5d5fb4ceb2'
                                n=6
                        elif [ $npc = "pc7" ] ; then
                                id='5938732d7be12b5d5fb4ceb3'
                n=7
                        elif [ $npc = "pc8" ] ; then
                                id='5938739a7be12b5d5fb4ceb4'
                                n=8
            elif [ $npc = "pc9" ] ; then
                                id='593aabdc7be12b4cfb8111cb'
                                n=9
                        elif [ $npc = "pc10" ] ; then
                                id='593aabed7be12b4cfb8111cc'
                                n=10
                        fi
                elif [ $saet = "etm11" ]; then
            iii="del etm 11"
                        echo 'ETM11 \npc1    pc2\npc3    pc4\npc5    pc6\npc7    pc8\npc9    pc10\npc11   pc12'
                        echo 'Digite el numero del pc'
                        read npc
                        if [ $npc = "pc1" ] ; then
                                id='593873c87be12b5d5fb4ceb5'
                                n=1
                        elif [ $npc = "pc2" ] ; then
                                id='593873ce7be12b5d5fb4ceb6'
                                n=2
                        elif [ $npc = "pc3" ] ; then
                                id='593873da7be12b5d5fb4ceb7'
                n=3
                        elif [ $npc = "pc4" ] ; then
                                id='593873e47be12b5d5fb4ceb8'
                                n=4
                        elif [ $npc = "pc5" ] ; then
                                id='593873ec7be12b5d5fb4ceb9'
                n=5
                        elif [ $npc = "pc6" ] ; then
                                id='593873f97be12b5d5fb4ceba'
                                n=6
                        elif [ $npc = "pc7" ] ; then
                                id='593874047be12b5d5fb4cebb'
                n=7
                        elif [ $npc = "pc8" ] ; then
                                id='5938740e7be12b5d5fb4cebc'
                                n=8
            elif [ $npc = "pc9" ] ; then
                                id='593aac967be12b4cfb8111cd'
                                n=9
                        elif [ $npc = "pc10" ] ; then
                                id='593aacb77be12b4cfb8111ce'
                                n=10
                        elif [ $npc = "pc11" ] ; then
                                id='593aacc47be12b4cfb8111cf'
                                n=11
                        elif [ $npc = "pc12" ] ; then
                                id='593aacd37be12b4cfb8111d0'
                                n=12
                        fi
        elif [ $saet = "etm13" ]; then
                        iii="del etm 13"
                        echo 'ETM13 \n   pc1 \npc2    pc3\npc4    pc5\npc6    pc7\npc10   pc11\npc12   pc13'
                        echo 'Digite el numero del pc'
                        read npc
                        if [ $npc = "pc1" ] ; then
                                id='593874bd7be12b5d5fb4cec5'
                                n=1
                        elif [ $npc ="pc2" ] ; then
                                id='593874c37be12b5d5fb4cec6'
                                n=2
                        elif [ $npc = "pc3" ] ; then
                                id='593874cf7be12b5d5fb4cec7'
                                n=3
            elif [ $npc = "pc4" ] ; then
                                id='593874db7be12b5d5fb4cec8'
                                n=4
                        elif [ $npc = "pc5" ] ; then
                                id='593874e57be12b5d5fb4cec9'
                                n=5
                        elif [ $npc = "pc6" ] ; then
                                id='593874ec7be12b5d5fb4ceca'
                                n=6
                        elif [ $npc = "pc7" ] ; then
                                id='593874fc7be12b5d5fb4cecb'
                                n=7
                        elif [ $npc = "pc8" ] ; then
                                id='593875077be12b5d5fb4cecc'
                                n=8
            elif [ $npc = "pc9" ] ; then
                                id='593aae3b7be12b4cfb8111d1'
                                n=9
                        elif [ $npc = "pc10" ] ; then
                                id='593aae437be12b4cfb8111d2'
                                n=10
                        elif [ $npc = "pc11" ] ; then
                                id='593aae4b7be12b4cfb8111d3'
                                n=11
                        elif [ $npc = "pc12" ] ; then
                                id='593aaec77be12b4cfb8111d4'
                                n=12
                        elif [ $npc = "pc13" ] ; then
                                id='593aaed07be12b4cfb8111d5'
                                n=13
                        fi
                fi
        fi
    echo 'Descargando la informacion del repositorio.....'
    curl -X GET https://bucket.usantotomas.edu.co:8443/api/sensors/$id/captures?userToken=$ok
else
    echo 'Clave incorrecta'
fi

Con el menu que se despliega también se puede acceder al esquema de los diferentes dispositivos para observar de una forma mas amigable la composición y ubicación de los sensores.

Configuración en PC

En la configuración que se realizaría en cada uno de los sensores de los dispositivos se basa en realizar ejecutable el script de administración de tiempo IDLE en el startup del sistema operativo, para esto nos vamos al buscador de linux y si el sistema operativo esta en español escribimos aplicaciones al inicio y si esta en ingles escribimos startup e incorporamos el scrip .py diseñado para el apagado automático tras 15 minutos de tiempo IDLE dentro de las aplicaciones de inicio automático con el sistema operativo.

sudo screen /dev/ttyUSB0 115200

Configuración en Bucket

Se realiza la configuración del repositorio Bucket para el almacenamiento de la información subida por el script descrito anteriormente que informa sobre el consumo de potencia, para esto primero se realiza la creación de una solución dentro del repositorio para poder crear mas adelante dispositivos y sensores, y así realizar toma de datos o capturas. Esta configuración se observa en la siguiente imagen:

1Soluciones.png

Después se configuran los dispositivos, que en nuestro caso serian las salas de computo en las cuales se realizara la gestión del consumo de potencia, para esto tenemos que realizar el conteo del numero de salas existentes en el entorno de estudio, y se configuran los dispositivos en el repositorio quedando de la siguiente forma:

2Dispositivos.png

Luego se configuran los sensores, que vienen siendo cada uno de los computadores presentes en cada una de las diferentes salas de computo del entorno en el que se implementaría el sistema de gestión de potencia y automatización en el consumo mediante el apagado programado de cada pc, realizando una asignación de un ID para cada uno de los sensores y mediante este poder mas adelante realizar un Get de la informacion que proporcionan cada uno de estos a la base de datos, teniendo como resultado la siguiente configuración en el repositorio:

3Sensores.png

Por ultimo se realiza la captura de los datos subidos por el script de potencia, para mantener una base de datos de los diferentes informes realizados por los sensores, y realizar un Get de un sensor especificado de un dispositivo dentro del script del menu que obtiene la respuesta del servidor. la base de datos se va conformando de la siguiente forma y se va llenando cada vez que el script haga un post:

4Capturas.png
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License