chujalt

Miembros
  • Contenido

    129
  • Registrado

  • Última Visita

  • Días Ganando

    6

chujalt ganó por última vez en Mayo 4

¡chujalt tuvo el contenido mejor valorado!

Sobre chujalt

  • Rango
    Miembro

Género

  • Género
    Hombre

Características del sistema

  • Distribución
    Ubuntu
  • Entorno gráfico
    KDE
  • Navegador Web
    Chromium
  • Entorno gráfico secundario
    Cinnamon
  • Navegador Web secundario
    Opera

Información de contacto

  • Página Web
    http://chujalt.com

Información personal

  • Lugar
    Alicante

Visitantes recientes en el perfil

467 visitas al perfil
  1. Conectar con ordenador windows

    Saludos. Para hacerlo al revés puedes hacerlo con Remina. Aquí te dejo un sitio donde lo explican: PULSA AQUI Saludos
  2. Conectar con ordenador windows

    Saludos. Para conectarte de windows a linux puedes instalarte en linux el programa xrdp. Después desde win le das a conectar a escritorio remoto, le pones la ip interna, te pide usuario y contraseña del usuario que quieres abrir y te abre una sesión. Saludos.
  3. ¿Cuando tienes el USB pinchado, al iniciar la bios te sale el USB en cuestión? Porque eso tiene pinta que no lo reconoce. Intenta formatearlo de nuevo e instalar el mint, también puedes probar meterlo en otro puerto USB. Saludos.
  4. Saludos. Si vamos a utilizar nuestro Arduino como un servidor de una página web tenemos que introducir el código de la página dentro del código de Arduino. Esto es, cada linea de código html debe ir dentro de: client.println("Aquí código html"); Esto se puede convertir en un trabajo muy cansado si la página es amplia y, además, si el código html tiene comillas doble tendremos que "escaparlas" con una barra invertida. Para los que trabajamos con linux he creado tres lineas de código bash que nos facilitan enormemente la tarea. Vamos a suponer que tenemos la siguiente página, la cual la llamamos 1.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Portal básico - aprenderaprogramar.com</title> </head> <body> <div id="page"> <div id="header"> Portal (Tutorial básico del programador web: HTML desde cero) - aprenderaprogramar.com </div> <!-- contenedor --> <br /> <br /> <br /> <div id="wrapper"> <!-- menu --> <div id="menu"> <div>Menú</div> <hr style="color:red; background-color:red; width:50%;" /> <ul> <li><a href="#">Portada</a></li> <li> <a href="http://www.aprenderaprogramar.com">aprenderaprogramar.com</a> </li> </ul> </div> <!-- fin menu --> <!-- cuerpo --> <div id="body"> <form method="get" action="accion.html"> Nombre: <input type="text" name="nombre" /><br /> Apellidos: <input type="text" name="apellidos" /><br /> Dirección: <input type="text" name="direccion" /><br /> Correo electrónico: <input type="text" name="correo" /><br /> Teléfono: <input type="text" name="telefono" /><br /> </form> </div> <!-- fin cuerpo --> </div> <!-- fin contenedor --> <br /> <br /> <br /> <div id="footer"> Copyright 2006-2012 aprenderaprogramar.com </div> </div> </body> </html> El script bash creará un archivo llamado 2.txt para nuestro código en Arduino. Las lineas bash a ejecutar una por una serían: sed -e 's/\"/\/"/g' 1.html > 2.txt sed -i "s|^|client.println(\"|g" 2.txt sed -i "s|$|\");|g" 2.txt y el resultado final listo para introducir en nuestro código para Arduino es: client.println("<!DOCTYPE html>"); client.println("<html>"); client.println("<head>"); client.println("<meta charset=/"utf-8/">"); client.println("<title>Portal básico - aprenderaprogramar.com</title>"); client.println("</head>"); client.println("<body>"); client.println("<div id=/"page/">"); client.println("<div id=/"header/">"); client.println("Portal (Tutorial básico del programador web: HTML desde cero) - aprenderaprogramar.com"); client.println("</div>"); client.println("<!-- contenedor -->"); client.println("<br />"); client.println("<br />"); client.println("<br />"); client.println("<div id=/"wrapper/">"); client.println("<!-- menu -->"); client.println("<div id=/"menu/">"); client.println("<div>Menú</div>"); client.println("<hr style=/"color:red; background-color:red; width:50%;/" />"); client.println("<ul>"); client.println("<li><a href=/"#/">Portada</a></li>"); client.println("<li>"); client.println("<a href=/"http://www.aprenderaprogramar.com/">aprenderaprogramar.com</a>"); client.println("</li>"); client.println("</ul>"); client.println("</div>"); client.println("<!-- fin menu -->"); client.println("<!-- cuerpo -->"); client.println("<div id=/"body/">"); client.println("<form method=/"get/" action=/"accion.html/">"); client.println("Nombre: <input type=/"text/" name=/"nombre/" /><br />"); client.println("Apellidos: <input type=/"text/" name=/"apellidos/" /><br />"); client.println("Dirección: <input type=/"text/" name=/"direccion/" /><br />"); client.println("Correo electrónico: <input type=/"text/" name=/"correo/" /><br />"); client.println("Teléfono: <input type=/"text/" name=/"telefono/" /><br />"); client.println("</form>"); client.println("</div>"); client.println("<!-- fin cuerpo -->"); client.println("</div>"); client.println("<!-- fin contenedor -->"); client.println("<br /> <br /> <br />"); client.println("<div id=/"footer/">"); client.println("Copyright 2006-2012 aprenderaprogramar.com"); client.println("</div>"); client.println("</div>"); client.println("</body>"); client.println("</html>"); Bueno, como veréis es fácil y puede ahorrarnos mucho trabajo. Saludos
  5. Saludos. El código del primer post es totalmente funcional. Se puede simplificar el script bash poniendo tan solo curl -d "value1=pepico" http://midominio.com/curl/index.php y en la página index.php cambiar esta linea $queryInsert = "INSERT INTO datos (nombre, ip) VALUES ('".$_POST['value1']."', '".$_POST['value2']."');"; por esta $queryInsert = "INSERT INTO datos (nombre, ip) VALUES ('".$_POST['value1']."', '".$_SERVER['REMOTE_ADDR']."');"; Otra cosa es que sólo vaya a haber un usuario, donde podrías quitar en la linea de bash "value1=pepico" y en el insert de la index.php eliminar el del usuario. Luego en el select tan solo tendrías que recuperar el último registro. Saludos.
  6. FELICIDADES Animo a los jefes a que se paguen unas rondas de cerveza
  7. Hue+ de NZXT

    Saludos.. Prueba con pip3 install sip Sacado de aquí: https://pypi.python.org/pypi/SIP/4.19.1
  8. Si, es una buena solución. Busca el último dato y si el campo ip coincide con la ip no hace nada y si no coincide hace el insert. Si va a ser un único usuario quedaría como pones, si van a ser varios en el select falta el WHERE nombre = '" . $_POST["value1"] . "' Saludos
  9. Saludos.... Me has dado una idea. Elegí el comando dig porque Curl a veces da fallos, se ve que la página donde apunta a veces está saturada y tarda mucho, hasta cortar la conexión como te ocurre a ti. Vamos a crear una página en el hosting llamada ip.php con el siguiente código, la cual irá dentro del directorio curl. ip.php <?php echo "{$_SERVER['REMOTE_ADDR']}"; ?> Ahora, en el script 1.sh cambiaremos la linea pepe=$(dig +short myip.opendns.com @resolver1.opendns.com) por pepe=$(curl tudominio.com/curl/ip.php) Claro, donde pone "tudominio.com" lo cambias por la dirección de tu hosting. Ahora ya no se dependerá de terceros y me imagino que irá mas rápido y sin fallos. A mi me ha funcionado. Ya me dirás. Saludos
  10. Saludos. Entonces cambia en el script bash la linea pepe=$(dig +short myip.opendns.com @resolver1.opendns.com) por pepe=$(curl ifconfig.me/ip) Ya me dice si te funcina Saludos
  11. Es raro... A ver si no tienes instalado dig, aunque a mi, yo uso Ubuntu, me venía por defecto. sudo apt-get install dnsutils A ver si así te funciona. Si no., prueba con curl. Abre un terminal y teclea curl ifconfig.me/ip A ver si te sale tu ip. A mi los dos métodos me funcionan, lo que pasa es que me decidí por dig porque es mas rápido, unos segundos. Saludos
  12. Si, el servicio de hosting nos servirá porque este si que tiene un ip fija, con nombre de dominio, además de poder albergar las páginas y la base de datos. Me alegro que te haya gustado
  13. Saludos amigos. Si tenemos un servidor montado en casa y nuestro proveedor de internet no nos facilita una IP fija tendremos la necesidad de saber en todo momento nuestra IP pública. Vamos a montar un servicio tipo no-ip o DynDNS. El servicio consta de dos partes, una en nuestro ordenador y por otra parte necesitaremos un servidor de internet, por ejemplo, si no tenemos un servicio de hosting, https://www.hostinger.es/ , nos ofrece de forma gratuita todo lo que necesitamos, 2 GB de almacenamiento, php y bases de datos MySQL. EN NUESTRO ORDENADOR Tengo que aclarar que lo que explico a continuación lo he hecho bajo un sistema linux. En primer lugar crearemos un directorio en el servidor de nuestro pc, yo lo he llamado curl, la ruta sería /var/www/html/curl. Abrimos nuestro editor de texto favorito y escribimos #!/bin/bash pepe=$(dig +short myip.opendns.com @resolver1.opendns.com) curl -d "value1=pepico&value2=$pepe" http://midominio.com/curl/index.php Lo guardamos con el nombre 1.sh, por ejemplo, y le damos permisos de ejecución. En la última linea cambiar midominio.com por el de nuestro servidor de hosting, también, donde vemos value1=pepico. cambiamos el nombre por el que queramos. Este script lo que hace averiguar nuestra ip pública y enviarla, junto a un nombre de usuario a nuestra página index.php del servidor de hosting mediante el método post. Ahora vamos a editar crontab para que nuestro script se ejecute cada dos horas. Abrimos un terminal y escribimos sudo gedit /etc/crontab y en crontab añadimos esta línea 0 */2 * * * root /var/www/html/curl/1.sh guardamos y cerramos. Como hemos dicho, ésto hará que nuestro script se ejecute cada dos horas. Ya hemos terminado en nuestro PC, ahora iremos a nuestro servidor de hosting. EN NUESTRO SERVIDOR DE HOSTING Deberemos crear una base de datos MySQL con nombre curl, con una tabla llamada datos y 4 columnas, id (int, primary key, auto_increment), nombre (varchar 50), ip (varchar 50) y fecha (timestamp, CURRENT_TIMESTAMP). Ahora vamos a crear la página index que recogerá los datos que le hemos enviado antes por el script bash y los introducirá en nuestra base de datos. Paso previo es crear también una página conex. conex.php <?php // hostname o ip del servidor de Base Datos $bd_host='localhost'; // nombre de usuario $bd_usuario='usuario'; // la contraseña para la BBDD $bd_password='contraseña'; // nombre del BBDD $bd_base='curl'; $conexion = new mysqli($bd_host, $bd_usuario, $bd_password, $bd_base); if ($conexion->connect_errno) { echo "No se pudo conectar a la Base Datos: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } ?> index.php <?php include("conex.php"); if($_POST) { $queryInsert = "INSERT INTO datos (nombre, ip) VALUES ('".$_POST['value1']."', '".$_POST['value2']."');"; $resultInsert = mysqli_query($conexion, $queryInsert); if($resultInsert) { echo "<strong>Se ingresaron los registros con exito</strong>. <br>"; } else { echo "No se ingresaron los registros. <br>"; } } ?> Con esto ya tenemos nuestra última ip metida en la base de datos. Ahora vamos a crear dos sencillas páginas para saber cual es nuestra actual ip pública de nuestro PC, buscar.php y encontrado.php. buscar.php <html> <head> <title>Entrada de enlaces</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> </head> <body> <form action="encontrado.php" method="post"> Nombre:<br> <input type="text" name="nombre"><br><br> <input type="submit" value="Submit"> </form> </body> </html> Nos mostrará un sencillo formulario donde debemos poner nuestro nombre de usuario que está en el script bash. encontrado.php <html> <head> <title>Entrada de enlaces</title> <meta charset="UTF-8"> </head> <body> <?php include("conex.php"); $consulta = "SELECT nombre, ip, DATE_FORMAT(fecha, 'Con fecha: %d/%m/%y y hora: %H:%i:%s') AS fecha FROM datos WHERE nombre = '" . $_POST["nombre"] . "' ORDER BY id DESC LIMIT 1"; $resultado = $conexion -> query($consulta); echo "<span style='color: blue;'>Extracción de último dato ...</span> <br><br>"; while($fila = $resultado -> fetch_array()) { echo "Usuario: " . $fila["nombre"] . "<br>"; echo "Última IP asignada: " . $fila["ip"] . "<br>"; echo "" . $fila["fecha"] . "<br><hr>"; } mysqli_free_result($resultado); mysqli_close($conexion); ?> </body> </html> Nos mostrará la última ip pública que tenemos asignada y a que fecha y hora se captó. Extracción de último dato ... Usuario: pepico Última IP asignada: 11.111.11.111 Con fecha: 29/04/17 y hora: 18:00:02 Todo esto está bien, pero queremos algo mas, no tener que ir a un formulario para saber nuestra ip, lo que queremos es poner en el navegador una dirección y que nos redireccione a nuestro servidor local, una dirección tipo "midominio.com/pepico". Recordad que pepico era nuestro usuario con el que se guardaban las ip de nuestro servidor local. Bien, como al poner esa dirección en el navegador, el directorio pepico no existe, el servidor nos enviará un error 404, página no encontrada. Vamos a crear una página de error 404 tuneada por nosotros. Antes de nada vamos a tener que tocar el archivo .htaccess para que cuando se de el error 404 nos muestre nuestra página 404. Abrimos el archivo .htaccess y añadimos la linea ErrorDocument 404 /404.php Con esto le decimos que cuando se produzca el error 404 nos muestre la página 404.php. Ahora vamos a crear la página 404.php, que a continuación diré lo que hace. 404.php <html> <head> <title>Entrada de enlaces</title> <meta charset="UTF-8"> <script language="JavaScript"> function enviar() { document.form.submit(); } </script> </head> <body onload="enviar()"> <?php $url = "{$_SERVER['REQUEST_URI']}"; $resultado = str_replace("/", "", $url); ?> <form method="POST" action="curl/redireccionar.php" name="form"> <p><input type="text" value="<?php echo $resultado; ?>" name="nombre"></p> <p><input type="submit" value="Enviar" name="B1"></p> </form> </body> </html> Esta página lo que hace es eliminar de la dirección web todo lo que vaya antes de la barra "/", en nuestro caso quedaría pepico y lo envía directamente a otra página que luego vamos a crear, redireccionar.php, la cual estará dentro del directorio curl. redireccionar.php <html> <head> <title>Entrada de enlaces</title> <meta charset="ISO-8859-1" /> </head> <body> <?php include("conex.php"); $consulta = "SELECT nombre, ip, DATE_FORMAT(fecha, 'Con fecha: %d/%m/%y y hora: %H:%i:%s') AS fecha FROM datos WHERE nombre = '" . $_POST["nombre"] . "' ORDER BY id DESC LIMIT 1"; $resultado = $conexion -> query($consulta); if ($fila = $resultado -> fetch_array()) { echo "<script language=\"javascript\">window.location.href=\"http://" . $fila["ip"] . "\";</script>"; } else { echo "NO encontrado"; } mysqli_free_result($resultado); mysqli_close($conexion); ?> </body> </html> Esta página lo que hace es buscar en la base de datos la última ip registrada del usuario que queremos, en este caso pepico, y nos redirecciona directamente a esa ip. Si ese usuario no existe o nos equivocamos al escribir la dirección, la página actuará como una página 404 y nos mostrará un mensaje de "no encontrada". Todo el proceso, desde que pones la dirección en el navegador hasta que te redirecciona a la ip de tu servidor local es limpio y automático. Bueno, espero que le sirva a alguien de ayuda. Saludos.
  14. Saludos, perdona mi tardanza en responderte. Aunque el relé pone que funciona a 5V yo lo conecto al pin 3V del Nodemcu y funciona bien, hace su cometido. Por lo que yo tengo entendido, el pin Vin es solo para alimentar la placa, no para sacar corriente de él. Con la placa Nodemcu no lo he hecho, pero he alimentado otras (Arduino, arduino micro) por un power bank (que creo que es a lo que te refieres) y no ha habido problemas. Saludos
  15. Nooo.... Java y Javascript se parecen en el nombre. Javascript es un lenguaje interpretado y Java compilado.