Generar usuario y clave con arduino [resuelto]

  • hola, estoy intentando generar un nombre de usuario y una clave para mandarlo por el puerto serie.
    Necesito ideas,
    Ejemplo:

funcion(){
genero usuario aleatorio;
}

/// despues mando por serial
variable nombreUsuario;
nombreUsuario = funcion();

serial.print(" Usuario: nombreUsuario");

////////////////////////////

mas o menos esto es lo que quiero hacer, pero no se como generar esas claves y usuarios.

////////////////////////////

tampoco se como unir “Usuario: nombreUsuario” para que sea una cadena de caracteres.

Alguna idea???

Para concatenar cadenas de caracteres mirá este link: http://arduino.cc/en/Tutorial/StringAdditionOperator

Para generar algo pseudo-aleatorio tenés las funciones random() y randomSeed(), pero solamente te devolverán números. Después tendrás que convertir esos números en caracteres (si fuera tu objetivo) de alguna forma y de acuerdo a tus restricciones.

Espero que el dato te sirva.

gracias, me acabas de dar la solución. en cuanto tenga el código listo lo coloco para que le pueda servir a alguien..

pgmartin, eres un fenómeno.... mil gracias... así da gusto programar..

Se agradecen los elogios. No es para tanto.
Si algo me atrajo de Arduino, es el soporte que te da la comunidad. Cuando puedo devolver el favor, lo hago.
Exitos

Aqui os dejo el código por si le sirve a alguien.

/* GENERADOR DE USUARIO Y CLAVE */


void setup() {                
  //// CONFIGURACION DEL PUERTO///
  Serial.begin(9600);       
}
////////// FUNCION PARA OBTENER LA PALABRA ALEATORIA ////////
String palabraAleatoria(int digitos){
   randomSeed(millis()); //factor para que random no se repita
   long numeroAleatorio; // variable del numero aleatorio
   String numeroAlfa; // donde guardamos la variable
   String cadena; // variable que devolvemos
   int count = 0; // iniciamos el contador para generar la palabra de x digitos
    
    while (digitos > count ){ // repetimos tantos digitos como le mandemos a la funcion
   
     numeroAleatorio = random(48,122); // generamos el digito
     novalido:  /// volvemos de un goto
     if (numeroAleatorio == 58 || numeroAleatorio == 59 || numeroAleatorio == 60 || numeroAleatorio == 61 || numeroAleatorio == 62 
     || numeroAleatorio == 64 || numeroAleatorio == 92 || numeroAleatorio == 91 || numeroAleatorio == 93 || numeroAleatorio == 94 
     || numeroAleatorio == 96){  //// descartamos simbolos que puden dar errores 
     numeroAleatorio = random(48,122); 
     goto novalido; // volvemos a generar el numero
     }
     numeroAlfa = char (numeroAleatorio); // lo convertimos en caracter

    cadena = cadena + numeroAlfa ; /// generamos la palabra
    count++;
    }
    return cadena; // devolvemos la palabra
}

void loop() {
  /// mostramos por serial
   Serial.print("Usuario: ");
   Serial.println(palabraAleatoria(8));
   delay(50);
   Serial.print("Clave: ");
   Serial.println(palabraAleatoria(8));
   
   delay(1000);
}

hola chambri sencillo y efectivo me gusta. con tu permiso lo gurdare por si alguna vez me hiciese falta. un saludo

no hace falta pedir permiso, es para todo el mundo.. y de nuevo gracias a todos. :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin:

Este fin de semana voy a meterlo en un arduino porque no entiendo varias cosas y que hay mejor para aprender como funciona que jugar con el arduino.