Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - ¨°o.O (ßa¢Kg|姧) O.o°

#1
Programación C/C++ / Inicializar LCD (Linux)
16 Julio 2010, 16:17 PM
Hola a todos,

Estoy usando un powertip pc1602f directamente conectado al puerto paralelo del pc utilizando el esquema este:
http://www.beyondlogic.org/parlcd/parlcd.htm

Todo bien lo energizo el lcd y me muestra la primera fila con bloques negros, hasta ahí bien pero ahora quiero mandar información por el puerto paralelo.

Si mirais la página vereis que hay un código fuente para mandar información al lcd, pero usa librerias de windows  :huh:

Dejo mi código intentado convertido en linux.


#include <stdio.h>   
#include <string.h> 
#include <unistd.h> 
#include <fcntl.h>   
#include <errno.h>   
#include <termios.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/io.h>
#define PORTADDRESS 0x3f8
#define DATA PORTADDRESS+0
#define STATUS PORTADDRESS+1
#define CONTROL PORTADDRESS+2

main(int argc, char **argv)
{char string[] = {"Testing 1,2,3"};

    int count;
    int len;

    char init[10];
    init[0] = 0x0F; /* Init Display */
    init[1] = 0x01; /* Clear Display */
    init[2] = 0x38; /* Dual Line / 8 Bits */

    if (ioperm(PORTADDRESS,1,1))
        fprintf(stderr, "No se puede acceder al: %x\n", PORTADDRESS), exit(1);

    outb(CONTROL, inb(CONTROL) & 0xDF);
    outb(CONTROL, inb(CONTROL) & 0x08);


    for (count = 0; count <= 2; count++)
    {

        outb(DATA, init[count]);
        outb(CONTROL,inb(CONTROL) | 0x01);
        sleep(20);                                 
        outb(CONTROL,inb(CONTROL) & 0xFE);
        sleep(20);                                 
    }
    outb(CONTROL, inb(CONTROL) & 0xF7); 

    len = strlen(string);

    for (count = 0; count < len; count++)
    {
        outb(DATA, string[count]);
        outb(CONTROL,inb(CONTROL) | 0x01);
        sleep(2);
        outb(CONTROL,inb(CONTROL) & 0xFE);
        sleep(2);
    }

}



Compila perfectamente pero cuando lo quiero provar lo ejecuto como root y me arroja esto

Código (bash) [Seleccionar]
root@ubuntu:/media/E80C-30D5/LCD/build# ./lcd
Fallo de segmentación (`core' generado)
root@ubuntu:/media/E80C-30D5/LCD/build#


Mirando el dmesg me encuentro con esto.

Código (bash) [Seleccionar]
[ 3176.691837] lcd[3867] general protection ip:400cb4 sp:7fff887ad290 error:0 in lcd[400000+2000]
root@ubuntu:/media/E80C-30D5/LCD/build#


Dejo el dmesg del ttyS*
Código (bash) [Seleccionar]

root@ubuntu:/media/E80C-30D5/LCD/build# dmesg |grep ttyS
[    2.335717] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.335817] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    2.336100] 00:0b: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    2.336207] 00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
root@ubuntu:/media/E80C-30D5/LCD/build#


PD:És el hilo de http://foro.elhacker.net/electronica/inicializar_lcd_linux-t299539.0.html ; pero puesto aquí haber si me podeis ayudar.


#2
Electrónica / Inicializar LCD (Linux)
14 Julio 2010, 13:26 PM
Hola a todos,

Estoy usando un powertip pc1602f directamente conectado al puerto paralelo del pc utilizando el esquema este:
http://www.beyondlogic.org/parlcd/parlcd.htm

Todo bien lo energizo el lcd y me muestra la primera fila con bloques negros, hasta ahí bien pero ahora quiero mandar información por el puerto paralelo.

Si mirais la página vereis que hay un código fuente para mandar información al lcd, pero usa librerias de windows  :huh:

Dejo mi código intentado convertido en linux.


#include <stdio.h>   
#include <string.h> 
#include <unistd.h> 
#include <fcntl.h>   
#include <errno.h>   
#include <termios.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/io.h>
#define PORTADDRESS 0x3f8
#define DATA PORTADDRESS+0
#define STATUS PORTADDRESS+1
#define CONTROL PORTADDRESS+2

main(int argc, char **argv)
{char string[] = {"Testing 1,2,3"};

    int count;
    int len;

    char init[10];
    init[0] = 0x0F; /* Init Display */
    init[1] = 0x01; /* Clear Display */
    init[2] = 0x38; /* Dual Line / 8 Bits */

    if (ioperm(PORTADDRESS,1,1))
        fprintf(stderr, "No se puede acceder al: %x\n", PORTADDRESS), exit(1);

    outb(CONTROL, inb(CONTROL) & 0xDF);
    outb(CONTROL, inb(CONTROL) & 0x08);


    for (count = 0; count <= 2; count++)
    {

        outb(DATA, init[count]);
        outb(CONTROL,inb(CONTROL) | 0x01);
        sleep(20);                                 
        outb(CONTROL,inb(CONTROL) & 0xFE);
        sleep(20);                                 
    }
    outb(CONTROL, inb(CONTROL) & 0xF7); 

    len = strlen(string);

    for (count = 0; count < len; count++)
    {
        outb(DATA, string[count]);
        outb(CONTROL,inb(CONTROL) | 0x01);
        sleep(2);
        outb(CONTROL,inb(CONTROL) & 0xFE);
        sleep(2);
    }

}



Compila perfectamente pero cuando lo quiero provar lo ejecuto como root y me arroja esto

Código (bash) [Seleccionar]
root@ubuntu:/media/E80C-30D5/LCD/build# ./lcd
Fallo de segmentación (`core' generado)
root@ubuntu:/media/E80C-30D5/LCD/build#


Mirando el dmesg me encuentro con esto.

Código (bash) [Seleccionar]
[ 3176.691837] lcd[3867] general protection ip:400cb4 sp:7fff887ad290 error:0 in lcd[400000+2000]
root@ubuntu:/media/E80C-30D5/LCD/build#


Dejo el dmesg del ttyS*
Código (bash) [Seleccionar]

root@ubuntu:/media/E80C-30D5/LCD/build# dmesg |grep ttyS
[    2.335717] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.335817] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    2.336100] 00:0b: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    2.336207] 00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
root@ubuntu:/media/E80C-30D5/LCD/build#




#3
Hola a todos,

Estoy haciendo un experimento en casa con un lcd powertip pc1602f que me prestaron para imprimir en una pantalla lcd alguna cadena de carácteres
Datasheet: http://www.powertipusa.com/pdf/pc1602f.pdf

Entonces se me plantea un problema y serio porque no se si me he cargado el lcd o no.

Problema:

He soldado los pines que estan hechos en este esquema:
http://www.beyondlogic.org/parlcd/parlcd.htm
Entonces del esquema en el pin del puerto paralelo el 17 que va al pin 4 del lcd no lo he puesto el pin 17 del puerto, lo e puesto al 16, ya que  he visto en 2 páginas que se tenia que conectar aquí:
http://personal.telefonica.terra.es/web/soloelectronicos/reproductor/construccion.htm                 <--- Por el medio o así sale el pinout 
o aqui tambien:
http://electrosofts.com/parallel/lcd.html
Entonces no se si va al 16 o al 17.

Entonces lo e conectado al 16 al pc y me a salido la primera linea del lcd de color como bloques en forma cuadrada solo la primera fila. Eso quiere decir que me lo he cargado?:duda:
Si no me lo he cargado y es porque no le estoy mandando nada por eso sale así
Que tengo que hacer para mandarle información por el com al lcd? hay algun programa hecho ya?

PD: El caso es que en la web  de electrosofts sale que la misma pantalla que ami cuando lo energizo pero dudo ahi en ese pin.
Alguna ayuda?
Muchas gracias por leer.

Saludos.
#4
Scripting / Ordenar array perl y regex
8 Julio 2010, 14:59 PM
Hola :)

Estoy intentando cojer unos links y unas imagenes tal que queden así ordenado el array:

Dirección URL
Enlace de imagen
Dirección URL
Enlace de imagen


Así hasta que recorra el bucle y los encuentre todos.

Problemas:

No consigo que al recorrer el bucle los ponga ordenados y tampoco consigo que la expresión regular recoja el enlace de la imagen acuerdo a regex, los consigo todos pero todos los de la página.

Recojo los enlaces de las imagenes con $Explorador->find_all_images() del módulo WWW:Mechanize.

El tipo de html que esta especificado en el DOM de la página es este:

Código (html4strict) [Seleccionar]
  <table border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
           <tr>

           <td>
               <a href="http://valeptr.com/scripts/runner.php?PA=4749" target="_ptc" onclick="javascript:reloadpage(11)">
                   <img src="http://valeptr.com/scripts/runner.php?REDIRECT=http%3A%2F%2Fwww.e-qoo2.net%2Fimages%2Fbanner2.gif&amp;hash=fc93bac327d1672abbe159e0a1fc17cd" alt="e-qoo2"   border="0">
               </a>
           </td>
           </tr>
           </table>


Y  no consigo poner el link y la imagen que tiene debajo como he puesto arriba marcado en negrita.

Pongo todo el script en perl.

Código (php-brief) [Seleccionar]
#!/usr/bin/perl    
#<table border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
#            <tr>
#
#            <td>
#               <a href="http://valeptr.com/scripts/runner.php?PA=4749" target="_ptc" onclick="javascript:reloadpage(11)">
#                    <img src="http://valeptr.com/scripts/runner.php?REDIRECT=http%3A%2F%2Fwww.e-qoo2.net%2Fimages%2Fbanner2.gif&amp;hash=fc93bac327d1672abbe159e0a1fc17cd" alt="e-qoo2"   border="0">
#                </a>
#            </td>
#           </tr>
#            </table>

use WWW::Mechanize;
use WWW::Mechanize::Sleepy;
my $Explorador = WWW::Mechanize::Sleepy->new( agent => 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624', sleep => '1' );
my @Array_PTC;
$Explorador->get("file:/home/alejandro/Escritorio/1appsearch.php.html") #Proceed to access the URL to find all the links in emails
    or die q{Ha ocurrido un error obteniendo la página http://valeptr.com/pages/1appsearch.php.html};

#print $Explorador->content();
foreach my $link ( $Explorador->links, $Explorador->find_all_images()  )
{
   if ( my ($interesting) = $link->url =~ qr{scripts/runner\.php\?PA=})
{
push @Array_PTC, $link->url;
    }
   if ( my ($interesting) = $Explorador->find_all_images()=~ #Aqui expresión regular)
{
push @Array_PTC, $link->url;
    }
}

print "$_\n" for @Array_PTC;


Resumiendo:
Consigo todos los enlaces que cumplen con el pattern scripts/runner\.php\?PA=
pero lo que consigo es:
   1.- Conseguir todos los enlaces de debajo de el enlace <img src=" ... "
   2.- Ordenar los enlaces para que queden link y debajo el enlace


Saludos,
#5
Scripting / Perl Regular Expressions (Regex)
5 Julio 2010, 20:40 PM
Hola :)

Estoy haciendo un script en Perl para que haga un HTTP Post en una url, y cuando me logeo quiero cojer un trozo de texto y retocarlo para que quede concorde y no salgan todas las etiquetas del html etc..

El código que quiero cojer es este:

Código (html4strict) [Seleccionar]

    <td class="tm"><b>AQUI QUIERO COJER ESTO1</b><br>
Welcome back to your members area.<br><br>
Your username here is <b>AQUI QUIERO COJER ESTO2</b>.<br>

<script language="javascript" type="text/javascript">


Por supuesto que es un trozo de código del DOM de la página.
En todo caso quiero cojer lo que hay dentro del AQUI QUIERO COJER ESTO1 y del AQUI QUIERO COJER ESTO2

PD: Llevo aquí 2h y no lo consigo :S

Aquí pongo todo mi script:

Código (perl) [Seleccionar]
#!/usr/bin/perl
#=======================================================================
#
#
#  DESCRIPCIÓN:
#
#      OPTIONS:  ---
#         BUGS:  ---
#        NOTAS:  ---
#      VERSION:  1.0
#     CREADO:  Lunes 5 de julio del 2010
#    REVISIÓN:  1
#=======================================================================

use warnings;
use strict;
use WWW::Mechanize;


   my $Explorador = WWW::Mechanize->new( agent => 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624' ); #Constructor del explorador con un UserAgent falso.
   $Explorador->get("file://home/alejandro/enter.php.html"); #Se procede a acceder a la dirección url para hacer el HTTP Post
   $Explorador->field('username','Miuser'); # Busca el campo username y pone el usuario
   $Explorador->field('password','Mipass');  # Busca el campo password y pone la contraseña
   $Explorador->submit(); # Hace el HTTP POST

   print $Explorador->content();
   
   if($Explorador->content() =~ m"\s/<td class=\"tm\"><b>")
      {
       
      }
   else
   {
     die "Error: No se puede encontrar el nombre.\n¿Ha provado que su usuario y contraseña sean correctos?";
    }


#6
Hola gente  :rolleyes:

Estoy haciendo un trabajo para ver si puedo conseguir esnifar todo lo que llega al router A desde una iP publica que no tengo acceso a otra IP publica que es la mía.

El esquema que tengo hecho es este:


RouterA                                                                           Router B Mio   
IP Pública                                                                         IP Pública

La cosa que esta clara es que estoy conectado a el, es decir puedo ver toda la configuración del router total.
Como puedo hacer para que desde mi casa pueda ver el router de mi compañero sin tener que conectarme físicamente contra el  es decir ir a su casa.

Saludos :)
Backglass.
#7
Hola de nuevo. :)

Estoy esta semana muy liado intentando utilizar el mechanize que es un modulo de python webbrowser para mirar unos links de una web y he llegado a un punto que no logro descifrar que es:

Sí tengo un archivo de texto donde ahí guardo todos los datos de la página fuente osea el código fuente de la web y quiero que lea solo el texto que hay entre 2 palabras que están en el mismo texto y que coja el link que hay en ellas.

Gráficamente seria así:

----------------Fichero de texto-----------------------
Muchas línias de código fuente de la web

Hola me llamo x

http://link

Hasta luego

Me despidasdas

----------------Fichero de texto-----------------------

Cómo puedo cojer el link de http://link sí hay más de uno y estan fuera del rango Hola me llamo x , y Me despidasdas?



Saludos, :-\

Backglass
#8
Hola a todos, ::)

Estoy liado haciendo un script en python y tengo que quitar cosas de los links que recorro por el for de una página web.

El bucle lo paso asi:
Código (python) [Seleccionar]

for link in br.links(url_regex=re.compile('.*')):
   print link


Una vez que lo paso me muestra todas esto y otros links que no necesito parsear de:
Link(base_url='file:/home/alejandro/Escritorio/1biinox.php.html', url='http://vale.com/scripts/runner.php?IM=45b2a2ec96953.';, text='* Ejemplo* aquamails', tag='a', attrs=[('href', 'http://vale.com/scripts/runner.php?IM=45b2a2ec96953.'), ('target', '_inbox')])

En el link de arriba quiero cojer todo lo que esta en url osea todo el link:
http://vale.com/scripts/runner.php?IM=45b2a2ec96953.

Y lo demás descartarlo.
¿Como lo podria hacer?

Saludos
Backglass





#9
Hola,

Llevo ya 2 horas mirando como puedo hacer que de un archivo de texto recorrerlo completamente línia a línia y si coincide con una linia entonces haga una cosa que es saltar de línia por ejemplo si se encuentra una coincidencia que es por ejemplo:
-->"Alejandro Jussdcggd"

Si entonces se encuentra coja la línia y salte de línia por ejemplo si -->"Alejandro Jussdcggd" esta en la línia 4 que coja la línia 4 y le sume 3 para ir a la línia "vdasd"

Os dejo la porción del código que tengo hecho.

Código (python) [Seleccionar]
if __name__ == "__main__":
   f= open('/home/alejandro/Escritorio/s.php')
   for linas in f:
       if linas.startswith('-->"Alejandro Jussdcggd"'):
           v= linas+3 #Fallo aquí
           print v

#10
Hola a todos,

Estoy haciendo un bot para Beruby, todo va bien cuando carga la página y tal pero cuando quiero hacer click en una imagen tipo


en las flechas verdes no lo se hacer.. He estado mirando el webbrowser.document.invokescript  pero no lo sé hacer funcionar..
Dentro de la imagen cuando haces click tiene esto dentro



Código (javascript) [Seleccionar]
<td class="SubCatCell3centered"><form action="http://clk.tradedoubler.com/click" id="form_for_category_webmasters_1543" method="get" name="form_for_category_webmasters_1543" onsubmit="new Ajax.Request('/portal/click_account?submit_control_var=submit_form_for_category_webmasters_1543&amp;widget_id=1543', {asynchronous:false, evalScripts:true, parameters:Form.serialize('form_for_category_webmasters_1543') + '&amp;authenticity_token=' + encodeURIComponent('0639b0c3f9de5f39a5d34e9081837c96084441ec')});return submit_form_for_category_webmasters_1543;" target="_blank">
      <input id="a" name="a" value="1388433" type="hidden"><input id="p" name="p" value="66819" type="hidden"><input id="g" name="g" value="17296302" type="hidden"><input id="epi" name="epi" value="116058" type="hidden">
      <a href="#" class="" onclick="if(document.form_for_category_webmasters_1543.onsubmit()) {document.form_for_category_webmasters_1543.submit();$('category_box_floating_div').hide();}" title="Visitar"><img alt="Visitar" src="/images/icon-greenarrow-big.gif?1261987623" height="29" width="29"></a>
    </form>
<span id="placeholder_for_1543">&nbsp;</span>
</td>


Pienso que el código a ejecutar esta aquí
      <a href="#" class=""
Código (javascript) [Seleccionar]
onclick="if(document.form_for_category_webmasters_1543.onsubmit()) {document.form_for_category_webmasters_1543.submit();$('category_box_floating_div').hide();}" title="Visitar"><img alt="Visitar" src="/images/icon-greenarrow-big.gif?1261987623" height="29" width="29"></a>


Alguna ayuda de como puedo ejecutar-lo?
Gracias,
#11
.NET (C#, VB.NET, ASP) / WebBrowser
24 Agosto 2009, 12:34 PM
Holass :)

Estoy haciendo un programa con unos cuantos webbrowser y unos textbox y un boton.

La idea es que lo que quiero hacer es que al pulsar el boton  se lean los textbox con los proxys y se asigne a cada uno uno tipo así;


TextBox1----------->webbrowser1;
TextBox2----------->webbrowser2;

Pero no consigo hacer funcionar los proxys sin tener que modificar el registro del windows.
PD: Me pegado la pateada de google buscandolo en ingles y en español y nada no hay nada solo lo del registro pero lo del registro solamente sirve para una ventana no para las demás.

Alguna ayuda?? con algunas funciones que deberia usar o  algun código de ejemplo?? :-\

Backglass,
#12
.NET (C#, VB.NET, ASP) / Manejo de fichero
20 Agosto 2009, 14:19 PM
Holas :)

Llevo unos cuantos dias calentandome la cabeza porque no consigo hacer que mi mismo fichero osea que esta un uso y ejecutandose se copie por ejemplo en otra carpeta especificada.

El código que utilizo és el siguiente:

Código (csharp) [Seleccionar]
string source2 = Application.ExecutablePath.ToString();
           File.Move(source2, @"D:\prueba\";


Pero no funciona no sale el fichero copiado :S

PD:La carpeta existe.

Alguna ayuda? :-\
#13
Holaa gente,

Se como se puede terminar un proceso pero lo que no sé és como hacer para   terminar un proceso que esta siendo usando por un antivirus que esta en uso.
Os dejo el código en consola, cuando lo ejecuto me sale una exception dicendo: No se controló Win32Exception
Acceso denegado.
Entonces me pregunto como lo tendria que hacer para matar el proceso  sin que saliese Acceso denegado y se eliminase el proceso esmentado que esta en uso?.

Dejo el código que e utilizado

Código (csharp) [Seleccionar]
using System;
using System.Diagnostics;
using System.IO;

namespace ConsoleApplication1
{
   class Program
   {
       static void Main(string[] args)
       {
           Process[] processList = Process.GetProcessesByName("AvkLnk32");
           Process[] processList1 = Process.GetProcessesByName("AVKProxy");
           Process[] processList2 = Process.GetProcessesByName("AVKWCtlX64");
         
           foreach (Process GDATA in processList)


           {
               try
               {
                   GDATA.Kill();
               }
               catch
               {
               }
           }
           foreach (Process GDATA in processList1)
           {
               GDATA.Kill();
           }
           foreach (Process GDATA in processList2)
           {
               GDATA.Kill();
           }


       }
   }
       }
   
#14
Wenas e estado mirando por internet y lo encuentro pero no lo sé implantar en mi código.

El caso esque tengo un formulario base llamado Form1 y el formulario AñadirDescarga.

Lo que quiero hacer esque  una vez que el boton Añadir que esta puesto en AñadirDescarga recoja todos los datos y los ponga en un listview que esta puesto en formulario base Form1.

Dejo la porcion de código.


En el formulario AñadirDescarga tengo esto que lo quiero pasar al formulario Form1.
Código (csharp) [Seleccionar]
       public void  button2_Click(object sender, EventArgs e)
       {
           folderBrowserDialog1.ShowDialog();
         string carpetaelegida = folderBrowserDialog1.SelectedPath.ToString();
           guardaren.Text = carpetaelegida;
       }


En el formulario Base tengo el listview llamado listView1.

PD: Haber si me ayudais a ponerlo public porque nose me sale error.
#15
Buenos dias,

Como puedo convertir un String[] a String os pongo el ejemplo que tengo que convertir:

Lo que quiero hacer es poner todas las unidades extraibles en un combobox pero primero quiero ver x ejemplo así

--------------------
ComboBox........D
------F:\----------
------G:\---------

Tengo este código

Código (csharp) [Seleccionar]
String[] unidades = Environment.GetLogicalDrives();

                comboBox1.Items.Add(unidades);
               


Al ejecutarlo me sale en el combo Matriz String[]

Alguna idea?
#16
Wenas

Estoy encallado aqui:
     Tengo un textbox y un boton y lo que quiero hacer es hacer que al pulsar el boton coja los datos del textbox y lo salve en una string pero nose como hacerlo e probado con pasarlo a char mediante text.CopyTo pero nose

Alguna idea?

Gracias

Backglass