domingo, 26 de mayo de 2019

Lampara de Eemergencia

Con la crisis energética en Venezuela muchos nos vimos en la necesidad de resolver el problema de alguna manera, en mi caso lo resolví buscando un poco en Internet, y consiguiendo las materiales necesarios pude rehacer el experimento de un chico que luego de ver su diseño lo borró de la red, desconozco las razones pero en todo caso el mismo es funcional ya que he construido casi 20 de ellos y todos funcionan perfectamente.

Originalmente el diseño estaba realizado con una celda solar de 6v, con esta la lámpara se enciende de manera automática al caer la luz, es decir al llegar la noche, en mi caso lo hice con un cargador de celular de 5v que aunque igual alimenta el circuito de la misma manera que la celda solar me crea una pequeña desventaja ya que con la celda solar se enciende solo de noche y no esta  lámpara, ya que al irse la electricidad de día esta se enciende pudiendo agotar la batería hecho por el cual debe agregarse un switch de on/off y en este caso apagar manualmente la lámpara, en contraparte el diseño realizado con la celda solar se enciende automáticamente aunque haya electricidad, lo que significa que cada caso se adapta a cada necesidad o simplemente está diseñada como lámpara nocturna para un jardín, una calle, etc.

Materiales:

  1. Led de 3.4 - 3.6V
  2. Cargador de Celular 5V
  3. Relay SPDT 5V (de 5 pines)
  4. Bateria 18650 3.7V
  5. circuito controlador de carga TP4056  1 amp
  6. Switch on/off

Funcionamiento: Antes de explicar el armado debo ser muy responsable y aconsejar a los que vayan hacer este circuito con una batería de Lithium deben hacerlo con un circuito controlador de carga, aquellos que desconozcan el porque debo decirles que este tipo de baterías al ser cargadas sin supervisión (El TP4056 se encarga de revisar constantemente su nivel de carga y descarga) pueden encenderse en llamas y ocasionar incendios y quemaduras muy peligrosas, si lo desean hacer con baterías ácidas deben tener en cuenta que si les va a servir pero el tiempo en que el TP4056 cargue la batería puede durar días obviamente porque estas baterías suelen ser de mayor capacidad de almacenamiento y este controlador de carga es de sol 1amp.

Dicho esto, el procedimiento es sencillo, el circuito de cargador de celular se encarga de entregar 5V al TP4056, este a su vez carga la batería cuando no este en consumo, a su vez, la entrada de voltaje de 5v alimenta el Relay de 5V, este al recibir el voltaje de entrada (Que es cuando hay electricidad) mantiene bloqueada la alimentación de polo + al led, es decir no enciende el led mientras haya electricidad, ahora bien, cuando la electricidad suministrada por la compañía falle (Se va la luz), el Relay deja de funcionar y es cuando se activa el sentido de alimentación directa al led. Es un circuito muy sencillo y eficiente ya que vi varios donde usaban un transistor S9013 pero este es ineficiente ya que al haber ausencia de electricidad el led no ilumina lo necesario ya que este transistor consume aprox 1.2V según las pruebas que yo realizé. A continuación les dejo el circuito.




Resultado




Video de mi primera lampara, es un diseño en forma (exterior) distinto pero el circuito interno es exactamente igual.




Deseo les haya podido ayudar a quienes estén deseando resolver un poco este tema.








viernes, 23 de junio de 2017

Script en PHP para monitorear varios equipos

En mi trabajo era necesario verificar constantemente la conectividad de varios equipos de la red, en su mayorìa dispositivos inalàmbricos con el fin de conocer el estatus de cada uno de ellos, esta tarea se volvìa tediosa ya que el mètodo que usabamos era haciendo ping (muchos van a comentar que el ping es un tema de seguridad, etc, pero en una red interna definiendo las reglas adecuadamente se evitan cosas como el ping de la muerte, etc), muchas veces no recordaba cual era la ip a revisar, en vista de ello investigué un poco en la red, y estudiando un poco más el tema diseñé algo que quizás pueda servirles.

