martes, 27 de noviembre de 2012

Transforma tu viejo router en una tarjeta WiFi

Trabajando con routers, quería ver si podíamos usar un router antiguo para usarlo de forma de conectar un pc a una red inalambrica. Encontré esta solución. http://www.pcactual.com/articulo/zona_practica/paso_a_paso/4336/transforma_viejo_router_una_tarjeta_wifi.html#paso_3_prepara_wds_en_el_segundo_router

Transforma tu viejo router en una tarjeta WiFi

Transforma tu viejo router en una tarjeta WiFi

NIVEL: AVANZADO

Configurando WDS (Wireless Distribution System) en dos routers podemos interconectar de forma inalámbrica un PC que no disponga de interfaz WiFi y un router con acceso a Internet. Para lograrlo debemos manipular ambos dispositivos para que trabajen en el mismo canal de comunicaciones inalámbrico. Es esencial que los dos puedan operar en modo WDS, de hecho, les asignaremos la misma clave WEP y comunicaremos a cada uno la dirección MAC del otro. Finalmente, el PC y ambos routers deberán formar parte de la misma subred.
En este práctico hemos empleado dos dispositivos suministrados por proveedores de servicios de Internet populares. El que se responsabiliza de la conexión a Internet es un CPAJJJSE20TL2 de Telsey, y el que hace las veces de tarjeta WiFi para nuestro PC un SMC7904WBRA de SMC, pero no resultará difícil extrapolar este procedimiento a los modelos de otros fabricantes.

Paso 1. Obtención de la dirección MAC

En primer lugar debes configurar el router que tiene acceso a Internet. Para ello, conecta el PC al dispositivo de SMC mediante un cable RJ45. Para obtener su dirección MAC (la necesitaremos más adelante para configurar el router Telsey) abre una ventana de comandos desde Inicio/Ejecutar…/cmd y escribe la orden ipconfig. Ahora, toma nota de la dirección IP de la puerta de enlace (en nuestro caso es 192.168.2.1) y, a continuación, introduce el comando arp –a 192.168.2.1 y apunta la dirección MAC (en nuestro caso 00:13:f7:92:xx:xx).
paso-1

Paso 2. Activa WDS

Ahora conecta el router Telsey al PC mediante un cable RJ45. Para entrar en la ventana de configuración web necesitas averiguar la IP de este dispositivo, por lo que debes escribir en la ventana de comandos la orden ipconfig. Después, toma nota de la dirección IP de la puerta de enlace (en este caso es 192.168.0.1) y, a continuación, abre una ventana del navegador de Internet para introducir la dirección http:\\192.168.0.1:8063 (en este modelo en concreto hay que especificar el puerto 8063).
Ahora introduce como usuario user y la contraseña que figura en la documentación que acompaña al router (será una clave del tipo WFRJGXXX). A continuación, activa la interfaz WiFi del dispositivo. Para lograrlo accede a Red inalámbrica/Configuración básica y marca la casilla Activar red inalámbrica.
paso-2-1
En el campo SSID (identificador de la red) anota el nombre que debe tener la red inalámbrica y pincha en Guardar/Aplicar. El campo BSSID es la dirección MAC del router Telsey que después introduciremos en el SMC. Activa ahora la opción WDS en el menú Red inalámbrica/Puente de red. En AP mode elige la opción Punto de acceso, activa las restricciones y escribe la MAC del SMC (00:13:f7:92:xx:xx). Haz clic en Guardar/Aplicar.
Para continuar, selecciona Red inalámbrica/Opciones Avanzadas, elige un canal (nosotros seleccionamos el 11) y pincha en Guardar/Aplicar. Evita la opción auto que permite al router elegir el canal automáticamente. Para finalizar, configura la seguridad WEP desde el menú Red inalámbrica/Seguridad, habilita el cifrado WEP y especifica una contraseña (en este caso nosotros usamos una de 128 bits). Pincha en Guardar/Aplicar.
paso-2-2

Paso 3. Prepara WDS en el segundo router

