scoobiii / ET-CCNFT

DeepEnergy, DeepCloud, DeepCooling, DeepHeath
0 stars 0 forks source link

DSG #1

Open scoobiii opened 1 year ago

scoobiii commented 1 year ago

Deep server graphQl

scoobiii commented 1 year ago
  1. CLI, cabeçalho tabulado de parâmetros

O cabeçalho da CLI seria o seguinte:

Moto G6 DeepServerGraphQL (SDGQ)

Parâmetros:

nominal | mínimo | máximo | real time | temperatura | frequência | tflops | tflops/kwh | kwh/tflops | kwh | ciclo de vida do produto | ciclo de vida do residuo | pegada de carbono | metareciclagem | outros usos de celulares quando perdem uso | novos usos iot? | sugestão | uso de energia: | eficiência da bateria |

  1. Tabela amigável com

A tabela amigável seria exibida na seguinte ordem:

Parâmetro | Valor ----------|--------- Nominativo | 2.2 GHz Mínimo | 1.4 GHz Máximo | 2.2 GHz Real time | 2.2 GHz Temperatura | 20 °C Frequência | 2.2 GHz Tflops | 4.2 Tflops/kwh | 1.5 Kwh/tflops | 0.67 Kwh | 2.72 Ciclo de vida do produto | 5 anos Ciclo de vida do residuo | 100 anos Pegada de carbono | 50 kg CO2e Metareciclagem | 90% Outros usos de celulares quando perdem uso | Doação, reuso, reciclagem Novos usos iot? | Sim Sugestão | Aprimorar a eficiência da bateria Uso de energia: | Energia consumida | 2.72 kwh Eficiência da bateria | 70%

  1. Overclock

O código para overclock do Moto G6 seria o seguinte:

Overclock do Moto G6 # # Para overclockar o Moto G6, você precisa alterar o arquivo /proc/cpuinfo. # # Abra o arquivo /proc/cpuinfo com um editor de texto. # # Encontre a linha que contém "cpufreq_max_freq". # # Altere o valor desta linha para a frequência de overclock desejada. # # Por exemplo, para overclockar o Moto G6 para 2.5 GHz, altere o valor para 2500000. # # Salve o arquivo e reinicie o dispositivo.

  1. Controle de temperatura

Para controlar a temperatura do núcleo em 20 °C, você pode usar o seguinte código:

Controle de temperatura do núcleo do Moto G6 # # Para controlar a temperatura do núcleo do Moto G6, você pode usar o seguinte código: # # Importe o módulo "cpufreq". # # Crie uma instância do objeto "cpufreq_policy" para o núcleo desejado. # # Obtenha o valor atual da frequência do núcleo. # # Defina a frequência máxima do núcleo para 2.2 GHz. # # Aguarde a temperatura do núcleo atingir 20 °C. # # Aumente a frequência do núcleo em 100 MHz a cada 5 segundos. # # Se a temperatura do núcleo exceder 20 °C, reduza a frequência do núcleo em 100 MHz. # # Repita este processo até que a frequência máxima do núcleo seja alcançada.

Este é apenas um possível design para um SDGQ servidor GraphQL que disponibiliza dados em tempo real do Moto G6. Você pode personalizar o design conforme necessário para atender às suas necessidades específicas.

Instalar o GraphQL em Termux:

apt install graphql

Criar um esquema GraphQL para o Moto G6:

cat << EOF > schema.graphql type MotoG6 { name: String! model: String! cpu: Cpu! battery: Battery! camera: Camera! } type Cpu { temperature: Float! frequency: Float! tflops: Float! } type Battery { capacity: Float! charge: Float! discharge: Float! } type Camera { resolution: Float! fps: Float! } EOF

Criar um servidor GraphQL que implemente o esquema:

python3 -m graphql.server schema.graphql

Coletar os dados do Moto G6 usando Termux:

Coletar temperatura de cada núcleo cat /sys/devices/system/cpu/cpu0/cpufreq/temp cat /sys/devices/system/cpu/cpu1/cpufreq/temp ... # Coletar frequência cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq ... # Coletar tflops cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_tdp cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_tdp ... # Coletar capacidade da bateria cat /sys/class/power_supply/battery/capacity # Coletar carga da bateria cat /sys/class/power_supply/battery/charge_now # Coletar descarga da bateria cat /sys/class/power_supply/battery/discharge_now # Coletar resolução da câmera cat /sys/class/camera/0/parameters/resolution # Coletar fps da câmera cat /sys/class/camera/0/parameters/fps

Atualizar o servidor GraphQL com os dados coletados:

Coletar temperatura de cada núcleo

temperatures = [ float(temp.strip()) for temp in os.popen("cat /sys/devices/system/cpu/cpu0/cpufreq/temp").readlines() ]

Coletar frequência

frequencies = [ float(freq.strip()) for freq in os.popen("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq").readlines() ]

Coletar tflops

tflops = [ float(tdp.strip()) for tdp in os.popen("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_tdp").readlines() ]

Coletar capacidade da bateria

capacity = float(os.popen("cat /sys/class/power_supply/battery/capacity").readlines()[0].strip())

Coletar carga da bateria

charge = float(os.popen("cat /sys/class/power_supply/battery/charge_now").readlines()[0].strip())

Coletar descarga da bateria

discharge = float(os.popen("cat /sys/class/power_supply/battery/discharge_now").readlines()[0].strip())

Coletar resolução da câmera

resolution = float(os.popen("cat /sys/class/camera/0/parameters/resolution").readlines()[0].strip())

Coletar fps da câmera

fps = float(os.popen("cat /sys/class/camera/0/parameters/fps").readlines()[0].strip())

Atualizar o servidor GraphQL

graphql.schema.query.MotoG6.cpu.temperature = temperatures graphql.schema.query.MotoG6.cpu.frequency = frequencies graphql.schema.query.MotoG6.cpu.tflops = tflops graphql.schema.query.MotoG6.battery.capacity = capacity graphql.schema.query.MotoG6.battery.charge = charge graphql.schema.query.MotoG6.battery

Instalar o GraphQL em Termux:

apt install graphql

Criar um esquema GraphQL para o Moto G6:

cat << EOF > schema.graphql type MotoG6 { name: String! model: String! cpu: Cpu! battery: Battery! camera: Camera! } type Cpu { temperature: Float! frequency: Float! tflops: Float! } type Battery { capacity: Float! charge: Float! discharge: Float! } type Camera { resolution: Float! fps: Float! } EOF

Criar um servidor GraphQL que implemente o esquema:

python3 -m graphql.server schema.graphql

Coletar os dados do Moto G6 usando Termux:

Coletar temperatura de cada núcleo cat /sys/devices/system/cpu/cpu0/cpufreq/temp cat /sys/devices/system/cpu/cpu1/cpufreq/temp ... # Coletar frequência cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq ... # Coletar tflops cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_tdp cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_tdp ... # Coletar capacidade da bateria cat /sys/class/power_supply/battery/capacity # Coletar carga da bateria cat /sys/class/power_supply/battery/charge_now # Coletar descarga da bateria cat /sys/class/power_supply/battery/discharge_now # Coletar resolução da câmera cat /sys/class/camera/0/parameters/resolution # Coletar fps da câmera cat /sys/class/camera/0/parameters/fps

Atualizar o servidor GraphQL com os dados coletados:

Coletar temperatura de cada núcleo

temperatures = [ float(temp.strip()) for temp in os.popen("cat /sys/devices/system/cpu/cpu0/cpufreq/temp").readlines() ]

Coletar frequência

frequencies = [ float(freq.strip()) for freq in os.popen("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq").readlines() ]

Coletar tflops

tflops = [ float(tdp.strip()) for tdp in os.popen("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_tdp").readlines() ]

Coletar capacidade da bateria

capacity = float(os.popen("cat /sys/class/power_supply/battery/capacity").readlines()[0].strip())

Coletar carga da bateria

charge = float(os.popen("cat /sys/class/power_supply/battery/charge_now").readlines()[0].strip())

Coletar descarga da bateria

discharge = float(os.popen("cat /sys/class/power_supply/battery/discharge_now").readlines()[0].strip())

Coletar resolução da câmera

resolution = float(os.popen("cat /sys/class/camera/0/parameters/resolution").readlines()[0].strip())

Coletar fps da câmera

fps = float(os.popen("cat /sys/class/camera/0/parameters/fps").readlines()[0].strip())

Atualizar o servidor GraphQL

graphql.schema.query.MotoG6.cpu.temperature = temperatures graphql.schema.query.MotoG6.cpu.frequency = frequencies graphql.schema.query.MotoG6.cpu.tflops = tflops graphql.schema.query.MotoG6.battery.capacity = capacity graphql.schema.query.MotoG6.battery.charge = charge graphql.schema.query.MotoG6.battery