Go Down

Topic: Arduino trova Password: Cerco idee! :) (Read 3162 times) previous topic - next topic

Nik_90

Ragazzi funziona:) Cioè, la decodifica dei tasti e dell'invio è andata senza problemi!:) Ora, mi chiedevo una cosa per i tentativi da fino a 9999 io avevo immaginato un ciclo for che andava da 0001 a 9999. Ma ora mi stavo chiedendo, come faccio a far partire il ciclo da 0001? E come faccio a scomporre ad esempio il numero 1234, in modo che mandi poi in sequenza
1, 2, 3 e 4, esiste qualche funzione che voi conoscete?
Una volta feci una cosa simile ma trovando per la cifra il modulo di1000 ade esempio e poi facendo sottrazioni, insomma un casino!:)

niki77

#16
Oct 03, 2012, 02:40 pm Last Edit: Oct 03, 2012, 02:42 pm by niki77 Reason: 1
4 cicli for annidiati?

for(a=0;a<10;a++)
{
 for(b=0;b<10;b++)
 {
   for(c=0;c<10;c++)
   {
     for(d=0;d<10;d++)
     {
       // il tuo codice da inviare è A B C D
     }
   }
 }
}
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Nik_90

#17
Oct 03, 2012, 10:46 pm Last Edit: Oct 03, 2012, 11:25 pm by Nik_90 Reason: 1
Ragazzi tutto ok!:) Ha funzionato, ieri pensato, in giornata realizzato!;)
Vi mostro il momento della scoperta della password!:) Ci ha messo circa 3 ore e mi ha trovato la password!

Ecco il video:
http://www.youtube.com/watch?v=Nwvbv3n7qpg

Grazie a tutti!

tuxduino



AnTrea

beh..... e qual'era la combinazione!?!??!

complimenti! :)
Arduino, MODs e DIY: blackstufflabs.com

Michele Menniti

ottimo lavoro Nik! questa sì che è una bella inventiva, solo che dovresti ora dare i giusti meriti a chi ti ha aiutato, vedo intanto che hai seguito il consiglio di Niki77 sull'uso della webcam, ne hai seguito anche la logica per mandare le 4 cifre o hai fatto qualcosa di diverso?
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Nik_90


ottimo lavoro Nik! questa sì che è una bella inventiva, solo che dovresti ora dare i giusti meriti a chi ti ha aiutato, vedo intanto che hai seguito il consiglio di Niki77 sull'uso della webcam, ne hai seguito anche la logica per mandare le 4 cifre o hai fatto qualcosa di diverso?


Per mandare le 4 cifre avrei seguito quel consiglio se la password non fosse stata tra 1000 e 9999, perchè tra 1000 e 9999 ho adottato un'altro metodo, una cosa del genere:

Code: [Select]

int numero = 1234
int migliaia = (numero / 1000);
int centinaia = (numero -(migliaia x 1000)) / 100
int decine = (numero - (migliaia x 1000) - (centinaia x 100)) / 10
int unita = (numero - (migliaia x 1000) - (centinaia x 100) - (decine x 10))


diciamo che il metodo dei 4 cicli for era anche più intuitivo ma non so perchè sono finito a questo! xD 
Avrei utilizzato quel metodo per fare da 0001 a 1000 nel caso non avrei trovato la password!

Per quanto riguarda invece l'uso della webcam in effetti non è così.. oggi ho passato tutti il tempo in laboratorio e ho solo sperato che il dvr reagisse come volevo!:)
L'ho messo lì a provare password da 1000 in poi e ho sperato che nel momento in cui veniva individuata la password il dvr si fermasse e non rispondesse più ai comandi dell'ir che mandava segnali!
Ovviamente, siccome ero in laboratorio, mentre facevo dell'altro, l'occhio finiva sempre sul monitor del dvr fino a quando non ho sentito "beep" parecchio diversi, allora mi sono alzato e ho controllato il monitor seriale di arduino e ho ristretto la ricerca ad una decina di cifre solamente. Ed infine, password trovata!:)
Ecco la storia di oggi! xD

lesto



se la pw  e a 4 cifre fai prima a trovarla per tentativi  ti assicuri che il telecomando funzioni e in un paio d'ore la trovi


Ti assicuro che va via molto + tempo! Ti dico solo che il cliente mi ha detto: "Se non erro le prime due cifre dovrebbero essere 40" Quindi io dovevo provare da 4000 a 4099. Bene di tempo per quelle 100 combinaizoni ne è passato un bel po! :)


se una sequenza di dati dura 100 millisecondi (ed esagero, mi stupirei se arriva a 10ms),100combinazioni *100ms = 10000ms ovvero 10 secondi. se fossero 10000 combinazioni (da 0000 a 9999) allora sarebbero 10000*100=1000000=1000secondi = 16minuti.