El código está hecho en PHP, puede ser usado en Linux o Windows (Al final detallo un ligero cambio en la funcion "hacerping" si vas a usarlo en Windows), se usa básicamente el comando ping para este script, obviamente debes tener permisos en tu servidor de php para poder hacerlo, las configuraciones están en la red y no es el tema, si desean ayuda puedo guiarlos, solo dejen el comentario. sin más preámbulos:

Pasos a Seguir:

1) Tener un servidor con servicios de Apache (O cualquier otro servidor Web, solo lo he probado con apache 2)

2) Librerías php5 para para Apache 2

3) Creen una carpeta para colocar el script, dentro de ella creas otra llamada imagenes, puedes revisar el código y colocar los archivos de imagenes que mas te gusten.

3) Código:
Solo debes colocar las direcciones ip a las que deseas hacer el monitoreo, en mi caso hay 12, las
agrupo en 2 bloques, en la parte superior los accesos a la red pública, y en la parte inferior los dispositivos locales. La ip de Internet es cualquier IP Pública que permita ping

// Inicio del Código
<?php
//Para Acceso a Internet y Equipos en la Sala de telematica
$ipinternet = "104.23.136.14";
$iprouter = "IP Del Router hacia Internet, es el equipo más extremo a la red";
$ipinformatica = "Ip que desees Evaluar";
$ipproxy = "Ip que desees Evaluar";
echo '<font size="18" face="Arial">';
echo '<font color="000000">';

//Para Monitoreo de los radio del Campus Universitario

$almaserver = "Ip que desees Evaluar";
$almacliente = "Ip que desees Evaluar";
$produccion = "Ip que desees Evaluar";
$pnfserver = "Ip que desees Evaluar";
$pnfcliente = "Ip que desees Evaluar";
$electricidadserver = "Ip que desees Evaluar";
$chuito = "Ip que desees Evaluar";
$agustin = "Ip que desees Evaluar";

function hacerPing($ip) {
$str = exec("ping -c 1 -w 1 $ip", $res, $ret);
    if ($ret == 0) {
        return true;
    }
    return false;
}

if (hacerPing($ipproxy)=== true) {
    $estatusproxy= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $estatusproxy= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}

if (hacerPing($ipinformatica)=== true) {
    $estatusgateway= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
$gateway=1;
} else {
$gateway=0;
$estatusinternet= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
$estatusrouter= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
    $estatusgateway= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}