Ahora debes desconectar el PC del Telsey y conectarlo al router SMC mediante el cable RJ45. Para entrar en la ventana de configuración web abre el navegador y escribe la dirección que obtuviste en el Paso 1 mediante el comando ipconfig (para este modelo el puerto es el 80 aunque no es necesario escribirlo) e introduce la contraseña admin. Ahora, activa la interfaz WiFi del router.
En el menú Wireless marca la casilla Enable Wireless Function y pulsa en Save Settings. Tras esto, ve al menú Wireless/Channel and SSID y, en el campo Primary (SSID primario del router), escribe un nombre, por ejemplo, Router_SMC_P. En Secondary (SSID secundario) introduce un nombre distinto, por ejemplo, Router_SMC_S. Elige ahora Wireless Mode Mixed y, en el campo Canal, selecciona el mismo que elegiste en el Telsey (en nuestro caso fue el 11). Haz clic en Apply.
paso-3-1
Para configurar la seguridad WEP accede al menú Wireless/Security, marca Allowed client type/WEP y anota la misma clave que usamos en el router Telsey en los campos Key 1 a Key 4 (en nuestro ejemplo utilizamos una de 128 bits). Tras esto, graba los cambios pulsando sobre Apply.
Ahora es el momento de activar la prestación WDS. Para lograrlo accede al menú Wireless/WDS y marca Enable WDS Function. A continuación, pulsa sobre Rescan y el router SMC encontrará a su compañero, el Telsey (la MAC debe coincidir con el BSSID de este último que anotamos en el Paso 2). Marca ahora el campo que coincide con el router Telsey y haz clic en Apply.
paso-3-2

Paso 4. Últimos pasos con la infraestructura

Es el momento de configurar ambos routers y el PC para que trabajen en la misma subred. Comienza por el SMC aprovechando que tienes abierta la ventana de configuración web. Elige la pestaña LAN, marca Deshabilitar el servidor DHCP e introduce la misma máscara de subred que tiene el Telsey, así como una IP que esté dentro de la subred de dicho router (en nuestro caso la máscara es 255.255.255.0 y configuramos la IP 192.168.0.30, que no debe coincidir con la IP del Telsey ni con la que pondremos en el PC). Para guardar los cambios pincha en Save settings. Llegados a este punto el PC perderá la conexión con el router SMC debido a que se encuentran en subredes distintas.
paso-4-1
Únicamente queda configurar el PC en la misma subred que ambos routers. En Windows accede a Inicio/Mis sitios de red/Ver conexiones de red, haz clic utilizando el botón derecho del ratón sobre Conexión de área local y elige Propiedades. Haz ahora doble clic en Protocolo Internet (TCP/IP) y marca Usar la siguiente dirección IP.
A continuación, introduce una IP que esté dentro de la subred de ambos routers y no coincida con ninguna de ellas (por ejemplo 192.168.0.194). Como máscara de subred escribe la misma que en ambos dispositivos (255.255.255.0), y como puerta de enlace y servidor DNS primario introduce la dirección IP del router que está conectado a Internet, que en este caso es la del Telsey (192.168.0.1). Haz clic ahora en Aceptar y ya tendrás configurada toda la infraestructura necesaria.
paso-4-2

Paso 5. Las pruebas

Antes de concluir debes comprobar que todo funciona correctamente. Haz un ping al router SMC introduciendo en la ventana de comandos la orden ping 192.168.0.30. Si todo ha salido bien, recibirás respuesta. Enseguida, haz también ping a la puerta de enlace, es decir, al router Telsey. Para ello teclea ping 192.168.0.1. También deberías recibir respuesta. De ser así, ya puedes comenzar a disfrutar tu nueva conexión inalámbrica a Internet.
wifi-1

martes, 13 de noviembre de 2012

Incluir páginas y subpáginas en WordPress por Nekko

bueno estoy realizando un proyecto en wordpress, y mirando mirando ví este post que parece bastante interesante y clarificador, es decir muy claro. No se si funciona etc... lo cuelgo para ilustraros. 


por Nekko. Emprendedora incansable, fundadora de SummArg y de SiteFun.

Incluir páginas y subpáginas en WordPress

Estaba trabajando en un projecto en el que tenía que ingeniarmelas para colocar en el menú de cabecera las páginas hijas y las páginas padre, con sus respectivos condicionales para el caso de que no existieran subpáginas de un item. Afortunadamente me encontré con el blog de Gabriel Svennerberg en donde llegó a elaborar un código muy prolijo que pude utilizar para mi proyecto.
Este contenido está extraido del mencionado blog.

Chequear si la página tiene subpáginas

En primer lugar busqué un método en el codex de WordPress que ayude a determinar si la página actual tiene o no subpáginas, al no encontrarlo elaboré un modo de hacerlo. Básicamente se trata de llamar a las páginas hijas utilizando wp_list_pages() y ver si devuelve algo. No es lindo pero funciona.

$children = wp_list_pages('&child_of='.$post->ID.'&echo=0');
if($children) {
 // Si esta página contiene subpáginas...
}

Chequear si es una página padre o una subpágina

Lo siguiente que tuve que resolver fue el chequeo para conocer si la página actual es una página padre o es una subpágina. Esto se puede realizar con el siguiente código:

