Show Posts
|
|
Pages: 1 2 [3] 4
|
|
31
|
International / Megatopic / Re: swRTC
|
on: November 27, 2011, 04:45:29 pm
|
|
Ne approfitto, come faccio a farmi restituire dalle funzioni l'ora in formato 01:05 e non 1:5 ??
|
|
|
|
|
32
|
International / Italiano / Re: [Help2] Domotica con WebServer Arduino
|
on: November 27, 2011, 03:56:04 pm
|
Ah! Io ho dato per scontato che quella pagina che visualizzi sia su un pc interno alle rete, il quale POI gestisce (gl)i arduino/i. Se invece la pagina che visualizzi da fuori è SULL'arduino web server, basta che nel link metti solo il link alla pagina, non comprensivo di IP 
|
|
|
|
|
33
|
International / Italiano / Re: [Help2] Domotica con WebServer Arduino
|
on: November 27, 2011, 03:51:42 pm
|
|
Hai due soluzioni, una che va sicuramente, l'altra che è teoricamente possibile ma dubito esista.
La prima: sul router inoltri la porta 8000 sul server interno, in modo che sulla pagina che hai non ci sia il link a 192.168... ma il link al tuahome.dyndns.org:8000 Così facendo anche da casa usi il router come ponte (non tutti i router, specialmente quelli da pochi soldi, lo permettono. Inoltre a tutti gli effetti la porta 8000 della tua adsl porta al dispositivo interno in modo diretto).
La seconda: teoricamente dicevo possibile perché non conoscendo le ultime news in fatto di java, php, ajax è altre amenità web-related, magari è possibile fare fare al server web una sorta di collegamento interno verso il 192.168.x.x:8000 e mandarti l'output video attraverso la pagina web. E' solo teoria. Fai una ricerca...
|
|
|
|
|
34
|
International / Megatopic / Re: swRTC
|
on: November 27, 2011, 09:39:02 am
|
Non ho avuto la pazienza di leggere tutto il thread sulla precisione dell'orologio, mi limito a fornirti un feekback sul comportamento di un lilpad con il 328.. dopo 8 ore ha scazzato di 4 minuti. Per me non è un problema perché tanto una volta al giorno sincronizzo via seriale (appena mi arrivano i moduli bluetooth aggiorno wireless) e i più lo userò come cronotermostato e quindi non serve sia preciso, mi basta non dovermi costruire un rtc  Ciao M
|
|
|
|
|
36
|
International / Megatopic / Re: swRTC
|
on: November 26, 2011, 09:14:54 pm
|
Ok ce l'ho fatta... posto il codice che magari a qualche principiante come me puo servire.. Setto l'ora con comando da seriale tipo: !D201111261200 e mandando un "G" mi dice l'ora... #include <swRTC.h> swRTC rtc;
int inChar; byte inData[12];
void setup() { delay(2000); rtc.stopRTC(); rtc.setTime(10,43,0); rtc.setDate(25,11,2011); rtc.startRTC(); Serial.begin(9600); Serial.println("Arduino Ready"); }
void loop () {
while(Serial.available() > 0) {
inChar = Serial.read(); // leggo il primo carattere inviato if(inChar == '!') // se inizia per ! allora è un comando e vado a vedere che comando {
Serial.print("Set -> "); inChar = Serial.read(); // leggo il secondo carattere inviato if(inChar == 'D') // se inizia per D è il comando settare data e ora { Serial.print(" Time : "); int i = 0; for (i=0;i<12;i++) // leggo le prossime 12 cifre per il formato data YYYYMMDDhhmm { inChar = Serial.read(); inData[i] = inChar; } char anno[] = { inData[0], inData[1], inData[2], inData[3], 0 }; char mese[] = { inData[4], inData[5], 0 }; char giorno[] = { inData[6], inData[7], 0 }; char ora[] = { inData[8], inData[9], 0 }; char minuto[] = { inData[10], inData[11], 0 }; int Anno = atoi(anno); int Mese = atoi(mese); int Giorno = atoi(giorno); int Ora = atoi(ora); int Minuto = atoi(minuto); Serial.print(Anno); Serial.print("/"); Serial.print(Mese); Serial.print("/"); Serial.print(Giorno); Serial.print(" "); Serial.print(Ora); Serial.print(":"); Serial.println(Minuto); delay(2000); rtc.stopRTC(); rtc.setTime(Ora,Minuto,0); rtc.setDate(Giorno,Mese,Anno); rtc.startRTC(); }
} if (inChar == 'G') { Serial.print(rtc.getYear(), DEC); Serial.print("/"); Serial.print(rtc.getMonth(), DEC); Serial.print("/"); Serial.print(rtc.getDay(), DEC); Serial.print(" "); Serial.print(rtc.getHours(), DEC); Serial.print(":"); Serial.println(rtc.getMinutes(), DEC); } }
}
|
|
|
|
|
37
|
International / Megatopic / Re: swRTC
|
on: November 26, 2011, 07:16:04 pm
|
Sì, swRTC.setTime richie dati in formato byte. Devi fare la conversione tra tipi di dato. Prova convertendo il tuo dato String in un char* usando String.toCharArray e poi con atoi a convertire questo in un numero.
Una soluzione più semplice è spedire direttamente i dati in formato byte: byte mandi, byte arrivano.
Grazie, ma io non ce l'ho già l'array di byte?? Scusa ti metto il codice che uso... perché non ci capisco niente  #include <swRTC.h> swRTC rtc;
int inChar; // var that will hold the bytes-in read from the serialBuffer byte inData[12]; // array that will hold the different bytes 100=100characters;
void setup() { delay(2000); rtc.stopRTC(); rtc.setTime(10,43,0); //set the correct time... rtc.setDate(25,11,2011); //... and date if you want rtc.startRTC(); Serial.begin(9600); Serial.println("Arduino Ready"); }
void loop () {
while(Serial.available() > 0) {
inChar = Serial.read(); // leggo il primo carattere inviato if(inChar == '!') // se inizia per ! allora è un comando e vado a vedere che comando {
Serial.print("Comando: "); inChar = Serial.read(); // leggo il secondo carattere inviato if(inChar == 'D') // se inizia per D è il comando settare data e ora { Serial.println("TimeSync "); // leggo le prossime 12 cifre per il formato data YYYYMMDDhhmm int i = 0; for (i=0;i<11;i++) { inChar = Serial.read(); inData[i] = inChar; } String anno = String(inData[0]) + String(inData[1]) + String(inData[2]) + String(inData[3]); String mese = String(inData[4]) + String(inData[5]); String giorno = String(inData[6]) + String(inData[7]); String ora = String(inData[8]) + String(inData[9]); String minuto = String(inData[10]) + String(inData[11]); delay(2000); rtc.stopRTC(); rtc.setTime(ora,minuto,0); //set the correct time... rtc.setDate(giorno,mese,anno); //... and date if you want rtc.startRTC(); }
}
}
}
|
|
|
|
|
38
|
International / Megatopic / Re: swRTC
|
on: November 26, 2011, 06:54:08 pm
|
|
Ragazzi, molto bella la discussione tecnica sulla precisione di sti orogologi ma sul concreto io sto cercando di aggiornare l'ora via seriale, mandando una stringa tipo !D201111260049 . Peccato che arrivo a memorizzare in un array tutti i caratteri e con la funzione String riesco anche a suddividere anno, mese, giorno etc...
Ma quando vado a usare la stringa che ho creato dentro la funzione per l'aggiornamento dell'ora ---> B O O M ! !
sketch_nov26a.cpp: In function 'void loop()': sketch_nov26a:62: error: no matching function for call to 'swRTC::setTime(String&, String&, int)' /Users/matteo/Documents/Arduino/libraries/swRTC/swRTC.h:32: note: candidates are: boolean swRTC::setTime(byte, byte, byte)
Ora le stringhe me le compongo così:
String anno = String(inData[0]) + String(inData[1]) + String(inData[2]) + String(inData[3]); String mese = String(inData[4]) + String(inData[5]); String giorno = String(inData[6]) + String(inData[7]); String ora = String(inData[8]) + String(inData[9]); String minuto = String(inData[10]) + String(inData[11]);
Peccato che lui voglia delle variabili "byte" se ho capito bene. Ma non so come concatenare delle variabili byte!!! Come avrete inteso sono un niubbo!!
Ciao M
|
|
|
|
|
39
|
International / Italiano / Re: Replicare Cron!
|
on: November 25, 2011, 06:22:09 am
|
Ottimo, grazie, sta sera comincio a mettere assieme i pezzi per arrivare all'obbiettivo! Ho già un'idea guida.. Per i reset ri arduino no problem perché l'autoreset l'ho tolto col condensatore fra reset e gnd, e la corrente ci sarà sempre proprio perché questo device andrà a batteria!! Grazie M
|
|
|
|
|
40
|
International / Italiano / Replicare Cron!
|
on: November 25, 2011, 05:11:04 am
|
|
Ciao, mi servirebbe un hint perché ci capisco ben poco! Per ora il mio arduino-cronotermostato è un dispositivo "stupido", viene comandato via usb dal pc con cron e si limita a fare da attuatore in base al comando che gli mando via cavo. Vorrei pian piano renderlo completamente autonomo; per prima cosa pensavo a realizzare un qualcosa che ad una certa ora accenda e an un'altra ora spenga qualcosa (anche il led su pin13 per ora), ma non so da dove partire. Non vorrei usare un rtc, non mi serve precisione assoluta... Da dove comincio??
|
|
|
|
|
44
|
International / Italiano / Re: Arduino via seriale (vera!), bluetooth e adattatori vari
|
on: November 16, 2011, 03:11:41 am
|
ciao se ho capito bene, dai post di Uwe, intendi anche fare l'upload di sketch?
Se è possibile bene, altrimenti pazienza. Se invece vuoi usare il bt come seriale (per inviare e ricevere dati), allora non hai alcun problema, è trasparente al pc e ad Arduino (previa minima programmazione, chiaramente). Io utilizzo dei modulini basso costo, li attacco a pin 2 e 3 ed utilizzo la NewSoftwareSerial, per tenere libera la seriale e poter eventualmente fare upload di sketch / debug senza dover scollegare il modulo bt stesso.
E' esattamente quello che vorrei fare, mi puoi dire che moduli hai preso, dove e se ci sono cose strane da fare etc? Grazie Ciao M
|
|
|
|
|
45
|
International / Italiano / Re: Arduino via seriale (vera!), bluetooth e adattatori vari
|
on: November 15, 2011, 06:17:46 pm
|
Interessante quel circuito. Alternativa fattibile! 2) dipende. Quelle interfaccie non sempre sono per 5V spesso se usi uno per un telefonino tipo Nokia danno tensioni di 3,3V. Per resettare l' arduino quando ci carichi il programma serve anche il segnale DTR della seriale. Se l'adattatore non ce l'ha devi premere il tasto di reset nel momento giusto durante la procedura di upload.
Se lo do troppo presto immagino sian cazzi, ma se lo do in ritardo? 3) vale quello del reset detto in 2). Ciao Uwe
Thanks a entrambi!!! Ciao
|
|
|
|
|