miércoles, 16 de noviembre de 2011
lunes, 31 de octubre de 2011
Curso Backtrack 5 online
Aquí les dejo el link para un curso echo por la comunidad OMHE de un curso de backtrack 5, lo estoy haciendo y hasta el momento es bastante bueno, también les dejo el archivo googlepythonmail.py al cual se hace mención dentro del curso. disfrútenlo y úsenlo con responsabilidad
Etiquetas:
backtrack5,
cursos,
googlepythonmail.py,
mexico,
OMHE,
online,
seguridad
martes, 25 de octubre de 2011
domingo, 25 de septiembre de 2011
lunes, 5 de septiembre de 2011
Enviar sms desde Debian GNU/Linux
version .pdf
Enviar sms desde Debian GNU/Linux
De vez en cuando necesitamos enviar muchos mensajes de texto y nuestro telefono celular se queda corto, para esto y mucho mas, a sido desarrollada la aplicacion gammu y su interfaz grafica wammu, esta yuca les dara un paso a paso de como enviar sms con esta aplicacion desde su interfaz grafica y desde la linea de comandos, para desarrollor esta yuca se a usado el moden HUAWEI modelo E1752, con un chip GSM de un telefono celular, pero deveria funcionar con cualquier modem 3G con acceso a enviar sms o cualquier telefono movil con conección al pc
Pasos
1. instalar wammu
1. Sistemas -> Amdinistración -> Gestor de paquetes Sinaptic
2. Buscar Wammu
3. doble click sobre wammu o click derecho -> marcar para instalar
4. click en aplicar
esperamos a que instale y listo, ya tenemos instalada nuestra aplicación para telefonos moviles.
2. dar permiso a nuestro usuario para tener acceso a los modem y telefonos moviles
1. Sistemas -> administración -> Usuarios y grupos
2. Selecciona tu usuario y le das ajustes avanzados
3. selecciona usar módems
4. cerrar la sesion de usuario
3. Empesar a mandar mensajes de texto
1. Aplicaciones -> accesorios -> wammu
2. vamos al menu “telefono” y seleccionamos conectar
3. vamos al menu “crear” y seleccionamos mensaje
4. marcamos la casilla de enviar
5. colocamos el numero de telefono al que le enviaremos el mensaje
en la opcion editar podemos agregar una lista de telefonos en formato txt (separados por coma (,), saltos de linea o espacios) y se enviara a cada uno te los numeros en la lista.
6. escribimos el mensaje de texto que enviaremos y selecionamos aceptar
7. esperamos unos segundos a que el mensaje se envie y listo
4. Tambien podemos enviar mensajes desde la consola
tecleamos en la consola el comando
para enviar muchos mensajes de texto podemos valernos de un script
el siguiente escript envia el mismo mensaje a muchos destinatarios, los cuales, se encuentran en la lista numeros.txt separados por coma (,)
#!/bin/bash
texto="todo el mensaje aqui"
IFS="\,"
for i in `less nuneros.txt`
do
gammu sendsms TEXT $i -text $texto
done
Autor.
Rubén Antonio Urrieta Bordones
http://rb34.blogspot.com
http://rb34.tumblr.com
urrietaruben@gmail.com
@rb342005
Enviar sms desde Debian GNU/Linux
De vez en cuando necesitamos enviar muchos mensajes de texto y nuestro telefono celular se queda corto, para esto y mucho mas, a sido desarrollada la aplicacion gammu y su interfaz grafica wammu, esta yuca les dara un paso a paso de como enviar sms con esta aplicacion desde su interfaz grafica y desde la linea de comandos, para desarrollor esta yuca se a usado el moden HUAWEI modelo E1752, con un chip GSM de un telefono celular, pero deveria funcionar con cualquier modem 3G con acceso a enviar sms o cualquier telefono movil con conección al pc
Pasos
1. instalar wammu
1. Sistemas -> Amdinistración -> Gestor de paquetes Sinaptic
2. Buscar Wammu
3. doble click sobre wammu o click derecho -> marcar para instalar
4. click en aplicar
esperamos a que instale y listo, ya tenemos instalada nuestra aplicación para telefonos moviles.
2. dar permiso a nuestro usuario para tener acceso a los modem y telefonos moviles
1. Sistemas -> administración -> Usuarios y grupos
2. Selecciona tu usuario y le das ajustes avanzados
3. selecciona usar módems
4. cerrar la sesion de usuario
3. Empesar a mandar mensajes de texto
1. Aplicaciones -> accesorios -> wammu
2. vamos al menu “telefono” y seleccionamos conectar
3. vamos al menu “crear” y seleccionamos mensaje
4. marcamos la casilla de enviar
5. colocamos el numero de telefono al que le enviaremos el mensaje
en la opcion editar podemos agregar una lista de telefonos en formato txt (separados por coma (,), saltos de linea o espacios) y se enviara a cada uno te los numeros en la lista.
6. escribimos el mensaje de texto que enviaremos y selecionamos aceptar
7. esperamos unos segundos a que el mensaje se envie y listo
4. Tambien podemos enviar mensajes desde la consola
tecleamos en la consola el comando
gammu sendsms TEXT numero_del_receptor -text “el mensaje de texto que queremos enviar”
para enviar muchos mensajes de texto podemos valernos de un script
el siguiente escript envia el mismo mensaje a muchos destinatarios, los cuales, se encuentran en la lista numeros.txt separados por coma (,)
#!/bin/bash
texto="todo el mensaje aqui"
IFS="\,"
for i in `less nuneros.txt`
do
gammu sendsms TEXT $i -text $texto
done
Autor.
Rubén Antonio Urrieta Bordones
http://rb34.blogspot.com
http://rb34.tumblr.com
urrietaruben@gmail.com
@rb342005
jueves, 11 de agosto de 2011
fundamentos de diseño logico y de computadors Morris Mano
fundamentos de diseño logico y de computadorsautor: Morris Manohttp://www.4shared.com/document/Us-aBzem/fundamentos_de_diseo_logico_y_.html
Etiquetas:
arquitectura del computador,
electronica digital,
Morris Mano,
Morris_Mano
martes, 12 de julio de 2011
Sumador - Restador
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity suma_resta is
port ( A, B : in std_logic_vector( 3 downto 0 );
C0 : in std_logic ;
S : out std_logic_vector ( 3 downto 0 );
C4 : out std_logic );
end suma_resta;
architecture comportamiento_1 of suma_resta is
signal suma : std_logic_vector( 4 downto 0 );
begin
process (A,B,C0)
begin
if C0='1' then
suma <= ( '0' & A ) + ( '0' & B );
else
suma <= ( '0' & A ) - ( '0' & B );
end if;
C4 <= suma( 4 );
S <= suma( 3 downto 0 );
end process;
end comportamiento_1;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity suma_resta is
port ( A, B : in std_logic_vector( 3 downto 0 );
C0 : in std_logic ;
S : out std_logic_vector ( 3 downto 0 );
C4 : out std_logic );
end suma_resta;
architecture comportamiento_1 of suma_resta is
signal suma : std_logic_vector( 4 downto 0 );
begin
process (A,B,C0)
begin
if C0='1' then
suma <= ( '0' & A ) + ( '0' & B );
else
suma <= ( '0' & A ) - ( '0' & B );
end if;
C4 <= suma( 4 );
S <= suma( 3 downto 0 );
end process;
end comportamiento_1;
Etiquetas:
+,
sumador-restador,
use ieee.std_logic_unsigned.all,
vector,
vhdl
sábado, 9 de julio de 2011
banco de pruebas detector de secuencias 1101
library ieee;
use IEEE.STD_LOGIC_1164.all;
entity bp_detector_secuencia is
end bp_detector_secuencia;
architecture estructural of bp_detector_secuencia is
signal bp_RESET, bp_RELOJ, bp_X, bp_Z : std_logic;
begin
uut: entity work.det_sec(detector_1)
port map ( RESET=>bp_RESET, CLK=>bp_RELOJ, x=>bp_X );
process
begin
bp_RESET <= '1'; -- inicializa al sistema
bp_RELOJ <= '0';
bp_X <= '0';
wait for 50 ns;
bp_RESET <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
end process;
end architecture estructural;
use IEEE.STD_LOGIC_1164.all;
entity bp_detector_secuencia is
end bp_detector_secuencia;
architecture estructural of bp_detector_secuencia is
signal bp_RESET, bp_RELOJ, bp_X, bp_Z : std_logic;
begin
uut: entity work.det_sec(detector_1)
port map ( RESET=>bp_RESET, CLK=>bp_RELOJ, x=>bp_X );
process
begin
bp_RESET <= '1'; -- inicializa al sistema
bp_RELOJ <= '0';
bp_X <= '0';
wait for 50 ns;
bp_RESET <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <='0';
bp_X <= '1';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '0';
wait for 50 ns;
bp_RELOJ <= '1';
wait for 50 ns;
bp_RELOJ <= '0';
bp_X <= '1';
wait for 50 ns;
end process;
end architecture estructural;
Etiquetas:
banco de pruebas,
detector de secuencias,
vhdl
Detector de secuencias
Detecter de secuencias que busca la secuencia 1101y al encontrarla activa la salida Z
library ieee ;
use ieee.std_logic_1164.all ;
entity det_sec is
port ( CLK, RESET, x : in std_logic ;
z : out std_logic );
end det_sec ;
architecture detector_1 of det_sec is
type tipo_estado is ( A, B, C, D ) ;
signal estado, siguiente_estado : tipo_estado ;
begin
process ( CLK, RESET )
begin
if ( RESET = '1' ) then
estado <= A ;
elsif ( CLK'event and CLK = '1' ) then
estado <= siguiente_estado ;
end if;
end process ;
process ( x, estado )
begin
case estado is
when A =>
if x = '1' then
siguiente_estado <= B ;
else
siguiente_estado <= A ;
end if ;
when B =>
if x = '1' then
siguiente_estado <= C ;
else
siguiente_estado <= A ;
end if ;
when C =>
if x = '1' then
siguiente_estado <= C ;
else
siguiente_estado <= D ;
end if;
when D =>
if x = '1' then
siguiente_estado <= B ;
else
siguiente_estado <= A ;
end if ;
end case ;
end process ;
process ( x, estado )
begin
case estado is
when A =>
z <= '0' ;
when B =>
z <= '0' ;
when C =>
z <= '0' ;
when D =>
if x = '1' then
z <= '1' ;
else
z <= '0' ;
end if ;
end case ;
end process ;
end detector_1 ;
library ieee ;
use ieee.std_logic_1164.all ;
entity det_sec is
port ( CLK, RESET, x : in std_logic ;
z : out std_logic );
end det_sec ;
architecture detector_1 of det_sec is
type tipo_estado is ( A, B, C, D ) ;
signal estado, siguiente_estado : tipo_estado ;
begin
process ( CLK, RESET )
begin
if ( RESET = '1' ) then
estado <= A ;
elsif ( CLK'event and CLK = '1' ) then
estado <= siguiente_estado ;
end if;
end process ;
process ( x, estado )
begin
case estado is
when A =>
if x = '1' then
siguiente_estado <= B ;
else
siguiente_estado <= A ;
end if ;
when B =>
if x = '1' then
siguiente_estado <= C ;
else
siguiente_estado <= A ;
end if ;
when C =>
if x = '1' then
siguiente_estado <= C ;
else
siguiente_estado <= D ;
end if;
when D =>
if x = '1' then
siguiente_estado <= B ;
else
siguiente_estado <= A ;
end if ;
end case ;
end process ;
process ( x, estado )
begin
case estado is
when A =>
z <= '0' ;
when B =>
z <= '0' ;
when C =>
z <= '0' ;
when D =>
if x = '1' then
z <= '1' ;
else
z <= '0' ;
end if ;
end case ;
end process ;
end detector_1 ;
domingo, 19 de junio de 2011
banco de pruebas decodificador 3 a 8 VHDL
Aqui les dejo el codigo que corresponde al banco de pruebas del decodificador 3 a 8 que les deje antes, exito. Les recomiendo Geany para escribir el codigo y ModelSim para compilarlo y probarlo. exito
library ieee;
use IEEE.STD_LOGIC_1164.all;
entity banco_prueba is
end entity banco_prueba ;
architecture prueba_decodificador_3_a_8 of banco_prueba is
signal bp_H : std_logic;
signal bp_D : std_logic_vector(7 downto 0);
signal bp_S : std_logic_vector(2 downto 0);
begin
uut: entity work.decodificador_3_a_8(estructural_1)
port map ( H=>bp_H, S=>bp_S, D=>bp_D);
process
begin
bp_H <= '0';
bp_S <= "000";
wait for 20 ns;
bp_H <= '0';
bp_S <= "001";
wait for 20 ns;
bp_H <= '0';
bp_S <= "010";
wait for 20 ns;
bp_H <= '0';
bp_S <= "011";
wait for 20 ns;
bp_H <= '0';
bp_S <= "100";
wait for 20 ns;
bp_H <= '0';
bp_S <= "101";
wait for 20 ns;
bp_H <= '0';
bp_S <= "110";
wait for 20 ns;
bp_H <= '0';
bp_S <= "111";
wait for 20 ns;
bp_H <= '1';
bp_S <= "000";
wait for 20 ns;
bp_H <= '1';
bp_S <= "001";
wait for 20 ns;
bp_H <= '1';
bp_S <= "010";
wait for 20 ns;
bp_H <= '1';
bp_S <= "011";
wait for 20 ns;
bp_H <= '0';
bp_S <= "100";
wait for 20 ns;
bp_H <= '1';
bp_S <= "101";
wait for 20 ns;
bp_H <= '1';
bp_S <= "110";
wait for 20 ns;
bp_H <= '1';
bp_S <= "111";
wait for 20 ns;
end process;
end architecture prueba_decodificador_3_a_8;
library ieee;
use IEEE.STD_LOGIC_1164.all;
entity banco_prueba is
end entity banco_prueba ;
architecture prueba_decodificador_3_a_8 of banco_prueba is
signal bp_H : std_logic;
signal bp_D : std_logic_vector(7 downto 0);
signal bp_S : std_logic_vector(2 downto 0);
begin
uut: entity work.decodificador_3_a_8(estructural_1)
port map ( H=>bp_H, S=>bp_S, D=>bp_D);
process
begin
bp_H <= '0';
bp_S <= "000";
wait for 20 ns;
bp_H <= '0';
bp_S <= "001";
wait for 20 ns;
bp_H <= '0';
bp_S <= "010";
wait for 20 ns;
bp_H <= '0';
bp_S <= "011";
wait for 20 ns;
bp_H <= '0';
bp_S <= "100";
wait for 20 ns;
bp_H <= '0';
bp_S <= "101";
wait for 20 ns;
bp_H <= '0';
bp_S <= "110";
wait for 20 ns;
bp_H <= '0';
bp_S <= "111";
wait for 20 ns;
bp_H <= '1';
bp_S <= "000";
wait for 20 ns;
bp_H <= '1';
bp_S <= "001";
wait for 20 ns;
bp_H <= '1';
bp_S <= "010";
wait for 20 ns;
bp_H <= '1';
bp_S <= "011";
wait for 20 ns;
bp_H <= '0';
bp_S <= "100";
wait for 20 ns;
bp_H <= '1';
bp_S <= "101";
wait for 20 ns;
bp_H <= '1';
bp_S <= "110";
wait for 20 ns;
bp_H <= '1';
bp_S <= "111";
wait for 20 ns;
end process;
end architecture prueba_decodificador_3_a_8;
VHDL. Decodificador 3 a 8
aqui les dejo el codigo en VHDL para un decodificador 3 a 8 utilizando process, case, if y vectores. Les recomiendo Geany para escribir el codigo y ModelSim para compilarlo y probarlo. exito
library ieee;
use ieee.std_logic_1164.all;
entity decodificador_3_a_8 is
port ( H : in std_logic;
S : in std_logic_vector(2 downto 0);
D : out std_logic_vector(7 downto 0));
end decodificador_3_a_8;
architecture estructural_1 of decodificador_3_a_8 is
begin
process(S,H)
begin
case s is
when "000" =>
if H ='1' then
D <= "00000001";
else
D <= "00000000";
end if;
when "001" =>
if H ='1' then
D <= "00000010";
else
D <= "00000000";
end if;
when "010" =>
if H ='1' then
D <= "00000100";
else
D <= "00000000";
end if;
when "011" =>
if H ='1' then
D <= "00001000";
else
D <= "00000000";
end if;
when "100" =>
if H ='1' then
D <= "00010000";
else
D <= "00000000";
end if;
when "101" =>
if H ='1' then
D <= "00100000";
else
D <= "00000000";
end if;
when "110" =>
if H ='1' then
D <= "01000000";
else
D <= "00000000";
end if;
when "111" =>
if H ='1' then
D <= "10000000";
else
D <= "00000000";
end if;
when others =>
D <= "00000000";
end case;
end process;
end estructural_1;
listo.
library ieee;
use ieee.std_logic_1164.all;
entity decodificador_3_a_8 is
port ( H : in std_logic;
S : in std_logic_vector(2 downto 0);
D : out std_logic_vector(7 downto 0));
end decodificador_3_a_8;
architecture estructural_1 of decodificador_3_a_8 is
begin
process(S,H)
begin
case s is
when "000" =>
if H ='1' then
D <= "00000001";
else
D <= "00000000";
end if;
when "001" =>
if H ='1' then
D <= "00000010";
else
D <= "00000000";
end if;
when "010" =>
if H ='1' then
D <= "00000100";
else
D <= "00000000";
end if;
when "011" =>
if H ='1' then
D <= "00001000";
else
D <= "00000000";
end if;
when "100" =>
if H ='1' then
D <= "00010000";
else
D <= "00000000";
end if;
when "101" =>
if H ='1' then
D <= "00100000";
else
D <= "00000000";
end if;
when "110" =>
if H ='1' then
D <= "01000000";
else
D <= "00000000";
end if;
when "111" =>
if H ='1' then
D <= "10000000";
else
D <= "00000000";
end if;
when others =>
D <= "00000000";
end case;
end process;
end estructural_1;
listo.
miércoles, 4 de mayo de 2011
Sistemas electricos
Dispositivos de potencia_20042.doc
guia #1
Fundamentos de Circuitos Electricos - 3Ed.Sadiku.pdf
Interferencia electromagnética.docx
Tabla de equivalencias.docx
guia #1
Fundamentos de Circuitos Electricos - 3Ed.Sadiku.pdf
Interferencia electromagnética.docx
Tabla de equivalencias.docx
Arquitectura del computador
aqui les dejo las imagenes escaneadas del libro de Morris Mano,
Capítulo_4_Morris_Mano.doc
Capítulo_5_Morris_Mano.doc
Capítulo_6_Morris_Mano_Circuitos_Secuenciales.doc
Capítulo_7_Morris_Mano.doc
Capítulo_8_Morris_mano.doc
Capítulo_9_Memorias.doc
Capítulo_10_Procesador.doc
Capítulo_4_Morris_Mano.doc
Capítulo_5_Morris_Mano.doc
Capítulo_6_Morris_Mano_Circuitos_Secuenciales.doc
Capítulo_7_Morris_Mano.doc
Capítulo_8_Morris_mano.doc
Capítulo_9_Memorias.doc
Capítulo_10_Procesador.doc
domingo, 17 de abril de 2011
vercion final del configurador de routers
aqui les dejo la ultima verción del proyecto, todavia tiene algunos errorsitos que no me dio tiempo de corregir, espero sugerencias y codigos... enlace
Etiquetas:
area de texto,
checkbox,
Cisco,
codigo PacketTracer,
java,
java "lenguaje java",
JBoutton,
Jcheckbox,
PacketTracer
domingo, 27 de marzo de 2011
primera vercion del configurador de routers
saludos amigos
aqui les dejo PARTE del codigo que desarrolle para mi proyecto,
les dejo solo las partes que me parecieron mas dificil con pocos comentarios para que se esfuersen un poco en entender y no pase lo que paso con la ecuacion de segundo grado (muchos las copiaron y la entregaron tal cual, el profesor me llamo la atención)
aqui les va:
//ancho de banda 10
cli.append(nombreRouter+"(config-if)#speed 10"+"\n");
//encender y apgar la interface
int conta;
conta++;
if(conta % 2==0){
cli.append(nombreRouter+"(config-if)#shutdown"+"\n");
} else{
cli.append(nombreRouter+"(config-if)#no shutdown"+"\n");
}
// agregar direccion ip
a = Integer.parseInt(ip1.getText());
b = Integer.parseInt(ip2.getText());
c = Integer.parseInt(ip3.getText());
d = Integer.parseInt(ip4.getText());
if (a == 0 && b == 0 && c == 0 && d == 0){
cli.append(nombreRouter+"(config-if)#no ip address "+"\n");
}
else{
if(a <= 255 && a >= 0 && b <= 255 && b >= 0 && c <= 255 && c >= 0 && d <= 255 && d >= 0 ){
cli.append(nombreRouter+"(config-if)#ip address "+a+"."+b+"."+c+"."+d+" "+mascara.getSelectedItem()+"\n");
} else{
errorip.setVisible(true);
}
}}
// boton agregar ruta estatica
if(a <= 255 && a >= 0 && b <= 255 && b >= 0 && c <= 255 && c >= 0 && d <= 255 && d >= 0 ){
if(e == 0 && f==0&& g == 0 && h == 0){
System.out.println("direccion de siguiente salto no valida");
} else{
if (a==0 && b==0&& c==0&&d==0){
if (contadefault ==0){
contadefault++;
staticroute.append("default via "+e+"."+f+"."+g+"."+h+" "+"\n");
cli.append(nombreRouter+"(config)#ip route "+a+"."+b+"."+c+"."+d+" "+"0.0.0.0"+" "+e+"."+f+"."+g+"."+h+" "+"\n");
}
else{
System.out.println("solo puede haber una ruta por defecto");
}
}
else{
cli.append(nombreRouter+"(config)#ip route "+a+"."+b+"."+c+"."+d+" "+mascara1.getSelectedItem()+" "+e+"."+f+"."+g+"."+h+" "+"\n");
if(e <= 255 && e >= 0 && f <= 255 && f >= 0 && g <= 255 && g >= 0 && h <= 255 && h >= 0 ){
if (mascara1.getSelectedItem() == "255.0.0.0"){
staticroute.append(a+"."+b+"."+c+"."+d+"/8 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.0.0"){
staticroute.append(a+"."+b+"."+c+"."+d+"/16 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.0"){
staticroute.append(a+"."+b+"."+c+"."+d+"/24 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.128"){
staticroute.append(a+"."+b+"."+c+"."+d+"/25 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.192"){
staticroute.append(a+"."+b+"."+c+"."+d+"/26 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.224"){
staticroute.append(a+"."+b+"."+c+"."+d+"/27 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.240"){
staticroute.append(a+"."+b+"."+c+"."+d+"/28 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.248"){
staticroute.append(a+"."+b+"."+c+"."+d+"/29 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.252"){
staticroute.append(a+"."+b+"."+c+"."+d+"/30 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.254"){
staticroute.append(a+"."+b+"."+c+"."+d+"/31 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
}
else{
// errorip.setVisible(true);
System.out.println("direccion de siguiente salto no valida");
//boton agregar rip
if (a == 0 && b == 0 && c == 0 && d == 0){
System.out.println("Direccion de red no valida");
// cli.append(nombreRouter+"(config-if)#no ip address "+"\n");
}
else{
if(a <= 255 && a >= 0 && b <= 255 && b >= 0 && c <= 255 && c >= 0 && d <= 255 && d >= 0 ){
cli.append(nombreRouter+"(config-router)#network "+a+"."+b+"."+c+"."+d+" "+"\n");
rip.append(a+"."+b+"."+c+"."+d+" "+"\n");
} else{
errorip.setVisible(true);
}
}}
catch(Exception e){
cli.append(nombreRouter+" "+niveltex+"#end"+"\n");
cli.append(nombreRouter+"(config)#router rip"+"\n");
cli.append(nombreRouter+"(config-router)#"+"\n");
nivel=10;
errorip.setVisible(true);
}
aqui les dejo PARTE del codigo que desarrolle para mi proyecto,
les dejo solo las partes que me parecieron mas dificil con pocos comentarios para que se esfuersen un poco en entender y no pase lo que paso con la ecuacion de segundo grado (muchos las copiaron y la entregaron tal cual, el profesor me llamo la atención)
aqui les va:
//ancho de banda 10
cli.append(nombreRouter+"(config-if)#speed 10"+"\n");
//encender y apgar la interface
int conta;
conta++;
if(conta % 2==0){
cli.append(nombreRouter+"(config-if)#shutdown"+"\n");
} else{
cli.append(nombreRouter+"(config-if)#no shutdown"+"\n");
}
// agregar direccion ip
a = Integer.parseInt(ip1.getText());
b = Integer.parseInt(ip2.getText());
c = Integer.parseInt(ip3.getText());
d = Integer.parseInt(ip4.getText());
if (a == 0 && b == 0 && c == 0 && d == 0){
cli.append(nombreRouter+"(config-if)#no ip address "+"\n");
}
else{
if(a <= 255 && a >= 0 && b <= 255 && b >= 0 && c <= 255 && c >= 0 && d <= 255 && d >= 0 ){
cli.append(nombreRouter+"(config-if)#ip address "+a+"."+b+"."+c+"."+d+" "+mascara.getSelectedItem()+"\n");
} else{
errorip.setVisible(true);
}
}}
// boton agregar ruta estatica
if(a <= 255 && a >= 0 && b <= 255 && b >= 0 && c <= 255 && c >= 0 && d <= 255 && d >= 0 ){
if(e == 0 && f==0&& g == 0 && h == 0){
System.out.println("direccion de siguiente salto no valida");
} else{
if (a==0 && b==0&& c==0&&d==0){
if (contadefault ==0){
contadefault++;
staticroute.append("default via "+e+"."+f+"."+g+"."+h+" "+"\n");
cli.append(nombreRouter+"(config)#ip route "+a+"."+b+"."+c+"."+d+" "+"0.0.0.0"+" "+e+"."+f+"."+g+"."+h+" "+"\n");
}
else{
System.out.println("solo puede haber una ruta por defecto");
}
}
else{
cli.append(nombreRouter+"(config)#ip route "+a+"."+b+"."+c+"."+d+" "+mascara1.getSelectedItem()+" "+e+"."+f+"."+g+"."+h+" "+"\n");
if(e <= 255 && e >= 0 && f <= 255 && f >= 0 && g <= 255 && g >= 0 && h <= 255 && h >= 0 ){
if (mascara1.getSelectedItem() == "255.0.0.0"){
staticroute.append(a+"."+b+"."+c+"."+d+"/8 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.0.0"){
staticroute.append(a+"."+b+"."+c+"."+d+"/16 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.0"){
staticroute.append(a+"."+b+"."+c+"."+d+"/24 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.128"){
staticroute.append(a+"."+b+"."+c+"."+d+"/25 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.192"){
staticroute.append(a+"."+b+"."+c+"."+d+"/26 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.224"){
staticroute.append(a+"."+b+"."+c+"."+d+"/27 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.240"){
staticroute.append(a+"."+b+"."+c+"."+d+"/28 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.248"){
staticroute.append(a+"."+b+"."+c+"."+d+"/29 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.252"){
staticroute.append(a+"."+b+"."+c+"."+d+"/30 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
if (mascara1.getSelectedItem() == "255.255.255.254"){
staticroute.append(a+"."+b+"."+c+"."+d+"/31 via "+e+"."+f+"."+g+"."+h+" "+"\n");
}
}
else{
// errorip.setVisible(true);
System.out.println("direccion de siguiente salto no valida");
//boton agregar rip
if (a == 0 && b == 0 && c == 0 && d == 0){
System.out.println("Direccion de red no valida");
// cli.append(nombreRouter+"(config-if)#no ip address "+"\n");
}
else{
if(a <= 255 && a >= 0 && b <= 255 && b >= 0 && c <= 255 && c >= 0 && d <= 255 && d >= 0 ){
cli.append(nombreRouter+"(config-router)#network "+a+"."+b+"."+c+"."+d+" "+"\n");
rip.append(a+"."+b+"."+c+"."+d+" "+"\n");
} else{
errorip.setVisible(true);
}
}}
catch(Exception e){
cli.append(nombreRouter+" "+niveltex+"#end"+"\n");
cli.append(nombreRouter+"(config)#router rip"+"\n");
cli.append(nombreRouter+"(config-router)#"+"\n");
nivel=10;
errorip.setVisible(true);
}
martes, 15 de marzo de 2011
Calcular ecuacion de segundo grado en java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author rb34
*/
//import java.awt.*;
import java.awt.Color;
import javax.swing.*;
public class ecuacion extends JFrame{
// static JFrame ventana = new JFrame("ventana");
static JButton procesar = new JButton();
static JButton borrar = new JButton();
static JLabel a = new JLabel("a");
static JLabel b = new JLabel("b");
static JLabel c = new JLabel("c");
static JLabel x = new JLabel("x");
static JLabel y = new JLabel("y");
static JTextField texta = new JTextField();
static JTextField textb = new JTextField();
static JTextField textc = new JTextField();
static JTextField textx = new JTextField();
static JTextField texty = new JTextField();
public ecuacion(){
initComponents();
}
private void initComponents(){
this.setTitle("ecuacion2");
this.setSize(500, 160);
this.setResizable(false);
this.setLayout(null);
//this.setBackground(Color.red);
procesar.setLabel("procesar");
procesar.setBounds(10, 80, 100, 30);
procesar.setBackground(Color.blue);
add(procesar);
borrar.setLabel("borrar");
borrar.setBounds(300, 80, 100, 30);
borrar.setBackground(Color.CYAN);
add(borrar);
a.setBounds(10, 10, 10, 20);
texta.setBounds(30, 10, 50, 20);
add(a);
add(texta);
b.setBounds(10, 30, 10, 20);
textb.setBounds(30, 30, 50, 20);
add(b);
add(textb);
c.setBounds(10, 50, 10, 20);
textc.setBounds(30, 50, 50, 20);
add(c);
add(textc);
x.setBounds(300, 10, 10, 20);
textx.setBounds(310, 10, 50, 20);
add(x);
add(textx);
y.setBounds(300, 30, 10, 20);
texty.setBounds(310, 30, 50, 20);
add(y);
add(texty);
this.setVisible(true);
}
public static void main(String args[]){
ecuacion demo =new ecuacion();
}
}
class evento2 implements ActionListener{
ecuacion local;
int a,b,c;
double z;
public evento2( ecuacion para){
local = para;
}
public void actionPerformed(ActionEvent evento2){
if (evento2.getSource()==local.procesar){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
c = Integer.parseInt(local.textc.getText());
//z=Math.sqrt((b*b)+(-4*a*c));
local.textx.setText(" "+((-b+Math.sqrt((b*b)+(-4*a*c)))/(2*a)));
local.texty.setText(" "+((-b-Math.sqrt((b*b)+(-4*a*c)))/(2*a)));
}
if (evento2.getSource()==local.borrar){
local.texta.setText(null);
local.textb.setText(null);
local.textc.setText(null);
local.textx.setText(null);
local.texty.setText(null);
}
}
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author rb34
*/
//import java.awt.*;
import java.awt.Color;
import javax.swing.*;
public class ecuacion extends JFrame{
// static JFrame ventana = new JFrame("ventana");
static JButton procesar = new JButton();
static JButton borrar = new JButton();
static JLabel a = new JLabel("a");
static JLabel b = new JLabel("b");
static JLabel c = new JLabel("c");
static JLabel x = new JLabel("x");
static JLabel y = new JLabel("y");
static JTextField texta = new JTextField();
static JTextField textb = new JTextField();
static JTextField textc = new JTextField();
static JTextField textx = new JTextField();
static JTextField texty = new JTextField();
public ecuacion(){
initComponents();
}
private void initComponents(){
this.setTitle("ecuacion2");
this.setSize(500, 160);
this.setResizable(false);
this.setLayout(null);
//this.setBackground(Color.red);
procesar.setLabel("procesar");
procesar.setBounds(10, 80, 100, 30);
procesar.setBackground(Color.blue);
add(procesar);
borrar.setLabel("borrar");
borrar.setBounds(300, 80, 100, 30);
borrar.setBackground(Color.CYAN);
add(borrar);
a.setBounds(10, 10, 10, 20);
texta.setBounds(30, 10, 50, 20);
add(a);
add(texta);
b.setBounds(10, 30, 10, 20);
textb.setBounds(30, 30, 50, 20);
add(b);
add(textb);
c.setBounds(10, 50, 10, 20);
textc.setBounds(30, 50, 50, 20);
add(c);
add(textc);
x.setBounds(300, 10, 10, 20);
textx.setBounds(310, 10, 50, 20);
add(x);
add(textx);
y.setBounds(300, 30, 10, 20);
texty.setBounds(310, 30, 50, 20);
add(y);
add(texty);
this.setVisible(true);
}
public static void main(String args[]){
ecuacion demo =new ecuacion();
}
}
class evento2 implements ActionListener{
ecuacion local;
int a,b,c;
double z;
public evento2( ecuacion para){
local = para;
}
public void actionPerformed(ActionEvent evento2){
if (evento2.getSource()==local.procesar){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
c = Integer.parseInt(local.textc.getText());
//z=Math.sqrt((b*b)+(-4*a*c));
local.textx.setText(" "+((-b+Math.sqrt((b*b)+(-4*a*c)))/(2*a)));
local.texty.setText(" "+((-b-Math.sqrt((b*b)+(-4*a*c)))/(2*a)));
}
if (evento2.getSource()==local.borrar){
local.texta.setText(null);
local.textb.setText(null);
local.textc.setText(null);
local.textx.setText(null);
local.texty.setText(null);
}
}
}
Etiquetas:
ecuacion de segundo grado,
java,
java "lenguaje java"
sábado, 12 de marzo de 2011
Calculadora en Java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author rb34
*/
import java.awt.Color;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class calculadora extends JFrame{
// static JFrame ventana = new JFrame("ventana");
JButton procesar = new JButton();
JButton borrar = new JButton();
JButton dividir = new JButton();
JButton multiplicar = new JButton();
JLabel a = new JLabel("a");
JLabel b = new JLabel("b");
JLabel c = new JLabel("c");
JLabel x = new JLabel("x");
JLabel y = new JLabel("y");
JTextField texta = new JTextField();
JTextField textb = new JTextField();
JTextField textc = new JTextField();
JTextField textx = new JTextField();
JTextField texty = new JTextField();
public calculadora(){
initComponents();
}
private void initComponents(){
this.setTitle("calculadora");
this.setSize(500, 160);
//this.setResizable(false);
this.setLayout(null);
//this.setBackground(Color.red);
procesar.setLabel("+");
procesar.setBounds(10, 80, 100, 30);
procesar.setBackground(Color.CYAN);
procesar.addActionListener(new evento(this));
add(procesar);
borrar.setLabel("-");
borrar.setBounds(115, 80, 100, 30);
borrar.setBackground(Color.CYAN);
borrar.addActionListener(new evento(this));
add(borrar);
multiplicar.setLabel("*");
multiplicar.setBounds(220, 80, 100, 30);
multiplicar.setBackground(Color.CYAN);
multiplicar.addActionListener(new evento(this));
add(multiplicar);
dividir.setLabel("/");
dividir.setBounds(325, 80, 100, 30);
dividir.setBackground(Color.CYAN);
dividir.addActionListener(new evento(this));
add(dividir);
a.setBounds(10, 10, 10, 20);
texta.setBounds(30, 10, 50, 20);
add(a);
add(texta);
b.setBounds(10, 30, 10, 20);
textb.setBounds(30, 30, 50, 20);
add(b);
add(textb);
c.setBounds(10, 50, 10, 20);
textc.setBounds(30, 50, 50, 20);
add(c);
add(textc);
/*
x.setBounds(300, 10, 10, 20);
textx.setBounds(310, 10, 50, 20);
add(x);
add(textx);
y.setBounds(300, 30, 10, 20);
texty.setBounds(310, 30, 50, 20);
add(y);
add(texty);
*/
//pack();
this.setVisible(true);
}
public static void main(String args[]){
calculadora demo =new calculadora();
}
}
class evento implements ActionListener{
calculadora local;
int a,b;
public evento(calculadora par){
local = par;
}
public void actionPerformed(ActionEvent evento){
if (evento.getSource()==local.procesar){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
local.textc.setText(""+(a+b));
}
if (evento.getSource()==local.borrar){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
local.textc.setText(""+(a-b));
}
if (evento.getSource()==local.multiplicar){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
local.textc.setText(""+(a*b));
}
if (evento.getSource()==local.dividir){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
local.textc.setText(""+(a/b));
}
}
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author rb34
*/
import java.awt.Color;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class calculadora extends JFrame{
// static JFrame ventana = new JFrame("ventana");
JButton procesar = new JButton();
JButton borrar = new JButton();
JButton dividir = new JButton();
JButton multiplicar = new JButton();
JLabel a = new JLabel("a");
JLabel b = new JLabel("b");
JLabel c = new JLabel("c");
JLabel x = new JLabel("x");
JLabel y = new JLabel("y");
JTextField texta = new JTextField();
JTextField textb = new JTextField();
JTextField textc = new JTextField();
JTextField textx = new JTextField();
JTextField texty = new JTextField();
public calculadora(){
initComponents();
}
private void initComponents(){
this.setTitle("calculadora");
this.setSize(500, 160);
//this.setResizable(false);
this.setLayout(null);
//this.setBackground(Color.red);
procesar.setLabel("+");
procesar.setBounds(10, 80, 100, 30);
procesar.setBackground(Color.CYAN);
procesar.addActionListener(new evento(this));
add(procesar);
borrar.setLabel("-");
borrar.setBounds(115, 80, 100, 30);
borrar.setBackground(Color.CYAN);
borrar.addActionListener(new evento(this));
add(borrar);
multiplicar.setLabel("*");
multiplicar.setBounds(220, 80, 100, 30);
multiplicar.setBackground(Color.CYAN);
multiplicar.addActionListener(new evento(this));
add(multiplicar);
dividir.setLabel("/");
dividir.setBounds(325, 80, 100, 30);
dividir.setBackground(Color.CYAN);
dividir.addActionListener(new evento(this));
add(dividir);
a.setBounds(10, 10, 10, 20);
texta.setBounds(30, 10, 50, 20);
add(a);
add(texta);
b.setBounds(10, 30, 10, 20);
textb.setBounds(30, 30, 50, 20);
add(b);
add(textb);
c.setBounds(10, 50, 10, 20);
textc.setBounds(30, 50, 50, 20);
add(c);
add(textc);
/*
x.setBounds(300, 10, 10, 20);
textx.setBounds(310, 10, 50, 20);
add(x);
add(textx);
y.setBounds(300, 30, 10, 20);
texty.setBounds(310, 30, 50, 20);
add(y);
add(texty);
*/
//pack();
this.setVisible(true);
}
public static void main(String args[]){
calculadora demo =new calculadora();
}
}
class evento implements ActionListener{
calculadora local;
int a,b;
public evento(calculadora par){
local = par;
}
public void actionPerformed(ActionEvent evento){
if (evento.getSource()==local.procesar){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
local.textc.setText(""+(a+b));
}
if (evento.getSource()==local.borrar){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
local.textc.setText(""+(a-b));
}
if (evento.getSource()==local.multiplicar){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
local.textc.setText(""+(a*b));
}
if (evento.getSource()==local.dividir){
a = Integer.parseInt(local.texta.getText());
b = Integer.parseInt(local.textb.getText());
local.textc.setText(""+(a/b));
}
}
}
sábado, 5 de febrero de 2011
Suscribirse a:
Entradas (Atom)