Buscar en La Comunidad

Mostrando resultados por etiquetas 'wifi'.

  • Buscar Por Etiquetas

    Añade etiquetas separadas por comas.
  • Buscar Por Autor

Tipo de Contenido


Foros

  • Contacto con el staff
    • Novedades / Anuncios del foro
    • Sugerencias
    • Problemas relacionados con el foro
  • Zona general de charla
    • Presentaciones
    • Charla
    • Zona de Humor, Curiosidades y Otros
    • Mascotas Vagos
    • Noticias del Mundo
    • Tecnología
    • Ayuda y consultas de carácter general
  • Zona GNU/Linux
    • Ayuda, consultas y soporte GNU/Linux
    • Distribuciones GNU/Linux
    • Repositorios. Software GNU/Linux
    • Personalización
    • Raspberry Pi
    • Arduino
    • Manuales / Tutoriales / Guías GNU/Linux
    • Programación
    • Noticias GNU/Linux
    • Hablando de GNU/Linux
  • Zona Gaming
    • Juegos GNU/Linux
    • Noticias Gamer
    • Charla Gamer
  • Zona Móvil
    • Ayuda y soporte para dispositivos móviles
    • Apps Móviles
    • Manuales / Tutoriales / Guías Móviles
    • Roms para dispositivos Móviles
    • Noticias sobre dispositivos Móviles
    • Hablando sobre dispositivos Móviles
  • Zona Mozilla
    • Ayuda, consultas y soporte Mozilla
    • Aplicaciones Mozilla
    • Roms Firefox OS
    • Manuales / Tutoriales / Guías Mozilla
    • Noticias Mozilla
    • Hablando de Mozilla
  • Microsoft
    • Papelera del Foro

Calendario

  • Community Calendar

Grupo


Página Web


Diaspora


Pump


GNU Social


Google +


Twitter


Facebook


Xmpp


Skype


Steam


Desura


MediaGoblin


Youtube


Vimeo


Picasa


Flickr


Email


Lugar


Intereses

Encontramos 30 resultados

  1. Problemas wifi ubuntu 16.04

    Hola gente que tal, soy muy nuevo en el mundo Linux y me anime a probar ubuntu 16.04, pero mi problema es que cuando fui a instalar ubuntu 16.04 junto a windows 7, ingrese la clave de mi red wifi en la instalación, y me sorprendi al ver que no me dejaba activar la opcion de descargar actualizaciones porque "no había internet", no le preste mucha atención, instale normal pero ahora cuando intento navegar en internet me dice que no hay internet pero si estoy conectado, tengo que desactivar y volver a activar el wifi en la laptop para poder usarlo, en mi otra laptop con w7 el wifi va de maravillas, y en mi teléfono también, que sera?
  2. Saludos compañeros Ya desde hace tiempo que he tratado con algunas distros de linux y me funciona todo correctamente pero el unico que detalle que llego a tener es la señal de wifi ya que la recibe muy baja nos pasa del 75% u 80% y regularmente se me cuelgan las paginas , cosa que cuando estoy en windows no me pasa. ¿Que me recomiendan hacer? ¿Que instalo y que desinstalo? ¿Esto es normal y ya no se puede hacer algo? nota: Utilizo wicd como gestor de redes y aun asi se me cuelgan las paginas cuando navego. He intentado instalar compat-wireless 2.6 pero me da errores . Mi laptop es una Toshiba Satellite L35 y la tarjeta de red es una Atheros AR5005G. Las distribuciones que he utilizado son Xubuntu, Lubuntu, Manjaro y Linux MInt Mate en todas me da el mismo detalle. necesito su ayuda ya que me gusta como funciona el sistema en mi lap y quiero seguir utilizadolo pero si quiero hacer una consulta o algo no puedo por ese pequeño detalle. gracias por su atención compañeros linuxeros
  3. Buenas noches. Llevo varios días trajinando con un PC de bajas prestaciones, por señalar: BIOS Information Vendor: American Megatrends Inc. Version: 07.00T Release Date: 04/02/01 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 256 kB USB 1.1 Aquí la salida completa del dmidecode http://paste2.org/Zzt7kOat Aquí otro problema, el Xorg http://paste2.org/PkHe4sAA Mi solicitud de ayuda se refiere a que no he podido desde mis posibilidades: Actualiizar la BIOS. Hacer un xorg.conf que me permita una resolución de 1024x768 Aquí info sobre la cpu y el log de Xorg http://paste2.org/ne5XKn09 Utilizo paste2.org para evitar un post super largo. Si hace falta más información puedo subirla. De antemano GRACIAS a quienes puedan colaborar en la solución. Un saludo JPablos Edito: Linux Mint 18 escritorio Mate, tenía WiFi y ahora luego de trajinar con los módulos para el monitor ya no (no wirelessextensions). El monitor es un Hyundai ImageQuest v560 (una reliquia --en su acepción 4--)
  4. Buenos días. Últimamente he estado teniendo problemas con el WiFi en mi PC, cuando enciendo el PC con Xubuntu me doy cuenta de que mi PC no se conecta a ninguna Red Inalambrica y no aparece ninguna, he usado varios trucos para que funcione pero siempre cambia y a veces no funcionan, trucos como apagar y volver a encender la tarjeta de red; apagar la tarjeta de red, luego suspender el PC, volverlo a encender y volver a encender la tarjeta, conectarme a mi WiFi usando el comando "nmcli dev wifi con "ssid" password "contraseña"; reiniciar el PC; reiniciar el servicio network-manager; matar el proceso de nm-applet y volverlo a iniciar; combinar varias de los trucos. Después de tanto fastidio decidí instalar Ubuntu, al principio parecía que iba bien, pero luego de un reinicio para actualizar volvió el problema, al final descubrí que la causa fue el kernel, no se exactamente en que versión de Linux empezó a molestar, pero en la versión 4.4.0-31 funciona bien, mientras que en la 4.4.0-38 no. También vi que el problema sucedía en la 4.4.22, aunque no se si en versiones posteriores a la 4.4 el fallo continua o esta arreglado. Tengo instalado Ubuntu 16.04.1, mi computadora es una HP Mini 100e y la tarjeta inalámbrica es una Realtek RTL8191SE. De antemano agradezco la ayuda.
  5. Saludos.... En esta ocasión vamos a realizar un sistema para controlar desde una página web el color que mostrará un led rgb. Para ello necesitaremos dos tipos de código, el de la página web y el del Nodemcu (que al estar hecho para cargar con la Arduino IDE también sirve para Arduino). Materiales utilizados Una placa Nodemcu (yo he utilizado la V2). 4 Cables dupont. Un led rgb Keyes Conexiones Pin GND del Nodemcu al pin V/G del led rgb. Pin D1 del Nodemcu al pin R del led rgb. Pin D2 del Nodemcu al pin G del led rgb. Pin D3 del Nodemcu al pin B del led rgb. Código página Web: <!DOCTYPE html> <html lang="es"><head> <meta charset="utf-8"> <title>Tabla colores</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style> table { width: 50%; height: 200px; text-align: left; margin-left: auto; margin-right: auto; } .link a{ display:block; height:100%; } </style> </head><body><br> <div style="text-align: center;"> <h4><big><big>TABLA DE COLORES</big></big></h4> <br> </div> <table border="1" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="vertical-align: top; background-color: rgb(255,255,255);" class="link"><a href="http://192.168.1.222/color=255255255"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(153,153,153);" class="link"><a href="http://192.168.1.222/color=153153153"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(0,0,0);" class="link"><a href="http://192.168.1.222/color=000000000"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(255,0,0);" class="link"><a href="http://192.168.1.222/color=255000000"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(102,0,0);" class="link"><a href="http://192.168.1.222/color=102000000"> </a><br> </td> </tr> <tr> <td style="vertical-align: top; background-color: rgb(255,153,0);" class="link"><a href="http://192.168.1.222/color=255153000"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(153,51,0);" class="link"><a href="http://192.168.1.222/color=153051000"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(255,204,102);" class="link"><a href="http://192.168.1.222/color=255204102"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(153,102,51);" class="link"><a href="http://192.168.1.222/color=153102051"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(255,255,0);" class="link"><a href="http://192.168.1.222/color=255255000"> </a><br> </td> </tr> <tr> <td style="vertical-align: top; background-color: rgb(102,102,0);" class="link"><a href="http://192.168.1.222/color=102102000"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(51,255,51);" class="link"><a href="http://192.168.1.222/color=051255051"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(0,102,0);" class="link"><a href="http://192.168.1.222/color=000102000"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(102,204,204);" class="link"><a href="http://192.168.1.222/color=102204204"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(51,102,102);" class="link"><a href="http://192.168.1.222/color=051102102"> </a><br> </td> </tr> <tr> <td style="vertical-align: top; background-color: rgb(51,102,255);" class="link"><a href="http://192.168.1.222/color=051102255"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(0,0,153);" class="link"><a href="http://192.168.1.222/color=000000153"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(255,153,255);" class="link"><a href="http://192.168.1.222/color=255153255"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(204,51,204);" class="link"><a href="http://192.168.1.222/color=204051204"> </a><br> </td> <td style="vertical-align: top; background-color: rgb(102,51,102);" class="link"><a href="http://192.168.1.222/color=102051102"> </a><br> </td> </tr> </tbody> </table> <br> <br> </body></html> Este código lo que nos muestra es una página web sencilla con una tabla de unos cuantos colores, que enlaza con la dirección ip que le daremos al Nodemcu. Código Arduino: #include <ESP8266WiFi.h> const char* ssid = "Tu_red"; const char* password = "Tu_Contraseña"; IPAddress ip(192,168,1,222); IPAddress gateway(192,168,1,1); IPAddress subnet(255,255,255,0); int pinLedR = D1; int pinLedV = D2; int pinLedA = D3; WiFiServer server(80); void setup() { Serial.begin(115200); delay(10); pinMode(pinLedR, OUTPUT); pinMode(pinLedV, OUTPUT); pinMode(pinLedA, OUTPUT); WiFi.begin(ssid, password); WiFi.config(ip, gateway, subnet); server.begin(); } String f = ""; void loop() { WiFiClient client = server.available(); if (!client) { return; } Serial.println("new client"); while(!client.available()){ delay(1); } String request = client.readStringUntil('\r'); client.flush(); char i1 = request.indexOf("GET /color="), i2; if (i1 != -1) i2 = request.indexOf(" ", i1+11); f = request.substring(i1+11, i2); String pepe = f.substring(0,2); String juan = f.substring(3,5); String pedro = f.substring(6,8); analogWrite(pinLedR, pepe.toInt()); analogWrite(pinLedV, juan.toInt()); analogWrite(pinLedA, pedro.toInt()); client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.print("<body onload='history.back();'>\n"); client.println("</body>"); client.println("</html>"); delay(1); } El código lo que hace en primer lugar es recibir todos los datos de red y asignarle una ip fija al Nodemcu (en este caso la 192.168.1.222). Luego le asignamos los pines al led y los iniciamos como salida. Luego inicia la comunicación wifi y recibe los datos del enlace que pulsemos en la página, esos datos son los valores para que muestre un color u otro. Por último desde el Nodemcu enviamos una pequeña página con un javascript para que el navegador vuelva a mostrar la tabla de colores. Bueno... espero que le sirva a alguien..... Saludos
  6. Saludos... Os voy a mostrar como encender y apagar un led vía wifi desde una página web en un navegador (desde el pc, tablet o móvil) Materiales utilizados Una placa Arduino (yo he utilizado la Uno). 4 Cables dupont. Un led color rojo. Un módulo wifi HLK-RM04. Conexiones Pin Rx del módulo al pin Tx de arduino Pin Tx del módulo al pin Rx de arduino Pin 5V del módulo al pin 5V de arduino Pin GND del módulo al pin GND de arduino Polo positivo del led al pin 13 de arduino Polo negativo del led a GND de arduino Lo que vamos a necesitar son dos clases de código. Por una parte una página web que estará en internet en la que tendremos la orden de encender o apagar el led y el código para la placa arduino que recibirá la orden de encender o apagar el led y le mandará unas instrucciones al navegador. Código página web: <!DOCTYPE html> <html> <head> <title>jQuery Mobile Form</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css"> <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script> </head> <body> <div data-role="page"> <div data-role="main" class="ui-content"> <form onsubmit="return enviar(this)" method="get" action="http://192.168.1.254:8080/blink" data-ajax="false"> <fieldset data-role="controlgroup"> <legend>Interruptor:</legend> <label for="encender">Encender</label> <input type="radio" name="f" id="encender" value="1"> <label for="apagar">Apagar</label> <input type="radio" name="f" id="apagar" value="2"> </fieldset> <input type="submit" data-inline="true" value="Ejecutar" data-theme="b"> </form> </div> </div> </body> </html> Este código lo que hace es crear un formulario con dos opciones, encendido o apagado y lo envía, por el método get, a la dirección de nuestro módulo HLK-RM04. Código para la placa Arduino: const int ledPin = 13; void setup() { Serial.begin(57600); pinMode(ledPin, OUTPUT); } int f = 0; void loop() { boolean has_request = false; String in = ""; if (Serial.available()) { in = ""; while (true) { // should add time out here while (Serial.available() == false) {} in += (char)(Serial.read()); if (in.endsWith("\r\n\r\n")) { has_request = true; break; } } } if (has_request) { int i1 = in.indexOf("GET /blink?f="), i2; if (i1 != -1) { i2 = in.indexOf(" ", i1+13); f = in.substring(i1+13, i2).toInt(); } Serial.println("HTTP/1.1 200 OK"); Serial.println("Content-Type: text/html"); Serial.println("Connection: close"); // the connection will be closed after completion of the response String sr = "<!DOCTYPE HTML>\n"; sr += "<html>\n"; sr += "<body onload='history.back();'>\n"; sr += "</body>"; sr += "</html>"; Serial.print("Content-Length: "); Serial.print(sr.length()); Serial.print("\r\n\r\n"); Serial.print(sr); has_request = false; } switch (f){ case 1: digitalWrite(ledPin, HIGH); break; case 2: digitalWrite(ledPin, LOW); break; f=0; } } Este script lo que hace,entre otras cosas, es inicializar una variable, cuyo valor lo recibe vía wifi, si el valor es 1 enciende el led, si el valor el 2 lo apaga. Además envía una instrucción javascript al navegador para que vuelva a mostrar el interruptor. Como veréis, cambiando sólo un poco el código se puede hacer para que en vez de encender un led active un relé, por ejemplo, y de esta manera activar cualquier dispositivo que esté conectado a la red eléctrica y todo ello desde un móvil o tablet y cualquier parte del mundo porque funciona vía web.
  7. Me han propuesto un proyecto para trastear con redes y a la vez colaborar con un pequeño montaje artístico que se va a realizar en mi barrio. Este proyecto consiste en crear un área en una calle, en el que haya cobertura con una red wifi para un mínimo de 100 conexiones, que a su vez puedan conectar con internet. La idea general en desarrollo es una antena de media/larga distancia que será un nodo de conexión con la red de Guifi.net, que nos puede proporcionar acceso a internet. Hay una serie de antenas especificadas, que sirven para tal función, que incluyen su software de control. Para el wifi en la calle he pensado en una antena wifi de exterior, con un alcance de unos 400 metros, tipo Alpha, que se puede conectar a través de puerto usb. Había pensado que para hacer de puente y controlar un poco el tráfico entre ambas partes podría usar un dispositivo como una raspberry al cual conectar ambas antenas, pero desconozco totalmente este tipo de juguetes y no se si podría ser posible. Necesitaría algunos consejos,como si es posible conectarle 2 tarjetas de red y gestionarlo, porque ando un poco perdido y en 30 días debería de poder tenerlo en marcha..... Gracias de antemano.
  8. Saludos. Os voy a mostrar como mandar mensajes (strings) a una placa arduino vía wifi desde un PC, tablet o smartphone. Materiales utilizados: Una placa Arduino (yo he utilizado la Uno) Un módulo wifi HLK-RM04 Una pantalla lcd I2C 16X2 8 cables dupont Conexiones: Pin RX del módulo HLK-RM04 a pin TX de Arduino. Pin TX del módulo HLK-RM04 a pin RX de Arduino. Pin 5V del módulo HLK-RM04 a pin 5V de Arduino. Pin GND del módulo HLK-RM04 a pin GND de Arduino. Pin SDA del lcd a pin A4 de Arduino. Pin CSL del lcd a pin A5 de Arduino. Pin VCC del lcd a pin 5V de Arduino. Pin GND del lcd a pin GND de Aruino. Software necesario: Una página web para mandar el mensaje. El código para la placa Arduino. Código para página web: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>mandar Mensaje</title> </head> <body> <p align="center"> <font size="8"> </p> <form name="input" action="http://192.168.1.254:8080/mensaje" method="get"> Introduce texto: <input type="text" name="f"> <input type="submit" value="Submit"> </form> </body> </html> Como veis el código es muy simple, tiene sólo lo indispensable para que funcione. Lo importante es el action del formulario, que apunta a la dirección ip del módulo HLK-RM04 por el puerto 8080 y a una página llamada mensaje, que en realidad no existe pero lo recogerá nuestra placa Arduino y el method, que tiene que ser get, esto es que mandará el mensaje a través de la url. También en el campo de texto, que lo llamamos f para que recoja la variable y envíe el mensaje a través de ésta a nuestra placa. Código para la Arduino: #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); void setup() { Serial.begin(57600); lcd.begin(16,2); lcd.backlight(); } String f = ""; void loop() { boolean has_request = false; String in = ""; if (Serial.available()) { in = ""; while (true) { while (Serial.available() == false) {} in += (char)(Serial.read()); if (in.endsWith("\r\n\r\n")) { has_request = true; break; } } } if (has_request) { char i1 = in.indexOf("GET /mensaje?f="), i2; if (i1 != -1) { i2 = in.indexOf(" ", i1+15); f = in.substring(i1+15, i2); } Serial.println("HTTP/1.1 200 OK"); Serial.println("Content-Type: text/html"); Serial.println("Connection: close"); String sr = "<!DOCTYPE HTML>\n"; sr += "<html>\n"; sr += "<body onload='history.back();'>\n"; sr += "</body>"; sr += "</html>"; Serial.print("Content-Length: "); Serial.print(sr.length()); Serial.print("\r\n\r\n"); Serial.print(sr); has_request = false; lcd.clear(); f.replace("+", " "); lcd.print(f); } } Este código básicamente lo que hacer es, primero cargar las librerías necesarias, iniciar la comunicación de arduino con el módulo wifi e iniciar la pantalla lcd, recoger el valor de la variable (mensaje) que le hemos enviado, enviar una página web muy básica para que el navegador vuelva a la página de enviar mensajes, imprimir el mensaje en la pantalla lcd. Cabe destacar que las url no admiten los espacios en blanco, por lo que nuestro navegador, si el mensaje los contiene los sustituirá por el signo +, si nuestro mensaje es "Hola Juan" en la pantalla del lcd imprimirá "Hola+Juan", el código también sustituye los signos + por espacios en blanco para que nos imprima "Hola Juan". Bueno, espero que le sirva a alguien
  9. Saludos. Os voy a mostrar como desde un sensor de humedad y temperatura DHT11 conectado a la placa Arduino se puede enviar vía wifi a un servidor web los datos de humedad y temperatura y almacenarlos en una base de datos en los intervalos de tiempos que deseemos. Materiales utilizados: Una placa Arduino (yo he utilizado la Uno). Un módulo wifi HLK-RM04. Un sensor de temperatura DHT11. 7 cables Dupont. Conexiones: Pin RX del módulo HLK-RM04 a pin TX de Arduino. Pin TX del módulo HLK-RM04 a pin RX de Arduino. Pin 5V del módulo HLK-RM04 a pin 5V de Arduino. Pin GND del módulo HLK-RM04 a pin GND de Arduino. Pin datos del DHT11 a pin 2 de Arduino. Pin VCC del DHT11 a pin 3,5V de Arduino. Pin GND del DHT11 a pin GND de Arduino. Software necesario: El código para la placa Arduino. Dos páginas web php, una para conectar a la base de datos y otra para introducir los datos en ésta. Una base de datos Mysql. Código para Arduino: #include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(57600); dht.begin(); } void loop() { boolean has_request = false; int h = dht.readHumidity(); int t = dht.readTemperature(); if (Serial.available()) { while(Serial.available()) {char c = Serial.read();} has_request = true; } if (has_request) { Serial.println("HTTP/1.1 200 OK"); Serial.println("Content-Type: text/html"); Serial.println("Connection: close"); String sr = "<!DOCTYPE HTML>\n"; sr += "<html>\n"; sr += "Humedad: "; sr += h; sr += (" %\t"); sr += "<br />\n"; sr += "Temperatura: "; sr += t; sr += (" ºC "); sr += "<br />\n"; sr += "<form name=\"formulario\" action=\"http://localhost/arduino/wifi/temperatura/intro.php\" method=\"post\">"; sr += " <input type=\"hidden\" name=\"humedad\" value=\""; sr += h; sr += "\" />"; sr += " <br/>"; sr += " <input type=\"hidden\" name=\"temperatura\" value=\""; sr += t; sr += "\" />"; sr += " <br/>"; sr += "</form>"; sr += "<script>"; sr += "document.formulario.submit();"; sr += "</script>"; sr += "</html>"; Serial.print("Content-Length: "); Serial.print(sr.length()); Serial.print("\r\n\r\n"); Serial.print(sr); has_request = false; } } intro.php: <!DOCTYPE html> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title></title> <script language="JavaScript"> var totalTiempo=60; var url="http://192.168.1.254:8080"; function updateReloj() { document.getElementById('CuentaAtras').innerHTML = "Se volverán a tomar datos en "+totalTiempo+" segundos"; if(totalTiempo==0) { window.location=url; }else{ totalTiempo-=1; setTimeout("updateReloj()",1000); } } window.onload=updateReloj; </script> </head> <body> <? $humedad = $_POST['humedad']; $temperatura = $_POST['temperatura']; if (!isset($humedad)){ echo "Datos no recibidos. Error"; } else { include("conex.php"); if(mysql_query("INSERT INTO datos (humedad, temperatura) VALUES ('$humedad', '$temperatura')")) { echo "<p align='center'><b><font color='#000000' face='Arial, Helvetica, sans-serif' size='3'>Los datos han sido introducidos correctamente:<br> Humedad: $humedad<br> Temperatura: $temperatura<br> </p>"; echo "<h2 id='CuentaAtras' align='center'></h2>"; } else { echo "<p align='center'><b><font color='#000000' face='Arial, Helvetica, sans-serif' size='5'>Ha habido problemas. Vuelva a intentarlo</b></p>"; } } ?> </body> </html> conex.php: <? $link = mysql_connect("localhost" ,"usuario","contraseña") or die("no se da conectado"); mysql_select_db("hutem",$link) or die("no se da seleccionado"); ?> Base de datos Mysql: Nombre base de datos: hutem Nombre de tabla: datos 4 campos: id, humedad, temperatura, fecha (con la propiedad timestamp, para saber cuando se introdujeron los datos) Consideraciones previas: Al módulo Wifi HLK-RM04 le he asignado una ip fija en mi red, la 192.168.1.254 y el puerto 8080. Explicación cómo funciona: La placa Arduino recoge los datos de humedad y temperatura que le proporciona el sensor y crea una sencilla página html con un formulario con estos datos que mediante javascript se autoejecuta. En el navegador de nuestro PC ponemos la dirección 192.168.1.254:8080, entonces se inicia la comunicación con el módulo wifi y nos es enviada la página web mencionada anteriormente. Como el formulario enviado se autoejecuta, nos envía a la página intro.php, donde se introducen los datos recibidos en la base de datos y comienza una cuenta atrás de 60 segundos y volver a la dirección 192.168.1.254:8080 y así tener un bucle e ir almacenando los datos cada 60 segundos. Por supuesto esta cantidad de segundos se pueden variar y poner el tiempo que queramos. Bueno, espero que le sirva a alguien. Saludos.
  10. Saludos.... Os voy a mostrar como hacer un control de acceso vía Wifi utilizando la placa arduino, mas un poco de código php, javascript y base de datos Mysql. De esta manera podemos loguearnos desde cualquier dispositivo que este conectado a internet, un pc, una tablet, un teléfono, etc, sin necesidad de que nuestra placa Arduino este conectada por cable a nuestro PC. Materiales utilizados: Una Placa Arduino (yo he utilizado la nano) Un módulo wifi HLK-RM04 12 cables dupont Una pantalla lcd I2C 16X2 Un módulo led rgb Conexiones: Pin SCL del lcd --> Pin A5 de Arduino Pin SDA del lcd --> Pin A4 de Arduino Pin VCC del lcd --> Pin 5 voltios de Arduino Pin GND del lcd --> Pin GND de Arduino Pin V-G del led -->Pin GND de Arduino Pin R del led --> Pin 11 de Arduino Pin G del led --> Pin 10 de arduino Pin B del led --> Pin 9 de Arduino Pin Rx del módulo HLK-RM04 --> Pin Tx de Arduino Pin Tx del módulo HLK-RM04 --> Pin Rx de Arduino Pin GND del módulo HLK-RM04 --> Pin GND de Arduino Pin 5v del módulo HLK-RM04 --> Pin 5v de Arduino Software necesario: El código para Arduino (se mostrará mas abajo). Una página php para introducir el código y verificarlo (se mostrará mas abajo). Una página php para conectar con la base de datos donde están los usuarios y los códigos de acceso (se mostrará mas abajo). Una base de datos Mysql donde se guardarán los usuarios y los códigos de acceso (se explicará mas abajo). El sistema lo que hace es mostrar en la pantalla del lcd la frase "ESPERANDO DATOS" mientras el led está en color azul parpadeante. Cuando ponemos desde la página web el código, si éste es correcto la pantalla lcd muestra "Saludos + nombre de usuario" y el led se pone de color verde. Si el código es incorrecto, no existe, la pantalla muestra "Sin acceso. Código erróneo" y muestra el led de color rojo. A los 5 segundos se resetea y vuelve a mostrar "ESPERANDO DATOS" con led azul parpadeante. Cabe decir que se puede ampliar para que, por ejemplo, accione un relé para abrir una puerta o lo que se os ocurra. Código para la placa arduino: #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); int redPin = 11; int greenPin = 10; int bluePin = 9; void setup() { Serial.begin(57600); pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); lcd.begin(16,2); lcd.backlight(); lcd.setCursor(4,0); lcd.print("ESPERANDO"); lcd.setCursor(6,1); lcd.print("DATOS"); while(!Serial.available()) { digitalWrite(bluePin, HIGH); delay(500); digitalWrite(bluePin, LOW); delay(500); } } String f = ""; void loop() { boolean has_request = false; String in = ""; if (Serial.available()) { in = ""; while (true) { while (Serial.available() == false) {} in += (char)(Serial.read()); if (in.endsWith("\r\n")) { has_request = true; break; } } } if (has_request) { char i1 = in.indexOf("GET /mensaje?f="), i2; if (i1 != -1) { i2 = in.indexOf(" ", i1+15); f = in.substring(i1+15, i2); } if (f == "aaa") { lcd.clear(); lcd.setCursor(3,0); lcd.print("SIN ACCESO"); lcd.setCursor(1,1); lcd.write("CODIGO ERRONEO"); digitalWrite(bluePin, LOW); digitalWrite(greenPin, LOW); digitalWrite(redPin, HIGH); pagina(); } else { lcd.clear(); lcd.setCursor(4,0); lcd.print("SALUDOS"); lcd.setCursor(1,1); f.replace("+", " "); lcd.print(f); digitalWrite(bluePin, LOW); digitalWrite(greenPin, HIGH); digitalWrite(redPin, LOW); pagina(); } has_request = false; } delay(5000); digitalWrite(greenPin, LOW); digitalWrite(redPin, LOW); software_Reset() ; } void pagina() { Serial.println("HTTP/1.1 200 OK"); Serial.println("Content-Type: text/html"); String sr = "<!DOCTYPE HTML>\n"; sr += "<html>\n"; sr += "<head>\n"; sr += "<meta http-equiv='Refresh' content='0;url=http://192.168.1.11/arduino/wifi/acceso/index.php'>\n"; sr += "</head>\n"; sr += "<body>\n"; sr += "</body>"; sr += "</html>"; Serial.print("Content-Length: "); Serial.print(sr.length()); Serial.print("\r\n\r\n"); Serial.print(sr); } void software_Reset() { asm volatile (" jmp 0"); } Comentario del código: Incluimos las librerías necesarias para que todo funcione correctamente. Indicamos todos los pines necesarios. Iniciamos la comunicación a 57600 baudios. Apagamos todos los colores del led y encendemos el lcd. Le decimos al lcd que muestre en pantalla "ESPERANDO DATOS" y que el led parpadee en color azul cada medio segundo. Si se inicia la comunicación serial y ésta envía "aaa" (previamente enviada por la página php) el lcd imprime "Sin acceso. Código erroneo" y el led se pone en rojo fijo. Si la página php no envía ese carácter y envía otra cadena, ésta sera el nombre de usuario, que previamente ha sido confirmada desde la base de datos al meter el código, entonces la pantalla de lcd mostrará "Saludos (nombre del usuario)" y el led se pondrá en color verde fijo. Una vez recibida la información la placa Arduino mando unos comandos (página web) para que se vuelva a mostrar el teclado (mas abajo imagen). Tanto como si el código es bueno o erróneo, a los 5 segundos se resetea y vuelve a mostrar en pantalla "ESPERANDO DATOS" y el led de color azul parpadeante. Código pagina principal php: <html> <head> <title>teclado en pantalla</title> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <META name="robots" content="NOINDEX,NOFOLLOW"> <script language="JavaScript" type="text/javascript"> // Comprueba Navegador y Plataforma del pc var clientPC = navigator.userAgent.toLowerCase(); // Coge info cliente var clientVer = parseInt(navigator.appVersion); // Coge versión navegador var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1)); var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1) && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1)); var is_moz = 0; var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1)); var is_mac = (clientPC.indexOf("mac")!=-1); function imprm(bot) { var txtarea = document.getElementById('ta'); var tecla = new Array('1','2','3','4','5','6','7','8','9','0'); txtarea.value+=tecla[bot]; txtarea.focus(); return; } function imprM(bot) { var txtarea = document.getElementById('ta'); var teclaM = new Array txtarea.value+=teclaM[bot]; txtarea.focus(); return; } var capa1 var capa2 var ns4 = (document.layers)? true:false var ie4 = (document.all)? true:false var ns6 = (document.getElementById)? true:false function teclado() { if (ns4) { capa1 = document.c1 capa2 = document.c2 } if (ie4) { capa1 = c1.style capa2 = c2.style } if (ns6) { capa1 = document.getElementById('c1').style capa2 = document.getElementById('c2').style } } function muestra(obj) { if (ns4) obj.visibility = "show" else if (ie4) obj.visibility = "visible" else if (ns6) obj.visibility = "visible" } function oculta(obj) { if (ns4) obj.visibility = "hide" else if (ie4) obj.visibility = "hidden" else if (ns6) obj.visibility = "hidden" } function borrar() { var txtarea = document.getElementById('ta'); if ((clientVer >= 4) && is_ie && is_win) { var txtSeleccion = document.selection.createRange().text; if (document.selection) { if (!txtSeleccion) { txtarea.focus(); var Sel = document.selection.createRange(); Sel.moveStart ('character', -txtarea.value.length); curPos = Sel.text.length; txtarea.value=txtarea.value.substr(0,txtarea.value.length-1); return(curPos); } txtarea.focus(); var Sel = document.selection.createRange(); document.selection.createRange().text = ""; Sel.moveStart ('character', -txtarea.value.length); curPos = Sel.text.length; return(curPos); } } else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)) { var selLargo = txtarea.textLength; var selEmpz = txtarea.selectionStart; var selFin = txtarea.selectionEnd; var s1 = (txtarea.value).substring(0,selEmpz); var s2 = (txtarea.value).substring(selFin, selLargo); txtarea.value = s1 + s2; return(selEmpz); } else { var selLargo = txtarea.textLength; txtarea.value = txtarea.value.substr(0,txtarea.value.length-1); var Cursor = txtarea.textLength; return(Cursor); } almznaCursor(txtarea); } function almznaCursor(textEl) { if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate(); } function PosicionCursor(pos) { var txtarea = document.getElementById('ta'); //Firefox if (txtarea .setSelectionRange) { txtarea .focus(); txtarea .setSelectionRange(pos,pos); } else if (txtarea .createTextRange) { var rango = txtarea .createTextRange(); rango.collapse(true); rango.moveEnd('character', pos); rango.moveStart('character', pos); rango.select(); } } function EliminarCaracter() { PosicionCursor(borrar()); } </script> <style type="text/css"> #juan { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); } #andres { position: absolute; left: 50%; top: 70%; transform: translate(-50%, -70%); -webkit-transform: translate(-50%, -70%); } </style> </head> <body onLoad="teclado();"> <div id="juan"> <form method="POST" action=""> <input type="password" id="ta" name="pepe" size="9"><br><br> <div id="c1"> <input type="button" id="1" value="1" onclick="imprm(0);" /> <input type="button" id="2" value="2" onclick="imprm(1);" /> <input type="button" id="3" value="3" onclick="imprm(2);" /><br> <input type="button" id="4" value="4" onclick="imprm(3);" /> <input type="button" id="5" value="5" onclick="imprm(4);" /> <input type="button" id="6" value="6" onclick="imprm(5);" /><br> <input type="button" id="7" value="7" onclick="imprm(6);" /> <input type="button" id="8" value="8" onclick="imprm(7);" /> <input type="button" id="9" value="9" onclick="imprm(8);" /><br> <input type="button" id="10" value="0" onclick="imprm(9);" /> <input type="button" id="eliminar_caracter" value="Borrar" onclick="EliminarCaracter()" style="width:58px; height:20px; text-align:center; font-size:10px;" /> <br><br><input type="submit" id="60" value="ENVIAR" style="width:90px; height:20px; text-align:center; font-size:10px;"/> </div> </form> </div> <div id="andres"> <? $password = $_POST['pepe']; if(!isset($password)) { echo ""; } else { include("conex.php"); $cons = "select * from usuarios where contraseña='$password'"; $datos = mysql_query($cons,$link); if ($row = mysql_fetch_array($datos,1)) { ?> <SCRIPT LANGUAGE="JavaScript"> window.onload = function() { alert("Enhorabuena <? echo $row["usuario"]; ?>. Tu código es correcto"); }; </SCRIPT> <form name='acceso' action='http://192.168.1.254:8080/mensaje' method='GET'> <input type='hidden' name='f' value= '<? echo $row["usuario"]; ?>'> </form> <SCRIPT LANGUAGE="JavaScript">window.setTimeout(function() { document.acceso.submit(); });</SCRIPT> <? } else { ?> <SCRIPT LANGUAGE="JavaScript"> window.onload = function() { alert("El código de acceso no es correcto."); }; </SCRIPT> <form name='acceso' action='http://192.168.1.254:8080/mensaje' method='GET'> <input type='hidden' name='f' value='aaa'> </form> <SCRIPT LANGUAGE="JavaScript">window.setTimeout(function() { document.acceso.submit(); });</SCRIPT> <? } } ?> </div> </body> </html> Comentario del código: Se crea un teclado numérico para introducir el código de acceso. Compara ese código en la base de datos. Si existe ese código envía a la placa Arduino el usuario asociado a ese código, mostrando en un alert "Enhorabuena (usuario) tu código es correcto" Si no existe ese código envía a la placa Arduino la cadena aaa , mostrando en un alert "El código de acceso no es correcto". Código pagina conex.php: <? $link = mysql_connect("localhost" ,"usuario","contraseña") or die("no se da conectado"); mysql_select_db("acceso",$link) or die("no se da seleccionado"); ?> Este código no necesita comentario. En relación a la base de datos... se deberá crear una con el nombre "acceso", con una única tabla llamada "usuarios" compuesta por tres campos "id" "usuario" y "contraseña". Bueno ya está... espero que le sirva a alguien.... Saludos
  11. Saludos. En esta ocasión vamos a encender / apagar un led, o un relé, vía wifi desde una placa Nodemcu. La página web nos la proporcionará la propia placa. Materiales utilizados Una placa Nodemcu (yo he utilizado la V2) Un led o un relé 2 cables dupont (para el led) o 3 cables dupont (para el relé) Conexiones Si lo hacemos para el led: Pin D7 del Nodemcu al polo positivo del led. Pin GND del Nodemcu al polo negativo del led Si lo hacemos para el relé Pin D7 del Nodemcu al pin In del relé Pin GND del Nodemcu al pin Gnd del relé Pin 3v del Nodemcu al pin Vcc del relé Código Nodemcu: #include <ESP8266WiFi.h> const char* ssid = "Tu_red"; const char* password = "Tu_contraseña"; IPAddress ip(192,168,1,222); IPAddress gateway(192,168,1,1); IPAddress subnet(255,255,255,0); int ledPin = 13; //Lo conectamos a D7, que es el gpio13 WiFiServer server(80); void setup() { Serial.begin(115200); delay(10); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); WiFi.begin(ssid, password); WiFi.config(ip, gateway, subnet); server.begin(); } void loop() { WiFiClient client = server.available(); if (!client) { return; } Serial.println("new client"); while(!client.available()){ delay(1); } String request = client.readStringUntil('\r'); client.flush(); int value = digitalRead(ledPin); if (request.indexOf("/LED=ON") != -1) { digitalWrite(ledPin, HIGH); value = HIGH; } if (request.indexOf("/LED=OFF") != -1) { digitalWrite(ledPin, LOW); value = LOW; } client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.print("El led esta ahora: "); if(value == HIGH) { client.print("Encendido"); client.println("<br><br>"); client.println("<a href=\"/LED=OFF\"\"><button>Apagar</button></a><br />"); } else { client.print("Apagado"); client.println("<br><br>"); client.println("<a href=\"/LED=ON\"\"><button>Encender</button></a>"); } client.println("</html>"); delay(1); } Básicamente el código lo que hace es: Carga la librería necesaria. Se auto-asigna una dirección ip de nuestro router (en esta ocasión la 192.168.1.222) pero se puede poner la que quiera, que no esté ocupada por otro dispositivo, por eso cuanto mas alta mejor. Al poner en nuestro navegador la dirección ip la placa nos enviará una página web donde nos indicará si el dispositivo está encendido o apagado, si está apagado nos mostrará un botón para encenderlo y si está encendido nos mostrará el botón para apagarlo. Bueno... ya está... espero que le pueda servir a alguien. Saludos.
  12. Saludos.... En esta ocasión vamos a establecer el giro de un servo vía wifi desde una página web, por lo que podremos controlarlo desde un PC, tableta, smartphone, etc. Materiales utilizados Una placa Arduino (yo he utilizado la Uno). 7 Cables dupont. Un servo, yo he utilizado el de la imagen de mas abajo. Un módulo wifi HLK-RM04. Conexiones Pin Rx del módulo HLK-RM04 al pin Tx de arduino. Pin Tx del módulo HLK-RM04 al pin Rx de arduino. Pin 5V del módulo HLK-RM04 al pin 5V de arduino. Pin GND del módulo HLK-RM04 al pin GND de arduino. Cable naranja del servo (datos) al pin 9 de arduino Cable marrón del servo a pin GND de arduino. Cable rojo del servo a pin 5v de arduino Lo que vamos a necesitar son dos clases de código. Por una parte una página web que estará en nuestro servidor web en la que tendremos el formulario con los grados (de 0 a 180) que queremos que gire el servo y el código para la placa arduino que recibirá la los grados de giro del servo. Código página web, index.html: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//ES" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title>Control servo</title> <style type="text/css"> #juan { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); } </style> </head> <body> <div id="juan"> <form action="http://192.168.1.254:8080/servo" method="get"> <input type="submit" name="l" value="000"> <input type="submit" name="l" value="005"> <input type="submit" name="l" value="010"> <input type="submit" name="l" value="015"> <input type="submit" name="l" value="020"> <input type="submit" name="l" value="025"></br> <input type="submit" name="l" value="030"> <input type="submit" name="l" value="035"> <input type="submit" name="l" value="040"> <input type="submit" name="l" value="045"> <input type="submit" name="l" value="050"> <input type="submit" name="l" value="055"></br> <input type="submit" name="l" value="060"> <input type="submit" name="l" value="065"> <input type="submit" name="l" value="070"> <input type="submit" name="l" value="075"> <input type="submit" name="l" value="080"> <input type="submit" name="l" value="085"></br> <input type="submit" name="l" value="090"> <input type="submit" name="l" value="095"> <input type="submit" name="l" value="100"> <input type="submit" name="l" value="105"> <input type="submit" name="l" value="110"> <input type="submit" name="l" value="115"></br> <input type="submit" name="l" value="120"> <input type="submit" name="l" value="125"> <input type="submit" name="l" value="130"> <input type="submit" name="l" value="135"> <input type="submit" name="l" value="140"> <input type="submit" name="l" value="145"></br> <input type="submit" name="l" value="150"> <input type="submit" name="l" value="155"> <input type="submit" name="l" value="160"> <input type="submit" name="l" value="165"> <input type="submit" name="l" value="170"> <input type="submit" name="l" value="175"></br> <input type="submit" name="l" value="180"> </form> </div> </body> </html> Este código lo que hace básicamente es crear un formulario con los grados que queremos que gire el servo y lo envía, por el método get, a la dirección ip de nuestro arduino. Código para la placa arduino: #include <Servo.h> const int servo_pin = 9; Servo myservo; unsigned int old_value; void setup() { Serial.begin(57600); myservo.attach(servo_pin); old_value = 90; } int f = 0; void loop() { boolean has_request = false; String in = ""; if (Serial.available()) { in = ""; while (true) { while (Serial.available() == false) {} in += (char)(Serial.read()); if (in.endsWith("\r\n")) { has_request = true; break; } } } if (has_request) { char i1 = in.indexOf("GET /servo?l="), i2; if (i1 != -1) { i2 = in.indexOf(" ", i1+13); f = in.substring(i1+13, i2).toInt(); } Serial.println("HTTP/1.1 200 OK"); Serial.println("Content-Type: text/html"); Serial.println("Connection: close"); String sr = "<!DOCTYPE HTML>\n"; sr += "<html>\n"; sr += "<body onload='history.back();'>\n"; sr += "</body>"; sr += "</html>"; Serial.print("Content-Length: "); Serial.print(sr.length()); Serial.print("\r\n\r\n"); Serial.print(sr); has_request = false; if ((0 <= f) && (f <= 180)) { if (f < old_value) { for(int i = old_value ; i > f ; i -= 1) { myservo.write(i); delay(15); } old_value = f; } if (f > old_value) { for(int i = old_value ; i < f ; i += 1) { myservo.write(i); delay(15); } old_value = f; } } } delay(100); } El código lo que que hace es cargar la librería necesaria, recoger en una variable el valor que le enviamos desde la página web, que será el valor de giro del servo. También crea una página web que lo que hace es volver al index.html desde el que le enviamos los datos. Mencionar que el script está preparado para que el giro del servo sea un poco mas lento de lo normal, que no gire muy rápido.
  13. Hace poco he instalado Ubuntu en un ordenador, y, no puedo utilizar wifi. Simplemente no me aparece la opción de conectarme. Antes de instalar Ubuntu, usaba Windows 10 y nunca había tenido ningún problema con la wifi. ¿Qué puede ser y cómo lo soluciono?
  14. Pues eso que me he dispuesto a deshabilitar la tarjeta de wifi/bluetooth ya que no hay ninguna opción libre para ella en los repositorios main de Debian testing, la tarjeta es una Intel 7260. El caso, es que cuando arranco el equipo se pone a buscar el firmware necesario y me tarda uno segundos más de la cuenta por este hecho ¿Cómo puedo hacer que no intente buscar ese firmware que falta? Saludos y gracias con antelación.
  15. Estoy teniendo problemas en el WiFi de mi máquina. Es una PC de escritorio con una placa madre que trae WiFi El problema que tengo es que cada 15segundos/2minutos es como que se traba la conexion, o hay alto ping al router Si hago ping al router veo que a cada rato tengo ping alto, a veces más de 1000 o 2000 ms No sé cual podría ser el problema, la el router y la PC están muy cerca. Están separadas por 3 metros y lo único que hay entre medio es una ventana, parece un chiste porque se pueden ver Otra cosa media rara es que el nivel de señal me lo marca como 62%, están tan cerca que supongo que debería ser mayor, igual esos medidores son medios malos creo Las pruebas que hice son: Probé en Windows, pasa lo mismo Saqué la notebook y la puse al lado de la PC, (la que tiene el problema es la PC), la notebook funciona bien, tengo ping parejo de 1,3ms mas o menos y nuca sube a mas de 100. Cuando sube el ping de la notebook no lo hace al mismo tiempo que la PC, así que supongo que no son interferencias? Cambié el canal del router Toqué algunas configuraciones, probé en b, g, y n. Bajé la potencia de salida Probé con el celular, anda bien (ping parejo de 10ms) Probé en Debian y en Linux Mint Al hacer ping a google se corta al mismo tiempo que al hacer al router Probé conectarme al otro router de mi casa que está mas lejos y atrás de algunas paredes y creo que no tiene problemas, o por lo menos anda mejor... Hasta que se corta en serio y me tengo que volver a conectar, aunque supongo que es por otra cosa, por la mala señal Para navegar no molesta, pero hace imposible jugar online
  16. ¡Buenas! Resulta que anoche tenía que hacer unos trabajos en mi portátil que requerían internet y para mi sorpresa ¡no se conectaba a la red de casa! Es extraño, pues hace una semana iba todo perfecto: se conectaba automáticamente nada más encenderlo. Ahora me pide la contraseña (la cual no he cambiado). Para más inri, he hecho pruebas con una tarjeta de red USB y con ella sí se conecta sin problema . El caso es que también necesito la tarjeta de red para el PC de sobremesa. Me gustaría saber si a alguien le ha pasado algo parecido o si tiene alguna idea de si es a causa de la distribución (Lubuntu 15.04) o de alguna -mala- configuración de algo -tampoco he trasteado cosas extrañas- bien del portátil o del router (que no creo, ya que en los demás dispositivos funciona todo correctamente). Espero vuestra respuesta
  17. Muy buenas a todos, os traigo un nuevo tutorial para este nano usb wifi que tanto se vende ultimamente, por lo desapercibido que pasa y su precio. Se queda algo corto de potencia pero para sitios amplios como estaciones de metro, autobuses, aeropuertos, etc. va perfectamente. Hago este tutorial porque hay muchos casos en el que este hardware no funciona correctamente con aircrack y cuando ejecutas airmon-ng no lo detecta... y nos aparece una lista vacia como vemos abajo.. airmon-ng Interface Chipset Driver Este método debería de funcionar correctamente para distros basadas en ubuntu con kernel superior a la version 3.0 Lista de hardware soportado: 2001:330f 8179:07b8 0bda:0179 0bda:8179 1. Abrimos terminal y comprobamos que nuestro wifi usb es aceptado para este método. sudo su escribimos nuestra contraseña lsusb (para listar los usb concetados) Aquí deberia de aparecer nuestro nano usb wifi: Bus 002 Device 005: ID 03f0:134a Hewlett-Packard Bus 002 Device 004: ID 0bda:8179 Realtek Semiconductor Corp. Bus 002 Device 003: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub este es mi listado y confirmamos que la ID del fabricante esta dentro del listado que puse anteriormente: Si se encuentra en el listado empieza la fiesta.... sudo apt-get install build-essential linux-headers-generic git creamos una carpeta y entramos dentro. mkdir ~/RTL8188EU cd ~/RTL8188EU git clone git://github.com/lwfinger/rtl8188eu después.. cd ~/RTL8188EU/rtl8188eu make sudo make install sudo cp -v ~/RTL8188EU/rtl8188eu/rtl8188eufw.bin /lib/firmware/rtlwifi/sudo depmod -asudo update-initramfs -usudo update-initramfs -u Y reiniciamos reboot
  18. Con este nuevo tema mi idea es recopilar nombres linuxeros para ponerle a nuestras redes WiFi (SSID). Nombres divertidos y originales que nos identifiquen con el Software Libre. ¡A ver cuantos se nos ocurren!
  19. Os cuento mi problema: En mi casa que es un bloque de piso hay hay entre 15 y 25 redes wiki, de los vecinos, y mi moden wifi, esta situado en la otra punta del piso, y mi portatil la coge regular (con pocas rayitas) Habia pensado en comprar una antena externa (o wifi externo usb con antena) para asi mejorar la recepción de la señal porque creo que la tarjeta interna que trae el portatil no es muy buena.... ¿que modelos conoceis que pueda ir bien en linux? Saludos Julio
  20. Ultimamente veo anuncios donde te ofrecen redes adsl con altisimas velocidades (50 Mb, 100 Mb, o incluso 300 Mb), estareis conmigo que dificilmente un solo usuario nunca (por ahora) va a aprovechar estas conexiones. ¿seria legal en un bloque de vecinos, que se compartiera la red, pagando solo un contrato? ¿o incluso si la comunidad de vecino, contrata una conexión y las comparta con los vecinos (ya sea cable o wifi)?
  21. PulWifi para Android. Muestra contraseñas por defecto de las redes inalámbricas en varios modelos de routers. pulWiFi es una herramienta que nos permitirá auditar la seguridad de redes WiFi para comprobar que la contraseña es segura. En la teoría esto solo debe hacerse sobre redes que sean de nuestra propiedad, aunque la práctica posiblemente vaya a ser muy diferente. En cuanto iniciemos la aplicación veremos un listado con todas las redes WiFi cercanas, que aparecerán en verde o en rojo dependiendo de si ha identificado o no su contraseña. Al pulsar sobre una de las que salga en verde podremos ver al instante la contraseña y, con un solo toque, copiarla al portapapeles. De esta manera podremos saber si la contraseña que nos muestra (la que trae por defecto el router) serviría para acceder fácilmente a nuestra red. Si es así, por supuesto, tan sólo tendremos que cambiar en las opciones de nuestro router (desde la propia pulWiFi no es posible, como es normal). Entre las opciones de la aplicación podremos elegir que esta se actualice automáticamente o incluso que vibre cada vez que haya una actualización en la lista de redes WiFi. No son muchas opciones, pero sí más que suficientes si tenemos en cuenta el tipo de aplicación de que se trata. pulWiFi es una de esas aplicaciones que no deberíamos usar a la ligera, ya que si bien es muy fácil de manejar y nos puede ayudar a solucionar problemas con nuestra propia conexión, las consecuencias de utilizarla en las conexiones ajenas pueden ser muy negativas. (legalmente hablando, xD) DESCARGAR
  22. Minibian Andaba buscando una versión de Raspbian que no venga con tantas cosas preinstaladas y encontré Minibian. Traduciendo lo que diice en su página: Minibian es una imagen Linux para Raspberry Pi basada en Raspbian. El objetivo es tener una distribución pequeña, estable y actualizada, sin GUI ni herramientas innecesarias, totalmente compatible con la imagen oficial de Raspbian Entonces esta imagen es perfecta para proyectos embebidos, o para cuando necesitas usar todos los recursos para tareas específicas. La principal ventaja es que Minibian es muy liviana, inicia en unos segundos y usa muy poca RAM A diferencia de otros proyectos similares, Minibian no fue obtenida quitando los paquetes innecesarios de la imagen original de Raspbian, tampoco fue recompilado el código fuente. Es una instalación de Raspbian obtenida del mismo repositorio usado por la imagen oficial. Por lo tanto el kernel y los binarios son exactamente los mismos que vas a encontrar en la imagen oficial, con la diferencia que Minibian entra en una tarjeta SD de 512MB, es más rápida, y es actualizada más seguido Se instala con dd, como Raspbian. Si quedan dudas abajo están las instrucciones Sitio web: https://minibianpi.wordpress.com/ Instrucciones: https://minibianpi.wordpress.com/setup/ Minibian-wifi Minibian no viene con las herramientas necesarias para conectarse a una red WiFi. Para esto hay una versión de Minibian con los programas necesarios y con algunos drivers llamada Minibian-wifi, creo que no son de la misma persona Sitio web: http://minibianwifi.sourceforge.net/
  23. No es ningún secreto que a un servidor le gusta grabar algunas cosillas con la cámara GoPro que tan popular se ha hecho durante los últimos años. Esta cámara cuenta con un sin fin de accesorios, de venta por separado y a un precio desorbitado, por supuesto, entre los que se incluyen mandos de control remoto, minipantallas y aplicaciones de previsualizacíon para poder ver lo que vamos grabando desde nuestro teléfono móvil. Como no es cuestión de dejarnos un dineral en accesorios y las aplicaciones oficiales son extremadamente exclusivas y no están disponible para nosotros, Konrad Iturbe se ha puesto manos a la obra para hackear estas cámaras y permitir que puedan ser manejadas desde cualquier navegador web y, por lo tanto, desde cualquier dispositivo móvil, especialmente Firefox OS, aunque es extrapolable a cualquier otro sistema El GoPro Control de KonradIT nos permitirá: Modificar todas las opciones de la cámara, resolución, modo de operación, sonido, orientación... Encender/apagar la cámara, Iniciar/detener grabación, sacar fotos, timelapses... En definitiva TODO lo que podríamos hacer directamente en la cámara pero en remoto. Pero es que además podremos reproducir los vídeos que hemos grabado al tener acceso directo a la memoria SD de la cámara y no sólo eso, también ver en tiempo real lo que estamos grabando. INSTALACIÓN Aunque el proceso no es complicado tendremos que seguir unos cuantos pasos para hackear la cámara. En el dispositivo móvil no tendremos que hacer nada salvo conectarnos a la red Wifi de la cámara y acceder a ella desde el navegador a través su dirección IP. Primero que nada tendremos que descargar los archivos de GoPro Control: git clone https://github.com/konradit/gopro-control Habrán 3 archivos (Y el Readme) Colocaremos autoexec.ash e index.html en la raíz de la tarjeta microSD que utilizaremos luego en nuestra cámara. El tercer archivo, tcp_tuner.sh, irá dentro de la carpeta MISC que crea por defecto nuestra GoPro Ahora es cuando viene la pequeña chapuza pues tendremos que seguir el procedimiento oficial de actualización de firmware de la cámara para introducir con él los cambios que nos interesan para el GoPro control. Accedemos a la página oficial http://es.gopro.com/update/, seleccionamos el modelo de nuestra GoPro y nos vamos a "actualizar cámara manualmente". Nos pedirán varias cosas, dos de ellas imprescindibles, un correo electrónico y el número de serie de nuestra cámara, el cual nos servirá para obtener los archivos de actualización que necesitamos. El siguiente paso es elegir el tipo de actualización, que será tanto de firmware como de Wifi para poder hackearla a la vez que establecemos los parámetros de la conexión de la cámara. Ésta es la única forma de establecer los parámetros de la Wifi. Aunque es posible repetir el proceso procuremos hacerlo bien a la primera ya que es bastante tedioso. Pasados unos segundos nos generará un archivo UPDATE.ZIP que tendremos que descargar y descomprimir. Los 4 archivos los colocaremos también en la raíz de la tarjeta microSD y reiniciaremos la cámara para empezar con la actualización. El proceso será totalmente automático, primero se actualizará el firmware y posteriormente la wifi (En la pantalla LCD de la cámara podremos seguir el proceso). Al terminar la actualización la cámara se apagará. Ya tenemos todo listo para controlarla de manera remota. CONTROL Para empezar a controlar la cámara tendremos que habilitar la wifi y conectarnos a ella como lo haríamos con cualquier otro punto de acceso inalámbrico. La ip a la que tendremos que acceder para entrar en la cámara es 10.5.5.9 a través del puerto 8080, es decir 10.5.5.9:8080 Vale, sí, la "interfaz" es tan bonita como acceder a un servidor ftp a pelo desde el navegador, pero ¡Oye! Si funciona tampoco nos vamos a poner quisquillosos La opción Videos es la que nos lleva al panel de control donde podremos controlar la cámara y modificar todas las opciones. Es aquí donde se nos pedirá que introduzcamos la contraseña wifi que establecimos durante la actualización del firmware de la cámara. DCIM, como pueden imaginar, nos permitirá acceder al contenido de la tarjeta SD y reproducir los vídeos o imágenes que hayamos realizado. Desde Live podremos ver en "streaming" lo mismo que está grabando la cámara en ese instante. No obstante hay que tener en cuenta que este proceso consume muchos recursos y dependiendo de nuestra conexión y la capacidad de nuestro dispositivo quizá no vaya tan fluido como cabría esperar o apenas nos muestre unas imágenes sueltas tras varios segundos de carga. Como sé que más de uno se lo va a preguntar, el correcto es el archivo .m3u8, aunque también hay una 2ª opción .mp4 aunque ésta última tendremos que recargarla continuamente de forma manual para que haya continuidad Es bastante probable que Firefox OS no sea capaz de lidiar con el archivo m3u8 y sí con el mp4 Ya sólo queda sacarle partido y seguir haciendo aún más tonterías con con la cámara https://github.com/konradit/gopro-control
  24. T-Mobile se encuentra realizando una campaña publicitaria muy creativa que tienen al señor José y a sus perros como protagonistas. Este mexicano ha visto la oportunidad de poner en marcha el negocio del siglo y ni corto ni perezoso se ha puesto a ello. La gente pierde muchísimo tiempo buscando conexiones Wifi desde las que poder conectarse a Internet, dan vueltas por ahí como tontos móvil en mano buscando el punto donde captar mejor la señal. Esto ha llegado a su fin gracias a los perros del señor José, adiestrados específicamente para rastrear señales Wifi y llevarte hasta el mejor sitio para navegar en Internet. Por un módico precio podrás alquilar a uno de sus expertos canes para que te acompañe y te muestre los mejores sitios Wifi del lugar. Con unos actorazos perrunos y hasta una banda sonora, José's WI-FI DOGS está aquí para hacernos la vida más sencilla a todos :lol: http://www.jose-dogs-the-best-for-to-find-wifi.net/
  25. Buenas, tengo un pequeño problema con las redes wifi, me conecto y todo bien excepto porque me quedo sin conexión internet aunque este conectado y tengo que apagar y prender el wifi de la laptop para volver a tener conexión a internet. Personalmente creo que tiene que ver con el kernel debido a que cuando estaba usando debian-sources(en gentoo), me funcionaba bien pero ahora que estoy usando los vanilla-sources me da ese problema con la misma configuración. Información que puede ser util para resolver el problema: Driver del adaptador wifi: rtl8192ce Version del kernel: vanilla-sources 3.14.3 dmesg: http://bpaste.net/show/262382/ emerge --info: http://bpaste.net/show/262399/ kernel .config: http://bpaste.net/show/262400/ Si necesitan mas información no duden en pedirla. Gracias de antemano