if ($gateway==1)
{

if (hacerPing($iprouter)=== true) {
    $estatusrouter ="<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $estatusrouter= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}

if (hacerPing($ipinternet)=== true) {
    $estatusinternet= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $estatusinternet=  "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}
}

echo "
<table border='0>
<table style='width:800px; height: 125px;' border='1'>
<style>
table.roundedCorners {
  border: 1px solid DarkOrange;
  border-radius: 13px;
  border-spacing: 0;
  }
table.roundedCorners td,
table.roundedCorners th {
  border-bottom: 1px solid DarkOrange;
  padding: 3px;
  }
table.roundedCorners tr:last-child > td {
  border-bottom: none;
}
</style>
<table class='roundedCorners'>
<tbody>
<tr>
<td><b>Red de Monitoreo Red de Informatica</b></td>
</tr>
</tbody>
</table>
<tr></tr>

<table border='1>
<table style='width:800px; height: 125px;' border='1'>
<table class='roundedCorners'>
<tbody>
<tr>
<td style='width: 189px';><b>Descripcion&nbsp;</td>
<td style='width: 115px;'align='center'><b>Estatus</td>
<td style='width: 66px;'align='center'><b>Ref&nbsp;</b></td>
<td></td>
<td style='width: 189px';><b>Descripcion&nbsp;</td>
<td style='width: 115px;'align='center'><b>Estatus</td>
<td style='width: 66px;'align='center'><b>Ref&nbsp;</b></td>
</tr>

<tr>
<td style='width: 189px;'>&nbsp;Proxy de Inform&aacute;tica</td>
<td style='width: 115px;'align='center'>"; echo $estatusproxy; echo"</td>
<td style='width: 66px;' align='center' >"; echo "<img src='imagenes/proxy.jpg' 'width=60 height=60'>"; echo"</td>
<td></td>
<td style='width: 189px;'>&nbsp;Gateway de Informatica</td>
<td style='width: 115px;'align='center'>"; echo $estatusgateway; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/gateway2.jpg' 'width=49 height=49' >"; echo "</td>
</tr>
<tr>
<td style='width: 189px;'>&nbsp;Router de la Universidad</td>
<td style='width: 115px;'align='center'>"; echo $estatusrouter; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/router.jpg' 'width=60 height=60'>"; echo "</td>
<td> <font size='3' color='white'>-----------</td>
<td style='width: 189px;'>&nbsp;Acceso de CANTV</td>
<td style='width: 115px;'align='center'>"; echo $estatusinternet; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/internet.jpg' 'width=80 height=80'>"; echo "</td>
</tr>
</tbody>
</table>
";


if (hacerPing($almaserver)=== true) {
    $almaserver= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $almaserver= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}

if (hacerPing($almacliente)=== true) {
    $almacliente= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $almacliente= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}

if (hacerPing($produccion)=== true) {
    $produccion= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $produccion= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}

if (hacerPing($pnfserver)=== true) {
    $pnfserver= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $pnfserver= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}

if (hacerPing($pnfcliente)=== true) {
    $pnfcliente= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $pnfcliente= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}

if (hacerPing($electricidadserver)=== true) {
    $electricidadserver= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $electricidadserver= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}

if (hacerPing($chuito)=== true) {
    $chuito= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $chuito= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}

if (hacerPing($agustin)=== true) {
    $agustin= "<img src='imagenes/arriba.jpg' 'width=40 height=40'><br>";
} else {
    $agustin= "<img src='imagenes/abajo.jpg' 'width=40 height=40'><br>";
}


//
echo "
<style>
table.roundedCorners {
  border: 1px solid DarkOrange;
  border-radius: 13px;
  border-spacing: 0;
  }
table.roundedCorners td,
table.roundedCorners th {
  border-bottom: 1px solid DarkOrange;
  padding: 3px;
  }
table.roundedCorners tr:last-child > td {
  border-bottom: none;
}
</style>


<table border='0>
<table style='width:800px; height: 125px;' border='1' border: 1px solid orange;>
<table class='roundedCorners'>
<tbody>
</br>
<tr>
<td><b>Red de Monitoreo Nodos Wireless</b></td>
</tr>
</tbody>
</table>
<tr></tr>
<table border='1>
<table style='width:800px; height: 125px;' border='1'>
<table class='roundedCorners'>
<tbody>
<tr>
<td style='width: 189px';><b>Descripcion&nbsp;</td>
<td style='width: 115px;'align='center'><b>Estatus</td>
<td style='width: 66px;'align='center'><b>Ref&nbsp;</b></td>
<td></td>
<td style='width: 189px';><b>Descripcion&nbsp;</td>
<td style='width: 115px;'align='center'><b>Estatus</td>
<td style='width: 66px;'align='center'><b>Ref&nbsp;</b></td>
</tr>

<tr>
<td style='width: 189px;'>&nbsp;Alma Mater (Servidor)</td>
<td style='width: 115px;'align='center'>"; echo $almaserver; echo"</td>
<td style='width: 66px;' align='center' >"; echo "<img src='imagenes/radio-server.jpg' 'width=60 height=60'>"; echo"</td>
<td> <font size='3' color='white'>-----------</td>
<td style='width: 189px;'>&nbsp;Alma Mater (Cliente)</td>
<td style='width: 115px;'align='center'>"; echo $almacliente; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/radio-server.jpg' 'width=60 height=60' >"; echo "</td>
</tr>

<tr>
<td style='width: 189px;'>&nbsp;PNF (Server)</td>
<td style='width: 115px;'align='center'>"; echo $pnfserver; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/radio-server.jpg' 'width=60 height=60'>"; echo "</td>
<td> <font size='3' color='white'>-----------</td>
<td style='width: 189px;'>&nbsp;PNF (Cliente)</td>
<td style='width: 115px;'align='center'>"; echo $pnfcliente; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/pnfcliente.jpg' 'width=60 height=60'>"; echo "</td>
</tr>
<tr>
<td style='width: 189px;'>&nbsp;Electricidad (Server)</td>
<td style='width: 115px;'align='center'>"; echo $electricidadserver; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/radio-server.jpg' 'width=60 height=60'>"; echo "</td>
<td> <font size='3' color='white'>-----------</td>
<td style='width: 189px;'>&nbsp;Electricidad (Taller)</td>
<td style='width: 115px;'align='center'>"; echo $chuito; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/radio-server.jpg' 'width=60 height=60'>"; echo "</td>
</tr>
<tr>
<td style='width: 189px;'>&nbsp;Electricidad (Cubiculos)</td>
<td style='width: 115px;'align='center'>"; echo $agustin; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/radio-server.jpg' 'width=60 height=60'>"; echo "</td>
<td> <font size='3' color='white'>-----------</td>
<td style='width: 189px;'>&nbsp;Taller de Produccion la Sabana</td>
<td style='width: 115px;'align='center'>"; echo $produccion; echo"</td>
<td style='width: 66px;' align='center'>"; echo "<img src='imagenes/radio-server.jpg' 'width=60 height=60'>"; echo "</td>

</tr>
</tr>

</tbody>
</table>

";
/////

En el caso de que tu servicio web esté en un equipo con Windows, debes sustituir en la función  hacer ping en sus parámetros la opción "-c" por la opción "-n", es decir que quedaría así:




function hacerPing($ip) {
$str = exec("ping -n 1 -w 1000 $ip", $res, $ret);
    if ($ret == 0) {
        return true;
    } 
    return false;
}

Como (según percibo) el tiempo de respuesta del ping en Windows pareciera ser un poco más lento, modifico los parámetros para no obtener de buenas a primeras respuestas negativas, incrementando en 1000 la opción "w"que no es más que el tiempo de espera para dar respuesta en milisegundos.

Quizás piensen que el código es complejo y no es así, solo copien y peguen y sustituyan a las ip de ustedes, si son pocas la ip que necesitan monitorear solo eliminen las que no necesiten y editen las entradas en html para lo que necesitan, si eres muy novato en esto, deja solo las ip que te interesan y las otras las pones en blanco, es decir, borras las ip, algo asi como por ejemplo:
$almaserver = "";
$almacliente = "";
$produccion = "";
$pnfserver = "";
$pnfcliente = "";
$electricidadserver = "";
$chuito = "";
$agustin = "";

claro está que si lo hacen así van a ver algunos errores, en todo caso practica y corrige poco a poco.

Muestra real del código
Aquí pueden apreciar como 2 equipos estás desconectados posiblemente están apagados o hay algún error de enlace o de hardware en los radios, es tarea de verificarlos. pero de manera rápida y efectiva se puede visualizar el comportamiento de nuestros nodos de interconexión.

Si crean un archivo php (en mi caso se llama "estatus.php" sin la carpeta imagenes van a tener un resultado poco visual, los invito a que busquen imagenes que les agraden y las mencionan en los comentarios!!! Pero si les gusta esta imagenes pueden descargar las que usé y colocándola dentro de una carpeta llamada "imagenes":-)

Para los que se les complica un poco la cosa aqui les dejo el enlace https://goo.gl/rmaVR6 para que descarguen la carpeta con el código y las imágenes.

La fuente original de mi investigación proviene de: https://stackoverflow.com/questions/9841635/how-can-i-ping-a-server-port-with-php


Espero les guste.




jueves, 17 de marzo de 2016

Cruz con Leds

Saludos nuevamente, estuve buscando en algunos sitios y creo que tratar de hacer un circuito con 136 leds a una toma de 120volts me podia salir un poco costoso por el uso de los capacitores, en fin hice esto, hice 17 circuitos a 8 leds caa uno, utilizandouna resistencia de 360ohms y un transformador de 32Volts. Este proyecto ya lo culminé y creo que quedó aceptable, era un proyecto para mi esposa de una cruz para semana santa. pueden ver el link del resultado aqui. :






Espero les haya gustado.

lunes, 18 de marzo de 2013

FTA Intelsat 805 55.5° W con plato de 60 cms Banda KU spot para Norte de America del Sur


Saludos queridos amigos, les traigo varios tips para posicionar tu antena de 60 cms hacia el satélite Intelsat 805, como muchos de Uds. saben, este satélite en casi su totalidad tiene sus frecuencias en Banda C, pero tiene en Banda Ku frecuencias para señales de datos y un un spot esta banda para nuestra zona (Colombia y Venezuela en su mayoría) con el canal RCN TV, que según creo puede ser de interés para la mayoría de nosotros ya que aqui se transmiten varias películas y a las chicas además le presenta una gran cantidad de novelas actuales, así que me decidí a tratar de "cazarlo" con mi Ws-6906 localizándolo luego de varios minutos y ajustándolo para tener mayor señal.
Aqui les dejo algunos tips para su búsqueda:

1) Hazlo de noche que por lo general hay mejor señal y no te pones rojo como una teja por aguantar sol :-)
2) Pon el mastil de tu antena a 90° para garantizar una buena orientación
3) Si puedes, monta el TV y el receptor cerca de la antena para que no tengas que subir y bajar a cada rato para ver la calidad y fuerza de la señal a menos que tengas un equipo como el
SatLink WS-6906 o parecido.
4) Usa el TP  12652 V 2850 para no tener que estar haciendo blind scan constantemente.
5) Orienten su antena con estos datos:
   -Azimut: 145°
   -Elevación: 71°
