Show Posts
Pages: 1 ... 98 99 [100] 101 102 ... 217
1486  International / Megatopic / Re: swRTC on: December 27, 2012, 10:44:42 am
Grazie per l'interessamento, l'ho messo sul timer 3 e sembra ok

Tu usi il timer 1 no? mi sembra di capire dalla linea #define TIMER_TO_USE_FOR_MILLIS  1 dal file core_build_option.h
mentre la IR usava il timer 2, come potevano disturbarsi?

ciao
1487  International / Megatopic / Re: swRTC on: December 26, 2012, 08:10:25 pm
Ciao

Le librerie  <swRTC.h> <IRremote.h> non possono coesistere l'orologio non avanza quando viene aggiunta la lib IR, forse perchè usano lo stesso timer?
A parte non avanzare, quando interrogo il server NTP ottengo l'aggiornamento correttamente, ma IRemote si inchioda e smette di ricevere, restartando la libreria IR dopo l'aggiornamento la stessa tornava a funzionare, ma l'orologio resta piantato all'ultimo aggiornamento.
Come posso risolvere?

Grazie

bye
1488  International / Megatopic / Re: leOS - un semplice OS per schedulare piccoli task on: December 25, 2012, 06:58:24 pm
Lo sketch di esempio leOS2_use_of_reset.ino mi ha creato per 2 volte il blocco dell'AVR sul mio 2560, entrambe le volte ho dovuto applicare la manovra di emergenza.

ciao
1489  International / Generale / Re: [OT] e gli auguri??? on: December 25, 2012, 09:57:53 am
Buon Natale anche a voi
1490  International / Generale / Re: Arduino nano, Web server e Wake on lan on: December 23, 2012, 03:03:42 pm
Di quale scheda eth parli? hai un link da farci vedere?

Bisogna usare la libreria UDP e creare il messaggio in base ai parametri prestabiliti

I pacchetti Ethernet che attivano la "sveglia" sono detti Magic Packet ("pacchetti magici"). Il Magic Packet è in sostanza un frame multicast, composto da una prima parte di sincronizzazione costituita da sei bytes di valore FF esadecimale, seguiti dall'Indirizzo MAC del nodo bersaglio ripetuto 16 volte, per un totale di 96 bytes, e da un campo password opzionale che può essere assente, lungo 4 bytes o 6 bytes[1].

non è la soluzione ma un inizio smiley

guarda qui http://www.logicaprogrammabile.it/wol-accendere-computer-arduino-wake-on-lan/

ciao
1491  International / Generale / Re: Arduino nano, Web server e Wake on lan on: December 23, 2012, 06:20:37 am
Ahh forse non avevo capito, pensavo che con arduino volevi solo controllare quali pc sono accesi, invece vuoi mandare il packet usando la ethernet shield e controllare lo stato ON/FF delle macchine ..... mmm mi incuriosisce sta cosa, al momento non ho la minima idea di come farlo ci devo pensare.....

ciao
1492  International / Software / Re: Problema login arduino ethernet on: December 23, 2012, 05:58:51 am

Avevo fatto il programma di autenticazione ampliando la libreria tinywebserver perchè le mie pagine html si trovavano su sd e spedite solo se sei autenticato direi che funzionava bene, ma ho dovuto sconvolgere tante cose creando 2 nuove classi.

Ora tu hai fatto questo sketch che come verifica di utente autorizzato può essere meglio di niente smiley, però se hai voglia di perderci un po' di tempo puoi tentare di fare un web server con webduino e sostituire la libreria originale con quella per l'autenticazione.
http://www.kithouse.it/index.php?option=com_content&view=article&id=18&Itemid=29

Ho riscontrato che in questo sistema però una volta avuto i permessi permetteva a un secondo utente di entrare dato che la variabile
login==true l'avevo già resa vera io. E' vero che dopo un certo tempo di inattività dell' webserver un timer riporta la login=false, ma il metodo era solo un accrocchio.
Per ovviare a questo non resta che creare un cookie sul client che si distrugge quando chiudi il browser, chiunque si connette oltre te anche contemporaneamente apre un popup di login. Mi dico sempre poi la faccio, ma non l' ho mai fatto smiley
Alcune di queste cose le ho imparate smembrando il software che gestisce il mio router.

ciao
  
1493  International / Generale / Re: Arduino nano, Web server e Wake on lan on: December 22, 2012, 07:32:45 pm
Quote
Tutti i PC sono connessi via cavo ad un router Netgear DG834Gv4 (con firmware modificato, ma questo non c'entra niente). Il suddetto router, tuttavia, dopo un po' svuola la ARP cache e non mi è più concesso svegliare i pc da remoto.

Questo succede perchè il tuo ruter non ti permette di salvare i MAC su eeprom, il router resetta la flash o una mancata alimentazione mentre le macchine sono spente svuotano la lista ARP. Ho avuto tempo fa una necessità come la tua su 4 macchine collegate via cavo ti serve un router che abbia la funzione Bind ovvero salvare i mac e abbinarli ad un indirizzo ip locale.
Quando una delle 4 macchine viene avviata, il router vede il mac e gli assegna l'ip da me stabilito, questo mi serviva perchè col vnc potevo cercare con certezza il pc giusto da remoto conoscendo l'ip (lasciando su windows/rete "ip automatico") e risvegliarlo conoscendo il mac.
Con il forward completi l'operazione quando chiami il pc da ip pubblico:
programmi una porta es 1234 all'ip 192.168.2.100 protocollo da usare ... per WOL
programmi una porta es 5678 all'ip 192.168.2.100 protocollo da usare ... per VNC


lista delle macchine attualmente accese
ARP List
ID   MAC Address   IP Address   Status    Configure   
1   74-E5-0B-xx-xx-xx    192.168.2.100   Unbound   Load Delete
2   BC-AE-C5-xx-xx-xx   192.168.2.112   Unbound   Load Delete
3   64-A7-69-xx-xx-xx   192.168.2.180   Unbound   Load Delete

lista delle macchine con i rispettivi MAC e gli ip (stabiliti da me) che devono assumere quando si accendono (configurati su eeprom)
ARP Binding:    Disable Enable  
ID    MAC Address             IP Address     Bind         Modify    
1   A4-C0-E1-xx-xx-xx   192.168.2.101    y   Modify Delete   
2   BC-AE-C5-xx-xx-xx   192.168.2.112    y   Modify Delete   
3   64-A7-69-xx-xx-xx   192.168.2.180    y   Modify Delete   
4   1C-6F-65-xx-xx-xx   192.168.2.114    y   Modify Delete   
5   54-9B-12-xx-xx-xx   192.168.2.190    n   Modify Delete
6   74-E5-0B-xx-xx-xx   192.168.2.100    n   Modify Delete

prendi un router che abbia questa funzione

se poi vuoi sapere quali macchine sono ON da web server allora aggiungi un arduino con 4 ingressi, ma i modi sono molti per saperlo da remoto senza un particolare sistema.

Il primo che mi viene in mente è google drive (se possiedi un account google) inviando gli eventi su un foglio elettronico tipo excel con uno script
il secondo una mail lanciata da ciascuna macchina con un file.bat allo start, magari messo su esecuzione automatica all'avvio

es:
crea un file bach  automail.bat modificando i tuoi parametri e mettilo su esecuzione automatica all'accensione del pc
bmail -s smtp.fastwebnet.it -t nomecognome@gmail.com -f nome.cognome@fastwebnet.it -h -a "Da ufficio" -b "Computer N°1 ACCESO"

Ottimo per sapere quando la segretaria arriva in ufficio visto che la prima cosa che fa è accendere il pc e poi togliere la giacca  smiley-grin smiley-grin

bmail -s smtp.fastwebnet.it -t nomecognome@gmail.com -f nome.cognome@fastwebnet.it -h -a "Da casa" -b "Computer moglie ACCESO"

Ottimo per sapere quando la moglie ti dice "amore oggi non ho avuto un minuto libero" ahahahahahha
....



ciao   
1494  International / Software / Re: Problema login arduino ethernet on: December 22, 2012, 06:05:02 pm
usando ad esempio questa pag http://www.motobit.com/util/base64-decoder-encoder.asp
scrivendo adminadmin (user=admin ... passw=admin) otterrai questa stringa YWRtaW5hZG1pbg== ... dovrai cercarla nel char c  se readString è == a "YWRtaW5hZG1pbg=="  manda le altre linee del client.print con codice 200, altrimenti rimandami un 401 dove in pratica riapri il popup, oppure se la pass è sbagliata scrivi con codice 200 client.print Pass errata + un tasto nella pagina "ritorna al login" rilanciando nuovamente un 401 e così all'infinito.

Comunque dipende dal livello di sicurezza che vuoi ottenere. Con la stringa ottenuta dalla decodifica MD5 invece di 16 caratteri ne hai 32, ma a differenza del base64 l'MD5 non è reversibile cioè dalla stringa codificata non si può risalire a user e pass (o comunque è molto difficile si ottengono molte probabilità e molti conflitti) mentre se nel link che ho incollato prima scrivi ..... decodifica questa stringa a base64 YWRtaW5hZG1pbg== puoi risalire all'user e alla pass che poi vai a scrivere nel popup (però prima mi devo attrezzare per intercettarla)

Se a un utente interessa invece codificare tutto il traffico in entrata e in uscita ad esempio il get?on=1 allora deve usare la libreria di codifica e decodifica base64 o la pesantissima MD5, tutto ciò però succhia risorse ad arduino, un 16 MHz è un po' limitato a fare tutto ciò, ma non è impossibile

in linea di principio per avere una maggior sicurezza servirebbe l'https, in questo caso arduino deve essere dietro a un server ben fatto

ciao
1495  International / Software / Re: Problema login arduino ethernet on: December 22, 2012, 05:51:53 pm
Certo, ho scritto le righe del richiamo, poi devi fare tu le tue elaborazioni dei response ricevuti leggendo il char c, sono meno modifiche di quanto credi, una volta avute le credenziali puoi lanciare il 200 altrimenti sempre il 401
1496  International / Software / Re: Problema login arduino ethernet on: December 22, 2012, 03:06:16 pm
Io per 401 intendevo questo

Code:
void WebPage (EthernetClient &client){
  // INIZIO DICHIARAZIONE PAGINA HTML  
  client.print("HTTP/1.1 401 Authorization Required\r\n");
  client.print("WWW-Authenticate: Basic realm=\"mio login\"\r\n");
  //client.println();
  //client.println(F("HTTP/1.1 200 OK"));
  //client.println(F("Content-Type: mime/type"));
  client.println();
  client.print(F("<html><head><title>ARDUINO Controllo Led via WEB</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' ></head><body>"));

Queste 2 righe fanno apparire il popup di autenticazione da qualsiasi client compatibile compresi gli smartphone, se non altro questa non è visibile sulla get ed è minimamente criptata in base64, nel char c = client.read(); viene racchiuso l'user e pass codificato, resta solo confrontare la stringa che si può leggere in fase di realizzazione con l'uso di debug o online usando una decodifica base64 senza l'uso di nessuna libreria,  poi ci sarebbe l'algoritmo  MD5 un po' più complicato ma fattibile lo stesso la cifratura è un po' più complessa e più difficile intercettarla e decodificarla.

ciao
1497  International / Software / Re: Problema login arduino ethernet on: December 22, 2012, 09:08:39 am
Ci sarebbe anche la lib base64 per le login non che sia una sicurezza,  oppure prova una  stringa md5 a 32 caratteri.
O ancora .... Scrivi 401 al posto di 200 il client ti apre la maschera di login user e passw
Ciao
1498  International / Hardware / Re: Come collegare un semplice interruttore? on: December 21, 2012, 05:02:48 pm
si puo' arrivarci guardando gli schemi, perchè tu glielo hai dato?
Vogliamo fare una discussione tra noi 2?

http://www.nutchip.com/connect/connect.htm questo collegamento si trova tra i link utili

1499  International / Hardware / Re: Come collegare un semplice interruttore? on: December 21, 2012, 04:49:30 pm
Anche nella tua figura non c'è un deviatore, ma un doppio deviatore .... comunque alla fine lui vuole costruire un circuito on-off utilizzando alla fine solo 2 pin dei 6 che ha, nei link utili c'e' lo schema completo di resistenze pull-up o pul down conessone a gnd e +5v (guarda bene)

ciao
1500  International / Hardware / Re: Come collegare un semplice interruttore? on: December 21, 2012, 04:27:52 pm
Non è proprio un semplice interruttore, ma un doppio deviatore.... tre su una fila è un deviatore, 3 sulla seconda fila è un altro deviatore, separati tra loro. Un semplice interruttore ha solo 2 pin.
Nei deviatori a levetta o slitta, il pin centrale è il comune da un lato sarà chiuso e dall'altro è aperto.
Per quanto riguarda la terra, in elettronica esiste un linea di massa detta anche ground e abbreviata in GND, il termine terra non esiste in questo caso.

nella sezione Megatopic di questo forum trovi LINK UTILI http://arduino.cc/forum/index.php/topic,126861.0.html li trovi tutti gli schemi di cui hai bisogno per le connessioni elementari

ciao
Pages: 1 ... 98 99 [100] 101 102 ... 217