viernes, 21 de febrero de 2020

mantener un programa en ejecucion

La idea es asegurarnos de que un programa se mantenga abierto y en caso de cerrarse, iniciarlo nuevamente.

Esto surge de la necesidad del sistema de escaneo y emisión de factura de tener una utilidad java siempre corriendo en una ventana de MS-DOS.
Esto en un equipo que esta a la mano de todo el mundo no siempre ocurre ya que esa ventana negra parece que llama la atención y alguien la cierra o esto ocurre por algún otro motivo que no se ni me interesa investigar.

La solución  fue la siguiente:

Mediante tasklist me fijo si esta corriendo java.exe y lo filtro con find.
confirmo el ERRORLEVEL y no esta corriendo entonces lo ejecuto en otra ventana usando START porque de otra manera se ejecuta todo en la misma ventana y en caso de cerrarla no hay watchdog...
espero 10 segundos con TIMEOUT /T 10 y repito desde el inicio con un GOTO.

Para que tampoco exista la posibilidad de cerrar la ventana en que corre este script lo voy a iniciar de manera oculta desde un VBS que se ejecuta al INICIO del sistema.

inicio.vbs
set objshell = createobject("wscript.shell") 
objshell.run "persiste.bat",vbhide 



persiste.bat
@ECHO OFF
:inicio
tasklist /fi "IMAGENAME eq java.exe" | find "java.exe"
If %ERRORLEVEL% NEQ 0 START cmd.exe java.exe
timeout /t 10
goto inicio

guardo los dos archivos en la carpeta donde esta el ejecutable y pongo un acceso directo a inicio.vbs en inicio




martes, 18 de junio de 2019

notificaciones push de equipo sin internet usando Cron

Recientemente me encontré con la necesidad curiosidad de encontrar un método simple para saber si un equipo al cual no tengo acceso y es fundamental para la empresa en la cual trabajo se encuentra sin internet.

 historia corta, este servidor se encarga de la facturación electronica y por mas que esta conectado a un ups, ocurre que si se corta la luz por mas tiempo del que soporta el UPS no hay ningún protocolo de apagado limpio del sistema.
  Por lo cual si esto ocurre durante la noche o en fines de semana nos encontramos en una situación de caos al día siguiente. La empresa que da el soporte (ir a reiniciar y corregir algún error en el sistema de archivos) demora en ser avisado y en responder.

Por que no voy yo? 
ya que la tengo tan clara. bueno estoy muy lejos y hace tiempo que no es mi tarea. Pero siempre esta bueno saber como solucionar un problema.

 La mejor forma de hacerlo que encontré fue usando un comando que había escuchado en linux pero no en DOS: Curl.

 mediante este comando pude hacer un POST a un servicio de IOT que ya vengo usando hace un tiempo con arduino y esp8266 : Thingspeak.com 

El comando seria:

curl --silent --request POST --header "X-THINGSPEAKAPIKEY: miapikey" --data "field1=100" "http://api.thingspeak.com/update"

 eso envía un valor a un canal de thingspeak, el valor no importa, es solo para que el sitio detecte actividad. En el mismo configure una acción que, si no hay actividad durante los ultimos 10 minutos me envía una notificación al celular mediante otro servicio "pushbullet".

 todo queda asi: 

 en el equipo a monitorizar se corre un bat con el siguiente contenido

:loop 
timeout /T 20 /nobreak
curl --silent --request POST --header "X-THINGSPEAKAPIKEY: miapikey" --data "field1=100" "http://api.thingspeak.com/update" 
timeout /T 20 /nobreak 
goto :loop



este es el canal usado https://thingspeak.com/channels/88440
Tambien se ven otros fields que uso para monitorizar el nivel de batería de algunos celulares mediante tasker pero eso sera para otro post.



esta es la configuración para detectar la inactividad y notificar a pushbullet.com

jueves, 1 de septiembre de 2016

Reloj Garmin Forerunner 610 con gps

Reloj Garmin Forerunner 610 con gps

después de haber sido reparado el vidrio a causa del accidente sufriodo anteriormente, 
parece que no quedo bien sellado y le entro agua en la piscina...


El desarme es muy sencillo, solo hay que tener el destornillador torx correcto



Hay que tener cuidado al desconectar los flex del display y del tactil ya que son muy cortos y delicados
para poder retirar la placa tambien hay que desoldar los contactos de la antena de ANT+

esa es la antena ya desoldada y retirada 



Despues de una total limpieza y secado tomo carga y por suerte inicio sin problemas


martes, 14 de junio de 2016

Fuente de poder ZXY6005

Hace poco compre y ya me llego de ebay la fuente regulada en corriente y tensión ZXY6005
ya voy a poner mas información pero por ahora les comparto el esquemático: https://www.dropbox.com/sh/jsz0kqfrem2krln/AADo3Re1dTk2epPVsz0qMH8Ka?dl=0

lunes, 25 de abril de 2016

cajitas janmeid (hand made).

Si, ya se que hoy en dia hay organizadores de plastico de todo tipo y color, muy practicos y economicos.




Pero la verdad, no son muy agradables.
Yo tengo un par con tornillos y con algunos componentes pero para tenerlos sobre la mesa a mano no me gustan.

 Por eso y porque ya tenia hecha una anteriormente, me dispuse a armar algunas "cajitas janmeid" (hand made).

 Para eso utilice maderas de descarte las cuales cepille, tanto para llevarlas al grosor deseado como para darles un mejor acabado.

El nuevo cepillo eléctrico Hyundai de mi hermano me vino al pelo:


Es una herramienta muy práctica que nos va a permitir usar casi cualquier madera que tengamos a mano sin importar el estado externo de la misma.

Siempre teniendo mucho cuidado de retirar todos los objetos metálicos que puedan tener ya que de lo contrario dañariamos las cuchillas de la herramienta.

Eso si, usen proteccion...

El cepillo hace un ruido muuuyyy fuerte y si lo usamos un rato largo terminamos sordos, así que si no tienen protección "profesional" al menos usen unos tapones para la piscina o unos auriculares "in ear" o de los grandes que cubren toda la oreja.



Después de tener las maderas prolijas y del grosor que queremos las cortamos.
Lamentablemente no documente todo ya que no pensé que fueran a quedar tan bonitas ni publicarlo pero seguramente en la próxima lo haga.

Una vez teniendo todas las partes simplemente las encole y las mantuve en posición usando tecnología de punta:
Bandas elásticas.


El resultado luego de curado el pegamento:

En esta imagen puede verse una de las cajas plásticas que voy a remplazar.





Falta una mano de lija.

Y como ya me veia mas adelante adivinando cual era la caja que buscaba, pensé en etiquetarlas. Que mejor para una caja de madera que FUEGO!!

Corte unas tiras de chapa de la carcasa de una unidad de CD que tenia para tirar:
La parte faltante al centro la use en otro proyecto.
Aqui corte algunas tiras de 1 centímetro por el largo disponible.


y con unas pinzas le di forma a los números




Estos los calentamos en la llama de la cocina al rojo y con la pinza los presionamos contra la madera en el lugar donde queremos dejar la marca.
Hay que tener mucho cuidado al manipular los números calientes y estar muy seguro del lugar donde queremos marcar ya que después es imposible eliminar un error.
Es recomendable marcar tanto las cajas como la tapa correspondiente ya que al ser hechos a mano y de manera individual el calce no es perfecto al intercambiarlas.






Ahora tengo seis cajitas hechas a mano para guardar componentes y esos tornillos que siempre me sobran.

viernes, 22 de abril de 2016

conversor bidireccional

Hace poco me llegaron amazon estos módulos adaptadores de nivel para usar con arduino etc.
Los pueden encontrar como :

XCSOURCE 5PCS IIC I2C Logic Level Converter Bi-Directional Module 5V to 3.3V TE291

http://www.amazon.com/gp/product/B0148BLZGE?ref_=pe_527950_33920290 7.99 USD


Tambien por 5 unidades:

JY-MCU 5V 3V IIC UART SPI Level 4-Way Converter Module Adapter

En ambos casos son los mismos, anteriormente había ordenado los de dealextreme (terrible diferencia de precio) y estaban retenidos en la aduana.  Cuando ordene los de amazon me entregaron los primeros sin razón... 

Muy prácticos por su pequeño tamaño ya que no agregan mucho a nuestro ya existente circuito o proyecto y su muy simple coneccionado.
Como se ve en la imagen solo requiere los dos voltages a adaptar, tierra, y ya tenemos disponibles cuatro canales bidireccionales.

En cuanto al tamaño:

Sin contar los pines ( en los míos los trae aparte sin soldar ) 
las medidas externas son  16x15 mm.
Tambien encontre el diagrama aunque no lo he comparado con los que tengo pero estoy seguro de que son todos copias del mismo diseño.
Algo mas es que también trabaja con 2.8 y 1.8! 
Solo basta alimentarlo con esos valores en los pines de 5 y 3 volts.
La corriente máxima nunca puede superar los 150m, ya inspeccionare su desempeño térmico como siempre y pondre los resultados aquí.



domingo, 17 de abril de 2016

lampara china

lampara led
Imagen termica de la placa de fuente + leds de una de mis lamparas led chinas.
Esta no tiene marca ni datos impresos, pero usando el medidor "kilawatt" me dio:
5.3 watts
241 volts
0.105 amperes
.20 factor

En la ultima foto se puede ver el texto de la placa que dice "qp-2835-16cyt 1b16c"
El 2835 es el tipo de led usado y 16 son la cantidad:
haciendo cuentas con esos datos tenemos que 16 leds * 0.2 W = son 3.2 W restado de la potencia medida realmente de 5.3 W tenemos que 5.3 - 3.2 = 2.1 W perdidos en la fuente capacitiva siempre y cuando los amigos de china realmente usen los leds que dicen. Pero por la temperatura mostrada por las dos resistencias de 100 ohms en paralelo (59 grados) en la imagen puede ser así.
si estas usando un celular esta parte no funciona correctamente. :(
solo placas
imagen termica