elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 66
171  Informática / Software / Quiero abrir un archivo con extensión rara en: 21 Julio 2017, 18:58 pm
Hola:

Tengo un archivo llamado archivo.upg y no se si puedo hacerlo con algún programa, quiero saber nombre del programa para abrirlo. Mi objetivo es sacar un archivo.bin que es el firmware de un TV.

Citar
Archivos UPG disfrutan de incesante popularidad. El nombre de archivo, que contiene la extensión de archivo UPG ocasiona alguna dificultad a determinada parte de los usuarios. De hecho, tienen problemas con la correcta apertura de archivo con la extensión UPG. Se debe recordar, sin embargo, que la extensión de archivo UPG puede significar uno o más cantidad de tipos de archivo. El más popular es el Firmware Upgrade Format, pero si hay otros, con toda la seguridad, encontraras información sobre ellos, más abajo.

Merece la pena pues, que veamos de cerca el problema relativo a archivos UPG y buscar una solución.
http://es.filesupport.org/extension-de-archivo/upg

¿Alguna ayuda?

Saludos.
172  Programación / Scripting / Encencer y apagar un Led con Python en: 19 Julio 2017, 06:27 am
Buenas:

Quiero hacer un experimento de Encender un Led y apagarlo con el lenguaje Python y Arduino. Nunca lo he hecho con este lenguaje y hace tiempo que no lo toco.

He hecho hacer encender y apagar un Led con Delphi y Aruino. Puedes ver el tutorial para que te hagas una idea de que va.

¿Alguna sugerencia para hacer esto en Windows?

Saludos.
173  Informática / Electrónica / [TUTORIAL] Arduino Delphi 10.2 y Puerto serie en: 18 Julio 2017, 18:46 pm


Tutorial Arduino Delphi 10.2 y Puerto serie. Interfaz creado con Delphi que puedes controlar el puerto serie a Arduino encendiendo y apagando un Led, manejar el LCD y recibes mensajes hacia el PC.

El entorno Delphi con el lenguaje pascal sigue vigente en la actualidad y su uso en Arduino está creciendo cada vez más.



Código fuente de Delphi:
Código:
unit Principal;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, CPort;

