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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 [63] 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 ... 255
621  Programación / .NET (C#, VB.NET, ASP) / Re: Modificar el array de byte[] en: 14 Enero 2017, 12:46 pm
Hola de nuevo:

Urgando en mi grupo de amigos con esto.
Código
  1.    for (int i = 0; i < rawData.Length; i++)
  2.    {
  3.        rawData[i] = (byte)(rawData[i] ^ 10);
  4.    }

En el cual estoy agradecido porque funciona de maravilla. Si hago un programa para cifrar de C# una foto, usando el mismo efecto puede desemcriptarlo.

  • Hago tres programas de C#.
  • Programa 1 de C# para cifrar cualquier archivo, es este caso una imagen.
  • Meto la escriptación en el .hex de Arduino ya explicado atrás.
  • Programa 2 de C# capturo los datos de Arduino por el puerto serie/USB.
  • Programa 3 de C# lo desemcripta.

Cuidado una cosa, al menos no he caido antes y lo comento por aquí mismo. ;)
Si cifra una imagen con el programa 1 de C#, lo cifra, si lo vuelve hacer, se descompila y se recupera la imagen. MEnudo fallo y no me di cuenta.
622  Programación / Programación General / Re: ¿Que programacion me recomendais? en: 10 Enero 2017, 10:49 am
Hola:

Libros tienes una guía, internet muchos ejemplosy documentación.

Los programadores de Java son los más “tristes” y los de C++ los más “viejos”

Escoja el que escojas, prueba con uno.

Saludos.
623  Programación / Programación General / Obtener información de un PC en: 7 Enero 2017, 19:12 pm

Imagen corregida respecto a las reglas del foro
Hola:

Como curiosidad, quiero saber si con C# se puede programar un pequeño programón que recoja información de un PC, quiero hacer una prueba con otro PC que tengo.

Por ejemplo, saber la MAC de la tarjeta de red de una placa de un PC, como es único, me parece una información importante. Luego se guarda la información en un archivo txt bien legible, ya se hará técnicas de cifrado.

Si quieres información de alguien, ese alguien ejecuta tu aplicación y recopila información.

Para que tengan una idea, a parte de recoger la MAC, quiero saber que unidades de disco duro tiene instalado en su PC, como se llama su etiqueta, capacidad de disco duro, y el árbol de todos los archivos que tiene, en el txt se guarda nombre de las carpetas, subcarpetas y archivos con extensión completas. También que marca y cantidad de RAM que tiene instalada.

Tengo la idea de hacer una apliación que se guarda en inicio o servivio, que analiza todo del PC. Ya en la casa  cuando le visite, recuperaré ese archivo en un Pendrive cifrado por si acaso.

Si veo que se baja películas X y fotos peor que X.  ;D ;D ;D ;D ;D ;D ;D, el programa dentro de tres meses borra dichas fotos y vídeos. ;) Muchas veces inserta por USB un disco duro extraible, quiero hacer un programa que tamién te analice algo y que al conectar una unidad, borre todo, nada más al detectarlo al tercer mes de usar el programa.

Si quieren información de un PC con sus contenidos. ¿Qué buscaría ustedes?

Saludos.

PD: Lo del lenguaje puede ser el más que te guste.
624  Programación / Programación General / Re: Cuál tipo de programacion te gusta más? en: 5 Enero 2017, 06:18 am
Me gusta programar hasta la Calculadora CASIO.



A todo color y es la leche, en basic y en C/C++.
http://edu.casio.com/products/cg/cp2/

Saludos.
625  Programación / Programación General / Re: El lenguaje ideal para comenzar ? en: 4 Enero 2017, 16:31 pm
Buenas:

C++ se usa para muchas cosas, lo que con el tiempo, algunas empresas y no pocas, dejaron el C++ para otros fines y se centran en productividad como Visual Studio .net.

Aprendí punteros de verdad con ensamblador del 8085, 8086 y los PIC, no te queda otra.  ;D ;D ;D ;D ;D ;D.
http://www.sc.ehu.es/sbweb/webcentro/automatica/web_8051/Contenido/cursoc51/Capitulo%206/uso_de_punteros_y_arrays_en_c51.htm

No olvidar que Pascal y Baisc precisamente se creó con el fin para aprender rápido de que va programar sin complicarse la vida para los iniciados, aprende antes y con menos estrés. Amime daigual empezar con C++, empecé con asm para crear los menús de los TV de antes como subir volumen y se vea la barra verde, eso si que fue difícil en la época de FP de antes.

Saludos.
626  Programación / Programación General / Re: El lenguaje ideal para comenzar ? en: 3 Enero 2017, 20:53 pm
Hola:

En ciclo superior de programación nos hizo primero programar en Python, luego Java, luego SQL y Visual Basic .net

En otro de electrónica, asm del 8085, 8086 y del PIC16F84A, también basic para PC, sin contrar con otros para PLC como AWL que se parece asm.

Para coger el hilo rápido, según profesores, para los que no tenga idea de nada mejor lenguaje fáciles que para eso lo inventaron, luego pasas al C si quieres.

Hoy en día la tendencia es a páginas Web de todo tipo. Un lenguaje puede durar años pero no es eterno. El C/C++ está bien para rendimiento de alguna parte del programa, para hacer driver de algún dispositivo y cosas de bajo nivel.

Los tiempos cambia, incluido la tecnologíoa, aprender algo nuevo y te aparece otra tecnología por aprender si te metes en este mundo en las empresas.

Ten encuenta, cual es el motivo por el que quieres programar realmente. ¿Curiosidad? ¿Necesidad? Lo que sea. ;)

Si es cuestión de punteros C# también los tiene, lo que se aconseja no usarlos, ya no estamos en la época de antes.

https://msdn.microsoft.com/es-es/library/y31yhkeb.aspx

Punteros en C++.


Ánimos y adelante.
627  Programación / Programación General / Re: ¡Grupo de WhatsApp para aprender programacion! en: 3 Enero 2017, 15:37 pm
Buenas:

Para mi, este tipo de grupos para compartir información, conocimiento y aprendizaje, mejor por aquí, más cómodo.

Saludos.
628  Programación / Programación General / Re: El lenguaje ideal para comenzar ? en: 3 Enero 2017, 15:25 pm
El C/C++ como fue difícil para empezar, pues hicieron el Pascal ya del año catapún pero se usa mucho en Delphi de la firma de Borland e incluso Visual Basic, ahora el.net.