non capisco come mai ci hai messo 3 ore... forse un rallentamento causato dalla seriale, 4cifre ogni 100ms sono 4000cifre al secondo, circa 40.000baud.. quindi il mio discorso di prima vale con un baudrate più alto.

Tra l'altro visto che hai
1. il beep
2. un cambio schermata
è facile automatizzare lo stop dell'arduino, attaccando un microfono (ma sei sensibile ai rumori ambientali) o usando un led come ricevitore attaccatto allo schermo della tv; quando rileva un consistente cambio di luce, vuol dire che hai comabito schermata, o hai spento la luce :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Nik_90




se la pw  e a 4 cifre fai prima a trovarla per tentativi  ti assicuri che il telecomando funzioni e in un paio d'ore la trovi


Ti assicuro che va via molto + tempo! Ti dico solo che il cliente mi ha detto: "Se non erro le prime due cifre dovrebbero essere 40" Quindi io dovevo provare da 4000 a 4099. Bene di tempo per quelle 100 combinaizoni ne è passato un bel po! :)


se una sequenza di dati dura 100 millisecondi (ed esagero, mi stupirei se arriva a 10ms),100combinazioni *100ms = 10000ms ovvero 10 secondi. se fossero 10000 combinazioni (da 0000 a 9999) allora sarebbero 10000*100=1000000=1000secondi = 16minuti.

non capisco come mai ci hai messo 3 ore... forse un rallentamento causato dalla seriale, 4cifre ogni 100ms sono 4000cifre al secondo, circa 40.000baud.. quindi il mio discorso di prima vale con un baudrate più alto.

Tra l'altro visto che hai
1. il beep
2. un cambio schermata
è facile automatizzare lo stop dell'arduino, attaccando un microfono (ma sei sensibile ai rumori ambientali) o usando un led come ricevitore attaccatto allo schermo della tv; quando rileva un consistente cambio di luce, vuol dire che hai comabito schermata, o hai spento la luce :)


Non è stata l'immissione delle 4 cifre a portare via tempo ma, il controllo. Come ho detto io non sapevo come reagiva il dvr, se entrava in un menu a parte e anche se il led continuava a mandare segnali lui si bloccava nel menu(come fortunatamente è successo) , oppure se entrava nel menu e mandando segnali a cavolo ritornava nella richiesta password. Non lo sapevo.
Il video che ho postato è stato fatto in seguito, quando la password l'avevo già trovata e qundi ho ridotto di parecchio i delay :)
Altrimenti nelle 3 ore che ho detto per ogni seguenza di password si mangiava un secondo e mezzo più o meno, questo perchè mettevo un delay di 1 sec per controllare la scritta "PASSWORD ERRATA".
L'idea del led che controlla la luce del monitor mi piace, certo se avrei saputo che da nero, se la password è giusta, lo schermo divetava blu allora mettevo delay per un totale di 10ms ed in 5-6 minuti trovavo la password!xD
... Quasi quasi mi vien voglia di riprovare con questo metodo...xDD

tuxduino

Quote
certo se avrei avessi saputo che da nero, se la password è giusta, lo schermo divetava blu allora mettevo avrei messo delay


Scusa, non ho resistito  :P

erpomata

a questo punto già che c'eri


Quote
certo se avrei avessi saputo che da nero, se nel caso la password è fosse stata giusta corretta, lo schermo diventava blu allora mettevo avrei messo delay


Scusa, non ho resistito  :P


Bella soluzione in ogni caso.
http://www.paologiammarco.it
http://www.valentinamagni.it

Michele Menniti




Quote
certo se avrei avessi saputo che da nero, se nel caso la password è fosse stata giusta corretta, lo schermo diventava sarebbe diventato blu allora mettevo avrei messo un delay


Scusa, non ho resistito  :P



mah! sta diventando un Forum di Grammatica Italiana, forse bisognerebbe nominare un moderatore correttore di bozze che analizzi e corregga ogni post che viene pubblicato :smiley-mr-green:
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

lesto

che io sappia su wikipedia ci sono i bot che correggo in automatico errori tipo quì in qui (errore che personamlente faccio spesso), perchè in perché etc...
magari una mandria di arduini leonardo potrebbe farcela :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Madwriter


che io sappia su wikipedia ci sono i bot che correggo in automatico errori tipo quì in qui (errore che personamlente faccio spesso), perchè in perché etc...
magari una mandria di arduini leonardo potrebbe farcela :)

o forse bisognerebbe essere più rigidi sulla scelta dei professori nelle scuole  ;)
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Go Up