if(is_page() && $post->post_parent) {
 // Si es una subpágina
} else {
 // Es página padre
}

Cargando el submenu

Ahora necesitaba una forma de cargar las subpáginas. Esto se puede hacer utilizando la función wp_list_pages(). La parte complicada de esto es que no existe un modo para obtener la página padre y las subpáginas en una misma llamada, así que hay que llamar a la función dos veces y con ligeros cambios cada vez.

if(is_page() && $post->post_parent) {
 // Si es una subpágina
 $children = wp_list_pages("title_li=&include=".$post->post_parent ."&echo=0");
 $children .= wp_list_pages("title_li=&child_of=".$post->post_parent ."&echo=0");

} else if($has_subpages) {
    // Es una página contiene subpáginas
    $children = wp_list_pages("title_li=&include=".$post->ID ."&echo=0");
    $children .= wp_list_pages("title_li=&child_of=".$post->ID ."&echo=0");
}
Hay otros modos de hacer esto, pero el beneficio de este método es que automáticamente obtenemos class=”current_page_item” en el item que representa la página en la que actualmente estamos, lo cual es útil si queremos darle un estilo en particular.

Salida a HTML

El último paso consiste en imprimir el HTML, para lo que elegí una lista desordenada.

<?php // Chequear que haya algo para mostrar ?>
<?php if ($children) { ?>
<ul>
    <?php echo $children; ?>
</ul>
<?php } ?>

Colocando todo junto

Ahora es tiempo de colocar todas las piezas juntas. Este código puede colocarse en cualquiera de las secciones de tu theme.

<?php
$has_subpages = false;
// Chequea para ver si la página actual tiene subpáginas
$children = wp_list_pages('&child_of='.$post->ID.'&echo=0');
if($children) {
    $has_subpages = true;
}
// Reseting $children
$children = "";

// Llama a los items dependiendo si es una subpágina o página padre
if(is_page() && $post->post_parent) {
    // Si es una subpagina
    $children = wp_list_pages("title_li=&include=".$post->post_parent ."&echo=0");
    $children .= wp_list_pages("title_li=&child_of=".$post->post_parent ."&echo=0");
} else if($has_subpages) {
    // Si es una página padre que tiene subpáginas
    $children = wp_list_pages("title_li=&include=".$post->ID ."&echo=0");
    $children .= wp_list_pages("title_li=&child_of=".$post->ID ."&echo=0");
}
?>
<?php // Chequea que exista algo que mostrar ?>
<?php if ($children) { ?>
<ul>
    <?php echo $children; ?>
</ul>
<?php } ?>

viernes, 27 de julio de 2012

Carga aleatoria controlada de mp3 en Flash

Si deseamos cargar al azar y sin repetir los archivos, crearemos un array, de esta manera ir guardando los nuevos valores ya cargados y saber cuales ya han sido usados.

Básicamente he creado dos funciones, una será la que se encargue de darme un valor aleatorio y que no se repita en un ciclo determinado (este será el numero de archivos disponibles) function Busqueda() . Y la otra es la que se encargara de reproducir el sonido function activarsonido().

Al principio estableceremos la variables del array, y crearemos el objeto de sonido new Sound();.

Tambien crearemos tres variables, estas seran fijas durante toda la ejecución de las funciones, y servirán para poder personalizar estas. Las variables son TextoSound , ArchivoExtension y NumMovies. Estas variables tambien podrian introducirse como parametros al llamar a la función...(esto sería otro tema).

Este sera el codigo (Lee con mucha atención los comentarios; es donde esta la explicación)




//-----------------------------------carga al azar de mp3, pero sin repetir----------------------------------

var MiArray = new Array();
var playMusic = new Sound();
var ValorIni = 0;
/* Para mayor simplicidad es aconsejable que el primer archivo de la serie, tenga como numeral el 0.
La variable TextoSound es para el texto del nombre por ejemplo: "MySound" esto sería lo que correspondería
al primer archivo:"MySound0.mp3", de esta manera solo tienes que modificar esta variable para adaptarla
a tus archivos.
La variable ArchivoExtension es obvio esta variable es para especificar la extensión de los archivos, en este
caso mp3.
La variable NumMovies es para el numero total de archivos que deseas que hagan el ciclo por ejemplo:
" MySound0.mp3, MySound1.mp3, MySound2.mp3, MySound3.mp3= 4 archivos. Modifica este valor según
las imágenes de que dispongas */

var TextoSound = " MySound ";
var ArchivoExtension = ".mp3";
var NumMovies = 4;
//-----------------------------------------------------------------------------------------------------------
/* Esta función sólo nos devolverá un valor comprendido en la variable NumMovies, este se comprobara para ver
si ya existe en un Array creado en tiempo de ejecución. */

function Busqueda() {
var Controlde = true;
// while.. si ya se ha emitido el numero, repite la búsqueda del numero al azar
while (Controlde == true) {
Controlde = false;
Minor = random(NumMovies);
//for.. recorre todos las variables del Array, para buscar si ya ha sido emitido el numero actual
for (x=0; x<(NumMovies); x++) {
if (MiArray[x] == Minor) {
Controlde = true;
break;
}
}
}
/* Una vez pasado el número aleatorio y comprobado que no existe en ningún elemento del Array crea un
nuevo elemento del Array e introduce el nuevo valor. A continuación subimos el valor de la
variable, para el siguiente elemento */

MiArray[ValorIni] = Minor;
ValorIni++;
return Minor;
/*return.. se utiliza para que al solicitar una función nos devuelva el valor de la variable que se
indica. */

}
//-----------------------------------------------------------------------------------------------------------
function activarsonido() {
/*En esta variable solicita mediante la función, la entrada de un numero válido. */
MiNum = Busqueda();
var musica = TextoSound+MiNum+ArchivoExtension;
playMusic.loadSound(musica, true);
/* el evento ...onSoundComplete activa la función una vez se ha acabado de reproducir el sonido, y el
condicional if.. cierra el ciclo cuando se ha acabado de emitir todos los archivos de sonido */

playMusic.onSoundComplete = function() {
if (ValorIni<(NumMovies)) {
activarsonido();
}
};
}
//-----------------------------------------------------------------------------------------------------------
/*Este evento inica la reproducción, yo lo he puesto al cargar la línea principal de tiempo , pero se puede
modificar y colocar en cualquier otro evento, por ejemplo en un botón "on(release)..." */

_root.onLoad = function() {
activarsonido();
};
//-----------------------------------------------------------------------------------By Silvestre

...FIN DEL CODIGO

Este tutorial es creado en base a una pregunta del foro.

Si quieres dejar alguna pregunta o sugerencia.. te lo agradeceria.

martes, 24 de julio de 2012

reutilizar el modem/router Xavi 7768 de telefónica

Tengo un modem/router Xavi 7768, de hace buff casi 10 años llenandose de polvo en el desván, y pensando en montar una red local, me acordé de él. Dicho aparato lo tengo ya que fué un "regalo" de la compañía ya que por aquel entonces apenas habían permanencias alquileres etc... y después de unos desafortunados intentos de ponerme la ''primitiva adsl'' desistieron.

Bueno googleando encontré un artículo que me parece interesante, no lo he probado pero parece a simple vista funcional, y ya que estamos en la era de la "reutilización" y el reciclado colaborando con el medioambiente aunque esto destruya uno microclima creado por el paso del tiempo en dicho aparato eléctrico.


Buenas tardes, tras el experimento satisfactorio de añadirle otra antena al zyxel 660 http://www.adslzone.net/postlite25253-.html

Y dado que tenía a mano otros 2 routers Xavi 7768r.. por qué no usarlos?
Quiero más cobertura por toda la casa, porque yo lo valgo Muy Contento
Manos a la obra...

Primero un esquemita de lo que quiero:

original: http://www.telefonica.net/web/acano87/esquema.jpg

De esta forma podemos colocar el/los Xavi(s) distribuidos por la casa y tener buena cobertura en las plantas inferiores/superiores en cada respectivo punto... o simplemente para quien necesite crear redes wifi en amplias zonas.

Configuraciones:

Zyxel 660 v2
Conectado a Internet normalmente con su cable telefonico y wifi funcionando.
IP local: 192.168.1.10
Mascara: 255.255.255.0

Este router puede dar servicio a ordenadores directamente a través de cable o su propio wifi.. pero si queremos conectar nuestro "querido" Xavi?

No hay problema, enchufamos un cable de red RJ-45 desde un puerto cualquiera del zyxel a otro cualquiera del xavi.

Pero cómo configuramos el xavi?
De esta forma:
1º Cambiamos la IP local del xavi para que no coincida con la del zyxel,
por ejemplo le asigno la 192.168.1.100. Esto se hace desde Configuration-> LAN Connections-> Change default LAN port IP address.
2º Eliminamos la conexion WAN que tenga establecida, no queremos que se conecte a ningun proveedor ADSL, lo queremos a nuestro zyxel, asi que vamos a Configuration-> WAN connections y eliminamos la que tengamos.
3º Finalmente le decimos que se conecte al zyxel, aquí está la gracia.
Nos vamos a Configuration-> Routing table. Eliminamos la ruta que estuviera previamente, ya no la necesitaremos, y creamos una nueva simplemente indicando:
Gateway: 192.168.1.10 (la ip lan del zyxel)
Interface: eth0 ***MUY IMPORTANTE*** ya que aquí es donde le decimos que se conecte al zyxel por su cablecito lan correcto.

original:http://www.telefonica.net/web/acano87/routing.jpg

Salvamos..
Salvamos la configuración del router... Configuration-> Save config
Y reiniciamos el router...

De esta forma cualquier usuario que se conecte tanto por cable como por wifi a este Xavi tendrá internet sin notar nada, ya que su señal se puenteará hasta el Zyxel. TODOS los ordenadores que se conecten estarán en red entre sí, no hay división en subredes, aunque tambien se puede hacer, pero he preferido hacerlo así. Asi cualquier PC ve a otro, archivos compartidos e impresores. Tambien desde cualquier ordenador se puede manejar cualquier router Risa

Podemos repetir este proceso para el 2º Xavi.. igual:
IP Local 2ºXavi: 192.168.1.200
y a la hora del hacer el routing le ponemos en la Gateway la ip local del router al que nos conectemos.. Aqui podemos crear diseños en estrella o lineales, cada uno a su gusto/necesidades.
Y podremos poner una red wifi en donde necesitemos con tantos puntos como queramos y que los routers entre ellos ya se entenderán.. que a lo que el usuario le importa es que donde sea le salga con su portatil que tiene una red wifi para enxufar su messenger.

Inconveniente: los routers tienen que estar enchufaos entre ellos con cable. Si os fijais al hacer el routing table no podemos elegir Interface wireless Triste pero bueno. Este sistema me ha ayudado a mí mucho.

Un saludo y espero que a alguien le sirva, y contestaré gustosamente cualquier pregunta, duda o sugerencia.

lunes, 2 de abril de 2012

Visualización de un enlace en facebook

De paso me servirá este post para comprobar como se visualiza este enlace en mi "page" del facebook, ya que antes servía con incluir una etiqueta metatag en el contenido. Ahora parece que suele usar además del título observando las tags y como descripción el primer párrafo de texto.



Así tal cual nos sale el enlace de esta guisa:


dejo aquí el siguiente enlace, como referencia... y conforme vaya probando ya lo dearrollaré

martes, 31 de enero de 2012

Como extraer los archivos de una carpeta (PHP/XML)

Leer los archivos de un directorio del servidor con PHP. (Salida XML).

6 Octubre, 2008 by flash-food.com

Con este código generamos un documento XML con el listado de archivos de determinado directorio del servidor web. Lo único que hay que personalizar es la línea $dir=”ruta/de/la/carpeta/a/explorar”; con la ruta de la carpeta elegida en vuestra máquina.


<?php
header("Content-type: text/xml");
$dir="ruta/de/la/carpeta/a/explorar";
$dr=@opendir($dir);
if(!$dr){
echo "<error/>";
exit;
} else {
echo "<exploracion>";
// recorremos todos los elementos de la carpeta
while (($archivo = readdir($dr)) !== false) {
// comprobamos que sean archivos y no otras carpetas
if(filetype($dir . $archivo)!="dir"){
$tam=round(filesize($dir . $archivo)/1024,0);
echo "<archivo nombre='$archivo' tam='$tam'/>";
}
}http://www.blogger.com/img/blank.gif
echo "</exploracion>";
closedir($dr);
}
?>



notas:
1._ " header("Content-type: text/xml");" debe ir en la primera linea, sino podría dar error.

texto de: http://www.flash-food.com

jueves, 19 de enero de 2012

Tener un reloj alarma en el escritorio

Fácil sencillo.... descargar, instalar (autoinstalable), y a funcionar. Un reloj que nos marca la hora actual y podemos establecerle una alarma, personalizable el sonido de esta.
Os esplico en tres o cuatro pasos como instalarla.

Primero dirijete a la dirección: http://bluefive.pair.com/alarm.htm

Aquí tienes dos archivos de descarga, para segun las versiones de windows, os pongo aquí los enlaces a las descargas directas.

1. para versiones antiguas (Windows 95, 98 and NT4)
- DOWNLOAD [ 680 Kb .zip ]


2. para las versiones actuales.
-DOWNLOAD [ 706 Kb .zip ]

una vez descargado el zip... lo descomprimimos, donde tenemos el instalador.. es sencillo, aceptar aceptar y se instala.