type
  TForm1 = class(TForm)
    Label_Titulo: TLabel;
    Label_Mensajes: TLabel;
    Button_ON: TButton;
    Button_OFF: TButton;
    Button_COM: TButton;
    Button_Abrir: TButton;
    Memo_Mensajes: TMemo;
    Button_Limpiar: TButton;
    ComPort1: TComPort;
    procedure Button_ONClick(Sender: TObject);
    procedure Button_OFFClick(Sender: TObject);
    procedure Button_COMClick(Sender: TObject);
    procedure Button_AbrirClick(Sender: TObject);
    procedure Button_LimpiarClick(Sender: TObject);
    procedure ComPort1AfterClose(Sender: TObject);
    procedure ComPort1AfterOpen(Sender: TObject);
    procedure ComPort1RxChar(Sender: TObject; Count: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button_AbrirClick(Sender: TObject);
begin
  // Si el puerto está conectado.
  if ComPort1.Connected then
  begin
    ComPort1.Close; // Cierra el puerto.

    Button_COM.Enabled := True;
    Button_ON.Enabled := False;
    Button_OFF.Enabled := False;
  end

  else  // En caso contrario.

  begin
    ComPort1.Open;  // Abre el puerto.

    Button_COM.Enabled := False;
    Button_ON.Enabled := True;
    Button_OFF.Enabled := True;
  end;
end;

procedure TForm1.Button_COMClick(Sender: TObject);
begin
ComPort1.ShowSetupDialog; // Abre la configuración del puerto.
end;

procedure TForm1.Button_LimpiarClick(Sender: TObject);
begin
Memo_Mensajes.Clear();  // Limpia los mensajes del Memo.
end;

procedure TForm1.Button_OFFClick(Sender: TObject);
begin
ComPort1.WriteStr('Luz_OFF'); // Envía el comando "Luz_OFF" al puerto.
end;

procedure TForm1.Button_ONClick(Sender: TObject);
begin
ComPort1.WriteStr('Luz_ON');  // Envía el comando "Luz_ON" al puerto.
end;

procedure TForm1.ComPort1AfterClose(Sender: TObject);
begin
    if Button_Abrir <> nil then
    Button_Abrir.Caption := 'Abrir';
end;

procedure TForm1.ComPort1AfterOpen(Sender: TObject);
begin
   Button_Abrir.Caption := 'Cerrar';
end;

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var
  Str: String;
begin
  // Recibe mensajes desde Arduino.
  ComPort1.ReadStr(Str, Count);

  // Muestra los mensajes en pantalla.
  Memo_Mensajes.Lines.Add( Str );

  // Guarda los mensjes de Arduino en un archivo txt.
  Memo_Mensajes.Lines.SaveToFile('archivo.txt');
end;

end.



Código de Arduino:
Código:
// ----- Electrónica PIC -----
//
// Ejercicio 2.
//
// Encendido y apagado del Led 13 mediante puerto serie con pantalla.
// Es lo mismo que el Ejercicoi 1, pero usando el LCD Keypad Shield.

#include

// Inicializa la librería con sus pines indicados.
// RS, RW, Enable, D4, D5, D6, D7.
LiquidCrystal lcd(8, NULL, 9, 4, 5, 6, 7);
// LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// Pin 10 para saber que es luz de fondo.
const byte LuzFondo = 10;

const byte Led = 13;   // Declaramos la variable pin del Led.
char caracter;
String comando;

void setup()
{
  pinMode(Led, OUTPUT);  // Inicializa el pin del LED como salida:
  Serial.begin(115200);     // Puerto serie 115200 baudios.
  lcd.begin(16, 2);         // Formato de pantalla.
  lcd.clear();      // Borra la pantalla y su posición superior izquierda.
  lcd.print("    Arduino     ");
  delay(1000);
}

void loop()
{
  /*
    Voy leyendo carácter a carácter lo que se recibe por el canal serie
    (mientras llegue algún dato allí), y los voy concatenando uno tras otro
    en una cadena. En la práctica, si usamos el "Serial monitor" el bucle while
    acabará cuando pulsamos Enter. El delay es conveniente para no saturar el
    canal serie y que la concatenación se haga de forma ordenada.
  */
  while (Serial.available() > 0)
  {
    caracter = Serial.read();
    comando.concat(caracter);
    delay(10);
  }

  /*
    Una vez ya tengo la cadena "acabada", compruebo su valor y hago que
    la placa Arduino reacciones según sea este. Aquí podríamos hacer lo
    que quisiéramos: si el comando es "tal", enciende un Led, si es cual,
    mueve un motor... y así.
  */

  // Si los carácteres es recibido y verdadero.
  if (comando.equals("Luz_ON") == true)
  {
    digitalWrite(Led, HIGH); // Enciende el Led 13.
    Serial.write("ON - Led encendido.");    // Envía este mensaje al PC.
    lcd.setCursor(0, 1);
    lcd.print("Luz ON.         "); // Mostrar en el LCD.
  }


  if (comando.equals("Luz_OFF") == true)
  {
    digitalWrite(Led, LOW); // Apaga el Led 13.
    Serial.write("OFF - Led apagado. ");  // Envía este mensaje al PC.
    lcd.setCursor(0, 1);
    lcd.print("Luz OFF.        "); // Mostrar en el LCD.
  }

  // Limpiamos la cadena para volver a recibir el siguiente comando.
  comando = "";
}





Ver visor.

Ver PDF.

Un cordial saludo.
174  Programación / Programación General / Instalar librería en Delphi en: 15 Julio 2017, 18:53 pm
Hola:

Quiero instalar una librería que se llama comport que es el componeten para controlar el puerto serie.

ComPort Library

Estoy siguiendo el vídeo tutorial abajo que usa Delphi 10.1, sigo los paso y me da errores por todas partes.





Guardo la carpeta donde está los proyectos que hago como si fuera un proyecto más.
Selecciono la librería tal como indica en el vídeo.



Pulse el archivo que pulse para abrir, me sale este error.



¿Hay alguna solución?

Saludos.
175  Programación / Programación General / Delphi, Arduino y puerto serie en: 14 Julio 2017, 17:12 pm
Hola:

Hace un tiempo, hice un tutorial controlando Arduino y puerto serie en C++ con C++ Builder Starter entre otros compiladores.

Ahora ya de unos meses de descanso sobre programación, quiero retomar hacer algo similar pero con Windows Form y el lenguaje Delphi.

Primera parte:
La idea es, añadir dos botones desde el formulario, que al pulsar un botón envíe carácteres por el puerto serie. Esto hace encender un Led o apagarlo.

Segunda parte:
Cuando acabe la primera parte, seguimos en que por el puerto serie entras letras o carácteres para leer.

La interfaz Windows Form en Delphi Tokio 10.2 hay que enviar caracteres al puerto serie y que sea capaz de recibir datos también. Les dejo un ejemplo de una plantilla.



Los tutoriales que he encontrado son muy antiguos y con Delphi 7, no me interesa. Si encuentra algo para esta época, mejor, nos podemos ayudar.

Saludos.
176  Programación / Programación C/C++ / Recibir datos desde el puerto serie. en: 12 Julio 2017, 17:12 pm
ola:

He creado este formulario con MFC 2017.

Tengo creado el proyecto MFC siguiendo este tutorial a partir de la página 36.

Como puedes ver en la captura, he puestodos botones llamado ON y otro llamado OFF.



Como puedes ver abajo, añado un Richt edit.



Las librerías están aquí.

https://github.com/Gmatarrubia/LibreriasTutoriales

¿Cómo puedo recibir datos desde el puerto serie y lo muestre en el Richtedit?

Al menos con los botones del formulario MFC indicado arriba si puedo enviar datos al puerto serie.

Saludos.
177  Programación / Programación C/C++ / Intentar que me ejecute esta aplicación en: 1 Abril 2017, 12:26 pm
Hola:

Intento que me ejecute esta aplicación MFC de C++, lo que quiero hacer es abrir el puerto serie y intentar enviar datos.

La ventana ya la tengo creado y esto si se ejecuta bien. El problema es cuando pincho en el botón ON para poner instrucciones y pasa cosas raras. A partir de la página 36 de este tutorial explica como se crea una ventana MFC.



Supuestamente en C++ de consola, para activar el puerto es esta instrucción.

Código
  1. Puerto->IsConnected()

Para enviar comandos es esta otra instrucciones.
Código
  1. Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1); // Envía al puerto el texto "Luz_ON"

Para recibir datos, esta otra instracción.

Código
  1. int n = Puerto->ReadData(lectura, 49); // Recibe datos del puerto serie.

Aún así, haga lo que haga, no me sale. Lo que tiene que hacer el programa es, desde que ejecutes el formulario, abra el puerto serie.

Si pulso un botón, por ejemplo, el ON, envía el comando.

¿Alguna idea?

Saludos.
178  Informática / Electrónica / [TUTORIAL] Arduino C++ y Puerto serie en: 31 Marzo 2017, 02:29 am


Tutorial Arduino C++ y Puerto serie. Puedes hacer controlar Arduino y el puerto serie desde el lenguaje C++ Win32. Hay tres IDE para elegir para crear tu propio programa en C++ como Visual Studio 2017, Code::Blocks y C++ Builder Starter.



Antes que nada saber que puerto usamos:
// Para crear conexión con los puertos COM1 - COM9.
// Serial* Arduino = new Serial("COM7");

// Para crear conexión con los puertos COM10 en adelante.
// Serial* Arduino = new Serial("\\\\.\\COM10");

Abrir conexión del puerto:
Puerto->IsConnected()

Enviar información a Arduino:
// Encener luz.
cout << "Enviando: " << Luz_ON << endl; // Muestra en pantalla textos.
Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1); // Envía al puerto el texto "Luz_ON".

Código de Arduino:

Código:
// Encendido y apagado del Led 13 mediante puerto serie.

const byte Led = 13;   // Declaramos la variable pin del Led.
char caracter;
String comando;

void setup()
{
  pinMode(Led, OUTPUT);  // Inicializa el pin del LED como salida:
  Serial.begin(115200);     // Puerto serie 115200 baudios.
}

void loop()
{
  /*
    Voy leyendo carácter a carácter lo que se recibe por el canal serie
    (mientras llegue algún dato allí), y los voy concatenando uno tras otro
    en una cadena. En la práctica, si usamos el "Serial monitor" el bucle while
    acabará cuando pulsamos Enter. El delay es conveniente para no saturar el
    canal serie y que la concatenación se haga de forma ordenada.
  */
  while (Serial.available() > 0)
  {
    caracter = Serial.read();
    comando.concat(caracter);
    delay(10);
  }

  /*
    Una vez ya tengo la cadena "acabada", compruebo su valor y hago que
    la placa Arduino reacciones según sea este. Aquí podríamos hacer lo
    que quisiéramos: si el comando es "tal", enciende un Led, si es cual,
    mueve un motor... y así.
  */

  // Si le llega el mensaje Luz_ON.
  if (comando.equals("Luz_ON") == true)
  {
    digitalWrite(Led, HIGH); // Enciende el Led 13.
    Serial.write("ON - Led encendido.");    // Envía este mensaje a C++.
  }

  // Si le llega el mensaje Luz_ON.
  if (comando.equals("Luz_OFF") == true)
  {
    digitalWrite(Led, LOW); // Apaga el Led 13.
    Serial.write("OFF - Led apagado. ");  // Envía este mensaje a C++.
  }

  // Limpiamos la cadena para volver a recibir el siguiente comando.
  comando = "";
}

Código C++:

Código:
#include
#include
#include
#include "SerialClass.h"
using namespace std;

void main()
{
    // Título de la ventana
    SetConsoleTitle("Control Led Arduino - Visual Studio C++ 2017");

    // Puerto serie.
    Serial* Puerto = new Serial("COM4");

    // Comandos para Arduino.
    char Luz_ON[] = "Luz_ON"; // Envía "Luz_ON" al puerto serie.
    char Luz_OFF[] = "Luz_OFF";
    char lectura[50] = "\0"; // Guardan datos de entrada del puerto.

    int opc; // Guarda un 1 o 2 tipo entero queintroduces desde la consola.

    while (Puerto->IsConnected())
    {
        cout << endl; // Retorno.
        cout << "Introduzca la opcion deseada: " << endl;
        cout << "Pulse 1 para encender el Led, pulse 2 para apagar." << endl << endl; // Muestra texto en pantalla.

        cin >> opc; // Aquí introduces un número, el 1 o el 2.

        switch (opc) // Espera recibir un 1 o un 2.
        {
        case 1:
            // Encener luz.
            cout << "Enviando: " << Luz_ON << endl; // Muestra en pantalla textos.
            Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1); // Envía al puerto el texto "Luz_ON".
            break;

        case 2:
            // Apagar luz.
            cout << "Enviando: " << Luz_OFF << endl;
            Puerto->WriteData(Luz_OFF, sizeof(Luz_OFF) - 1);
            break;

        default: // Si haz pulsado otro número distinto del 1 y 2, muestra
            cout << "Puse del 1 al 2."; // este mensaje.
        }


        Sleep(500);
        int n = Puerto->ReadData(lectura, 49); // Recibe datos del puerto serie.
        if (n > 0)
        {
            lectura[n + 1] = '\0'; // Limpia de basura la variable.
            cout << "Recibido: " << lectura << endl; // Muestra en pantalla dato recibido.
            cout << "-------------------" << endl;
        }

        cin.ignore(256, '\n'); // Limpiar buffer del teclado.
    }
}



Ver Visor.



Ver PDF.

Un cordial saludo.
179  Programación / .NET (C#, VB.NET, ASP) / ¿Cómo se llama una función en VB .net? en: 21 Marzo 2017, 07:37 am
Hola:

Haciendo pruebas ya que en VB .net no entiendo mucho. Tengo esta función tonta sin parámetros.

Código
  1. Sub Mensaje1()
  2.            Console.WriteLine()
  3.            Console.WriteLine("Creando archivo al disco duro...")
  4.        End Sub

Lo he intentado llamar directamete así y no funciona.
Código
  1. mensaje1()

No sirve.

¿Cómo se le llama?

Saludos.
180  Programación / Programación C/C++ / Puerto serie C++. Mejorar el programa. en: 16 Marzo 2017, 22:21 pm
Buenas:

Tengo un programa aquí que no está bien hecho del todo.

Envía datos al puerto seria, concretamente llega a Arduino. Los datos llegan bien, al recibir, ya no tanto.

Si pulsas la tecla, por ejemplo 5, primero se ve reflejado y luego tengo que pulsar Enter. Lo que quiero lograr es que si pulse el número 5, automáticamente ejecuta la instruacción del case 5 del Switch.

Otra cosa, es que no me llegan los datos desde Arduino cuando le pulso un botón. C++ tiene que ser capaz, desde que le llegue algún dato, reflejarlo en pantalla.

La librería a usar es esta.

https://github.com/Gmatarrubia/LibreriasTutoriales

El código de C++ es:
Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <Windows.h>
  4. #include "SerialClass.h"
  5. using namespace std;
  6.  
  7. void main()
  8. {
  9. SetConsoleTitle("Control Led 13 de Arduino UNO y saludos.");
  10.  
  11. Serial* Puerto = new Serial("COM4");
  12.  
  13. while (Puerto -> IsConnected())
  14. {
  15.  
  16. // Comandos para Arduino.
  17. char L_ON[] = "Led13_ON";
  18. char L_OFF[] = "Led13_OFF";
  19. char Saludar[] = "Hola Arduino. Saludos desde el PC con C++ bajo  Win32.";
  20. char Luz_ON[] = "Luz_ON";
  21. char Luz_OFF[] = "Luz_OFF";
  22. char lectura[50];
  23.  
  24. int opc;
  25.  
  26. cout << "Introduzca la opcion deseada: ";
  27.  
  28. cin >> opc;
  29.  
  30. switch (opc)
  31. {
  32. case 1:
  33. cout << "caso 1\n";
  34. // Enviar encender Led.
  35. cout << "Enviando: " << L_ON << endl;
  36. Puerto -> WriteData(L_ON, sizeof(L_ON) - 1);
  37. break;
  38.  
  39. case 2:
  40. cout << "caso 2\n";
  41. // Enviar apagar Led.
  42. cout << "Enviando: " << L_OFF << endl;
  43. Puerto -> WriteData(L_OFF, sizeof(L_OFF) - 1);
  44. break;
  45.  
  46. case 3:
  47. cout << "caso 3\n";
  48. // Mensaje saludar.
  49. cout << "Enviando: " << Saludar << endl;
  50. Puerto -> WriteData(Saludar, sizeof(Saludar) - 1);
  51. break;
  52.  
  53. case 4:
  54. cout << "caso 4\n";
  55. // Mensaje saludar.
  56. cout << "Enviando: " << Luz_ON << endl;
  57. Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1);
  58. break;
  59.  
  60. case 5:
  61. cout << "caso 5\n";
  62. // Mensaje saludar.
  63. cout << "Enviando: " << Luz_OFF << endl;
  64. Puerto->WriteData(Luz_OFF, sizeof(Luz_OFF) - 1);
  65. break;
  66.  
  67. default:
  68. cout << "Puse del 1 al 5.";
  69. }
  70.  
  71. Puerto -> ReadData(lectura, 50);
  72. cout << "Recibido: " << lectura << endl;
  73.  
  74. cout << "-------------------" << endl;
  75.  
  76. // system("PAUSE");
  77. }
  78. }

¿Alguna ayuda?

Un cordial saludo.

PD: Uso Visual Studio Community 2017, lenguaje C++ bajo Win32.
Páginas: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 66
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines