“HashRat es una app utilizada para generar “hashes” utilizando diferentes algoritmos: md5, sha1, sha256, sha512, etc..”
Hashrat is a hash-generation utility that supports the md5, sha1, sha256, sha512, whirlpool, jh-224, jh256, jh-384 and jh-512 hash functions. Hashes can be output in octal, decimal, hexadecimal, uppercase hexadecimal or base64.
“Para utilizar esta interfaz gráfica es necesario tener instalado hashrat en nuestro SO. En Ubuntu y derivados se instala desde apt:”
sudo apt install hashrat
En esta actualización se han realizado muchos cambios:
Se ha optimizado bastante el código y el manejo de procesos.
Se han corregidos errores que fueron reportados.
Se agregaron funciones para copiar al portapapeles la salida del hash.
Se agregaron funciones para guardar en archivos de texto plano la salida del programa.
Se agrego función para buscar futuras actualizaciones del programa.
El objetivo de este pequeño proyecto es el de probar la librería Time (al final del post dejo el link a la misma).
Para ello se me ocurrió construir un pequeño reloj utilizando una rueda de 12 leds (NeoPixel) de 3 colores utilizando los mismos como referencia para las horas, minutos y segundos.
El color rojo marca las horas, el verde los minutos y el azul los segundos.
Si estas leyendo esto seguramente pienses que está faltando un elemento central, un módulo RTC (reloj de tiempo real), lo sé, no dispongo de uno en este momento. Por lo que nuestro “reloj” solo funcionará mientras esté conectado a la PC y hayamos configurado la hora, minutos y segundos en el código.
Apenas me haga de un módulo RTC, revisaré este proyecto, también me gustaría agregar un display lcd para mostrar la hora y fecha exactas.
Como se vé también en el diagrama, hay conectado un potenciómetro, el mismo permite variar el brillo de los leds e incluso apagarlos.
Para este proyecto usé un Arduino Nano, pero puede utilizarse cualquier otro.
El código muestra la fecha y hora por el monitor serial.
Las conexiones son las siguitenes:
Rueda LCD
PWR/VCC
5V
GND
GND
DI
PIN D3
Por recomendación de la página de NeoPixel hay conectado un condensador de 100uF en la alimentación de la rueda y una resistencia de 330 ohms entre el pin 3 y el pin DI. No sé con exactitud cual es la función de estos componentes en este contexto. La rueda de leds puede ser utilizada sin ellos, por lo menos así lo he visto en varias páginas web.
Para los que no conocen la aplicación cpufreq: la misma nos permite cambiar la velocidad del procesador dentro de los parámetros dentro de los que este funciona normalmente.
No es una aplicación para realizar overclocking.
Una de las opciones que más me gusta de este programa es la de poder cambiar los “governors” disponibles. Los mismos serían algo así como esquemas de potencia del CPU preconfigurados.
Reguladores disponibles:
Schedutil (Por defecto, ha estado incorporado desde el kernel 4.7 al kernel 4.18): Aprovecha los datos de utilización del planificador del núcleo en un intento de tomar mejores decisiones sobre el ajuste del estado de frecuencia / rendimiento del CPU.
Performance: El regulador de rendimiento esta empotrado en el núcleo y hace que las CPU funcionen a la máxima velocidad de reloj.
Ondemand: Incrementa/Decrementa dinámicamente la velocidad de reloj de la CPU en base la carga del sistema.
Conservative: Similar a ondemand, pero más conservador (los cambios de velocidad son más suaves)
Powersave: Hace funcionar al CPU a la velocidad mínima.
El GUI que hoy les presento permite configurar dichos governors (siempre y cuando esten soportados por el procesador) para la cantidad de núcleos que uds. elijan.
El GUI también muestra cuales son los governors soportados por el CPU.
Aclaración!: es necesario tener la aplicación cpufrequtils instalada para poder utilizar el GUI. Si no la tienen instalada:
En un post anterior publiqué una pequeña aplicación hecha en Gambas que recogía la temperatura del CPU y GPU y las enviaba a un Arduino Uno y esté, a su vez, las mostraba en un LCD de 16x2.
En esta ocasión se me ocurrió probar lo opuesto, recibir información desde sensores conectados al Arduino (aunque también se envían comandos desde la PC).
Tal como se ve en el video se trata de una aplicación que recibe información de sensores conectados a un Arduino (en este caso utilicé un Arduino Nano, pero se puede utilizar cualquiera). Los datos que recibe la aplicación son: temperatura, humedad (ambos recogidos a través de un sensor DHT11) y nivel de luz (recogido utilizando una fotorresistencia o LDR). También hay conectado al Arduino un relé que es controlado por la aplicación, el mismo enciende/apaga una lámpara, cuando es activado/desactivado.
El programa permite también la activación/desactivación automática del relé según la cantidad de luz que el usuario establezca como límite.
Un fotorresistor o fotorresistencia es un componente electrónico cuya resistencia se modifica, (normalmente disminuye) con el aumento de intensidad de luz incidente. (de Wikipedia) Para realizar mediciones de luz con mayor grado de precisión se utilizan otros componentes.
En un principio la conexión entre el Arduino y la PC la realicé a través de un cable USB. Pero luego me pareció más interesante que la misma se hiciera vía bluetooth para así no depender de la conexión física entre ambos. Para esto utilice un módulo bluetooth HC-06.
Esto último no es necesario, tanto el programa como el sketch de Arduino funcionan sin problema sin el módulo BT, comunicando el Arduino con la PC vía cable USB.
El único elemento que al que debemos prestar atención es al puerto de conexión que especificamos en la aplicación: Si la conexión se realiza vía USB, el puerto será algo así:
/dev/ttyUSB0 (“0” o el número que corresponda al puerto en uso)
En cambio, al utilizar el módulo bluetooth el puerto que usaremos será algo así:
/dev/rfcomm1 (“1” o el puerto serie disponible)
En cuanto al sketch en Arduino no hay que realizar ningún cambio se use o no un módulo BT, dado que en ambos casos el envío o recepción de datos se utiliza a través de Serial().
En mi caso alimenté al Arduino a través del Pin VIN con una fuente que proporciona 5V a ambos canales de la breadboard; pero puede alimentarse como se haría comúnmente, a través del puerto USB.
Un paso necesario si se utiliza el módulo BT es el de habilitarlo como Puerto Serie (Serial Port) tras emparejarlo con la PC. Esto es lo que habilitará la conexión vía /dev/rfcomm en la aplicación.
Las conexiones realizadas son tal y como se muestran en el esquema siguiente:
Componentes
Arduino
DHT11
Pin D4
Fotorresistencia
Pin A7
Relé
Pin D9
BT HC-06 - Pin RX
Pin TX
BT HC-06 - Pin TX
Pin RX
Todos los GND
GND
Todos los + o VCC
Línea de 5V
Espero les haya interesado este post! Si les gustó por favor dejen un comentario y difundan!
Como siempre les dejo el link al repositorio de Github en donde pueden descargar el código fuente de la aplicación junto con el instalador para Debian y derivados y sl sketch para Arduino.
En esta ocasión traigo una aplicación muy simple. Estuve buscando en internet alguna aplicación para controlar el brillo del LED de la placa de video (sé que esto puede hacerse sin problemas en Windows desde la aplicación de NVIDIA) pero no encontré nada parecido. Lo único que encontré fue referencias al comando:
nvidia-settings —assign GPULogoBrightness
A partir de esto me dispuse a crear una pequeña aplicación para encender y apagar la luz de la placa.
Como se ve en la foto me decidí finalmente por un slide para poder cambiar la intensidad del brillo (permitiendo apagar totalmente la luz si se le asigna el valor 0).
Una vez hecho esto, también agregue unos pequeños efectos… ¿por qué no?
No tengo muy en claro que placas aeptan este comando, en mi caso tengo una GeForce GTX 1050 Ti.
Como siempre dejo el link al repositorio de GitHub de donde pueden descargar el código fuente y el archivo .deb de instalación para debian y derivados.