6) LNB utilizado: Universal 1 salida 0.1 Db.
7) Ajusten bien su antena y disfruten!!!

Este canal es muy atractivo por su programación, ayer 17/03/2013 vi quien quiere ser millonario, y fuen bien divertido, les muestro algunas fotos de la antena de 60 cms y un vídeo que les grabé, que aunque no escuchen el audio se vé y escucha perfectamente (no le coloqué volúmen por no despertar a mi pequeño hijo) :-)


Vídeo demostrativo





domingo, 24 de febrero de 2013

FTA Tips para el VENESAT 1 (Satélite Simón Bolívar)


Luego de varios meses investigando y haciendo  pruebas, comenzé con la práctica y decidí la instalación del equipo y de las ahtenas que tenía a la mano, actualmente estoy conectado al 30°W (Hispasat plato de 60 cm) y al 78° (Vensesat 1) en Banda C especificamente al TP 3886 23000 ya que en el 4005 27000 solo obtengo señal de 17% (Según he investigado y otros han comentado, para este TP es necesario un plato de 1.8 mts). En este último satelite tarde un poco más a pesar de que la antena es de 1.2x1.3 mts, para aquellos que se les ha hecho difícil, les dejo algunos datos que les pueda servir (Aunque parezcan triviales a veces no les prestamos atención):


1) Hazlo de noche que por lo general hay mejor señal y no te pones rojo como una teja por aguantar sol :-)
2) Pon el mastil de tu antena a 90° para garantizar una buena orientación
3) Si puedes, monta el TV y el receptor cerca de la antena para que no tengas que subir y bajar a cada rato para ver la calidad y fuerza de la señal a menos que tengas un equipo como el SatLink WS-6906 o parecido.
4) Usa el TP  3886 V 23000 para no tener que estar haciendo blind scan constantemente, con este TP basta.
5) Orienten su antena con estos datos:
   -Azimut: 255°
   -Elevación: 73°
6) Orienta tu antena inicialmente en Banda KU, es más rapido, luego cambias el LNB a Banda C
7) El escalar cónico ponlo en 38 (la pieza azul fijala en el LNB Banda C en el nro 38)

Les comento que este es mi primer satelite en Banda C, pronto trataré con el NSS 806 a ver que tal porque de verdad este da mucho que desear no por su calidad sino por sus contenidos a menos que pueda agarrar el TP 4005, seguiré intentando.

Les dejo unas fotos para que te guies




 Minui UPS DC Prototipo de Mini UPS DC 5V/12V