Puedes empezarcon C#, es leche para programar escritorios, para cosas de electrónica C/C++.
629  Programación / .NET (C#, VB.NET, ASP) / Contador de Byte[] en: 3 Enero 2017, 12:44 pm
Hola:

Quiero saber que al entrar datos por el puerto serie me cuente los byte recibidos y los alacene en un array tipo byte[]

¿Alguna idea?

El programa sin acabar que tengo hecho por ahora es este.

Código
  1. using System;
  2. using System.IO;
  3. using System.IO.Ports;
  4. using System.Text;
  5.  
  6. namespace Recibir_archivo_desde_Arduino_consola
  7. {
  8.    class Program
  9.    {
  10.        public static string Recibidos = "";
  11.        //public static byte[] datosArray = Encoding.ASCII.GetBytes(Recibidos);
  12.        public static byte[] datosArray = Encoding.ASCII.GetBytes(Recibidos);
  13.  
  14.        static void Main(string[] args)
  15.        {
  16.            string COM = "";
  17.  
  18.            // Tamaño ventana consola.
  19.            Console.WindowWidth = 55; // X. Ancho.
  20.            Console.WindowHeight = 15; // Y. Alto.
  21.            Console.Title = "Recoger foto desde Arduino y crearlo en el disco duro"; // Título de la ventana.
  22.  
  23.            // Crear un nuevo objeto SerialPort con la configuración predeterminada.
  24.            SerialPort Puerto_serie = new SerialPort();
  25.  
  26.            // Configuración.
  27.            Console.Write(@"
  28. Introduzca un número para seleccionar puerto COM.
  29. Por ejemplo el 4, sería COM4.
  30.  
  31. Puerto: ");
  32.            COM = Console.ReadLine(); // Escribir el número del puerto.
  33.            Console.Clear();
  34.  
  35.            Puerto_serie.PortName = "COM" + COM; // Número del puerto serie.
  36.  
  37.  
  38.            Puerto_serie.BaudRate = 115200; // Baudios.
  39.            Puerto_serie.Parity = Parity.None; // Paridad.
  40.            Puerto_serie.DataBits = 8; // Bits de datos.
  41.            Puerto_serie.StopBits = StopBits.Two; // Bits de parada.
  42.            Puerto_serie.Handshake = Handshake.None; // Control de flujo.
  43.  
  44.            // Establecer la lectura / escritura de los tiempos de espera.
  45.            Puerto_serie.ReadTimeout = 500;
  46.            Puerto_serie.WriteTimeout = 500;
  47.  
  48.            try
  49.            {
  50.                Puerto_serie.Open(); // Abrir el puerto serie.
  51.            }
  52.  
  53.            catch (IOException)
  54.            {
  55.                Console.ForegroundColor = ConsoleColor.Red; // Texto en rojo.
  56.                Console.CursorVisible = false;
  57.                Console.SetCursorPosition(16, 6);
  58.                Console.WriteLine(@"El puerto " + Puerto_serie.PortName + @" no existe
  59.                o no lo encuentra.");
  60.            }
  61.  
  62.            Puerto_serie.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  63.  
  64.            Console.Read();
  65.            Puerto_serie.Close(); // Cerrar puerto.
  66.        }
  67.  
  68.        private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
  69.  
  70.        {
  71.            SerialPort sp = (SerialPort)sender;
  72.            int ByteLeidos = sp.Read(datosArray, 0, 28256);
  73.  
  74.            Console.Write(ByteLeidos);
  75.        }
  76.    }
  77. }

El código no está bien.
630  Informática / Electrónica / Re: ¿Cómo se hace un array de C# a Arduino? en: 3 Enero 2017, 04:23 am
Hola:

Teniendo el código hecho.
Código
  1. using System;
  2. using System.IO;
  3. using System.IO.Ports;
  4. using System.Text;
  5.  
  6. namespace Recibir_archivo_desde_Arduino_consola
  7. {
  8.    class Program
  9.    {
  10.        public static string Recibidos = "";
  11.        public static byte[] datosArray = Encoding.ASCII.GetBytes(Recibidos);
  12.  
  13.        static void Main(string[] args)
  14.        {
  15.            string COM = "";
  16.  
  17.            // Tamaño ventana consola.
  18.            Console.WindowWidth = 55; // X. Ancho.
  19.            Console.WindowHeight = 15; // Y. Alto.
  20.            Console.Title = "Recoger foto desde Arduino y crearlo en el disco duro"; // Título de la ventana.
  21.  
  22.            // Crear un nuevo objeto SerialPort con la configuración predeterminada.
  23.            SerialPort Puerto_serie = new SerialPort();
  24.  
  25.            // Configuración.
  26.            Console.Write(@"
  27. Introduzca un número para seleccionar puerto COM.
  28. Por ejemplo el 4, sería COM4.
  29.  
  30. Puerto: ");
  31.            COM = Console.ReadLine(); // Escribir el número del puerto.
  32.            Console.Clear();
  33.  
  34.            Puerto_serie.PortName = "COM" + COM; // Número del puerto serie.
  35.  
  36.  
  37.            Puerto_serie.BaudRate = 115200; // Baudios.
  38.            Puerto_serie.Parity = Parity.None; // Paridad.
  39.            Puerto_serie.DataBits = 8; // Bits de datos.
  40.            Puerto_serie.StopBits = StopBits.Two; // Bits de parada.
  41.            Puerto_serie.Handshake = Handshake.None; // Control de flujo.
  42.  
  43.            // Establecer la lectura / escritura de los tiempos de espera.
  44.            Puerto_serie.ReadTimeout = 500;
  45.            Puerto_serie.WriteTimeout = 500;
  46.  
  47.            try
  48.            {
  49.                Puerto_serie.Open(); // Abrir el puerto serie.
  50.            }
  51.  
  52.            catch (IOException)
  53.            {
  54.                Console.ForegroundColor = ConsoleColor.Red; // Texto en rojo.
  55.                Console.CursorVisible = false;
  56.                Console.SetCursorPosition(16, 6);
  57.                Console.WriteLine(@"El puerto " + Puerto_serie.PortName + @" no existe
  58.                o no lo encuentra.");
  59.            }
  60.  
  61.            Puerto_serie.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  62.  
  63.            Console.Read();
  64.            Puerto_serie.Close(); // Cerrar puerto.
  65.        }
  66.  
  67.        private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
  68.  
  69.        {
  70.            SerialPort sp = (SerialPort)sender;
  71.            int ByteLeidos = sp.Read(datosArray, 0, 28256);
  72.  
  73.            Console.Write(ByteLeidos);
  74.        }
  75.    }
  76. }

Para saber la cantidad de byte recibidos hice esto.
Código
  1.            SerialPort sp = (SerialPort)sender;
  2.            int ByteLeidos = sp.Read(datosArray, 0, 28256);

Me da error.


Exactamente puse los mismos bytes que dice aquí.


El programa de Arduino IDE ya lo saqué.
Código
  1. // Enviar tramas de byte al puerto serie.
  2.  
  3. int estadoBoton = 0; // Guardará el estado del botón HIGH o LOW.
  4. int anteriorBoton = 0;
  5. char caracter;
  6. String comando;
  7. int flagMensaje = 0;
  8.  
  9. // Esta trama de bytes corto en realidad es extremadamente largo, en este caso es como ejemplo.
  10. PROGMEM const unsigned char rawData[] = {
  11.  0xFF, 0xD8, 0xFF, 0xE1, 0x00, 0x18, 0x45, 0x78, 0x69, 0x66, 0x00, 0x00
  12. };
  13.  
  14. void setup()
  15. {
  16.  pinMode(13, OUTPUT); // Donde está el Led 13.
  17.  pinMode(8, INPUT); // Entrada digital donde está el pulsador.
  18.  Serial.begin(115200);
  19. }
  20.  
  21. void enviarImagen() {
  22.  for (unsigned int i = 0; i < sizeof(rawData); i++)
  23.    Serial.write(pgm_read_byte(&rawData[i]));
  24. }
  25.  
  26. void loop()
  27. {
  28.  estadoBoton = digitalRead(8); // Leer entrada digital número 8.
  29.  
  30.  // Si el pulsador está pulsado, se enciende el Led 13 y
  31.  // envía comando HIGH por el puerto serie.
  32.  
  33.  if (estadoBoton != anteriorBoton) // Comprueba si ha habido un cambio en el estado del botón.
  34.  {
  35.    flagMensaje = 0;                // Resetea la bandera a 0.
  36.    anteriorBoton = estadoBoton;    // Guarda el estado actual del botón.
  37.  }
  38.  
  39.  if (estadoBoton == HIGH && flagMensaje == 0) // Comprueba que el botón esté pulsado y que no se haya enviado el mensaje.
  40.  {
  41.    digitalWrite(13, HIGH);
  42.    //Serial.write("ON");
  43.    enviarImagen(); // Enviar imagen o foto hacia el puerto serie al PC.
  44.    delay(50);
  45.  
  46.    if (flagMensaje == 0) // Si se envío el mensaje aumenta la variable a 1 para no enviarlo la próxima vez.
  47.      flagMensaje++;
  48.  }
  49.  
  50.  // De lo contrario, Led 13 epagado y envía LOW al puerto serie.
  51.  else if (flagMensaje == 0) // Si el botón no está presionado y aún no se envía el mensaje.
  52.  {
  53.    digitalWrite(13, LOW);
  54.    //Serial.write("OFF");
  55.    delay(50);
  56.  
  57.    if (flagMensaje == 0) // Si se envió el mensaje aumenta la variable en 1 para no enviarla la próxima vez.
  58.      flagMensaje++;
  59.  }
  60. }

Dentro del los bytes hay una foto, en Arduino IDE, en el cual C# debe captar los datos y no me sale. Cuando lo capte, tiene que usar estas instrucciones que aún no he puesto, que es crear el archivo en el disco duro,luego ejecutar la foto.

Código
  1. File.WriteAllBytes("fotón.jpg", datosArray); // Crear archivo en el disco duro.

Código
  1. Process.Start("fotón.jpg"); // Ejecutar visualizador de imágenes.

Antes, C# tiene que ser capaz de capturar los datos desde el puerto serie y guardarlo en memoria en C#.

Feliz año nuevo 2017.
Páginas: 1 ... 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 [63] 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 ... 255
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines