-
claudio_co.
User deleted
Beh dipende quanto lo paghi un Arduino.
Un OrangePiLite mi pare che compreso di memoria costi intorno ai 20 euro, ha la wifi e quindi non necessita di modulo radio aggiuntivo.
Altra domanda: perché un modulo radio "seriale" e non SPI?
Quanto alla tua domanda direi di no, i comandi di accensione e spegnimento sono esattamente sovrapponibili al comando dato da tastiera. Invece dopo un annetto di utilizzo della interfaccia (due inverni) ho completamente smesso di usare la tastiera.. -
masterlegnano.
User deleted
La radio seriale?
E solo per prova, ora di questo inverno deciderò che cosa mettere in via definitiva, tu cosa consigli?
Come linea di principio non mi preoccupa adesso prevedere che a settembre cambio le radio, ci ho speso dietro pochi euro...... -
masterlegnano.
User deleted
Sono arrivate le radio
sono arrivate le radio
fischiettando fischiettando
OK, basta scherzare
Nelle scorse puntate ho descritto la parte di lettura dalla stufa
adesso tocca alla parte di scrittura sulla stufa
per scrivere è necessario inviare 4 byte:
banco Ram oppure EEprom ovvero 0x80 per scrivere in Ram e 0xA0 per scrivere in EEprom
Indirizzo ovvero la casella di memoria da scrivere
valore (un byte, da 0 a 255 ovvero 0x00 0xFF)
e CRC che è banalmente la somma senza riporto dei tre valori appena citati
la stufa dovrebbe (a me non lo fa) rispondere con 2 byte
indirizzo
valore
che confermerebbero l'operazione riuscita
a me non lo fa
comunque la parte di codice che fa il lavoro è questa:CODICEbyte scri_vi( byte banco, byte lsb, byte valore)
{
char stringa[3];
// trasmette alla stufa il codice e restituisce il risultato//
// non esegue il test di integrità
//un ciclo, prova tre volte, se ricevuto OK fa break, altrimenti restituisce default
for (int j = 0; j < 3; j++)
{
ser1.write(banco);
ser1.write(lsb);
ser1.write(valore);
ser1.listen();
// trasmetto crc
ser1.write(byte(banco + lsb + valore));
//ok adesso 1/3 secondo di ascolto
delay(300);
for (int i = 0 ; ser1.available() > 0 ; i++)
{
stringa[i] = ser1.read();
// Serial.print(stringa[i]);
}
// ser2.listen();
// effettuo il test
if (stringa[0] == lsb)
//sembra che ci sia qualche problema col test
{
// Serial.print("+");
return stringa[1];
break;
}
else
{
// Serial.print("-");
//Serial.print(stringa[0]);
//Serial.print(stringa[1]);
}
}
}
come dicevo a me non funziona la parte di risposta dalla stufa
qualcuno può aiutarmi?
naturalmente scrivere in Ram alla locazione 32 il valore 1 accende la stufa
attacca Montalbano, ci si sente domani. -
.
Ma se mandi i comandi dall PC la stufa risponde? Sei sicuro che il calcolo dell checksum va bene?
E non so a cosa serve ser1.listen(), non l'ho mai usato,ma forse crea uno spazio e la stufa interpreta male i commandi.. -
masterlegnano.
User deleted
Per rispondere a te
la stufa non risponde
scusa il gioco di parole
se cambio lo stato in start la stufa si accende, perde un po' di tempi in più all'avviamento, ma poi passa in potenza normalmente seguendo la sequenza normale
stessa cosa se la porto in pulizia finale
passa in pulizia finale un tempo "strano", ma poi si spegne, tutto OK
posso cambiare il tempo che manca alla pulizia braciere
ed altro che adesso nno ricordo, ormai ho finito di tenre accese le stufe
ma NON risponde alla scrittura da seriale
il calcolo del checksum?
lo puoi vedere dal listato, a me così risulta
comunque non ricevo alcuna comunicazione in risposta alla scrittura, non è un problema di checksum, lmeno non credo
anche perchè mi risulta che non ritramentte un checksum, ma due byte, indirizzo e valore nuovo
ser1.listen() serve per abilitare la ricezione dalla seriale software
con la lettura funziona egregiamente
tu che dici?, che cosa usi?. -
.
Adesso non mi viene in mente come ho fatto io,ma non avevo problemi di stop bit etc. Cmq ho cominciato con Arduino,adesso uso esp8266 collegato a wifi di casa e uso un cloud server mqtt per vedere e controllare la stufa.
Per accendere e spegnere basta inviare comandi come letti dall telecomando,non li so di memoria,poi li trovo,ma basta inviarli 3-4 volte di seguito e la stufa si accende e spegne,come da telecomando.
Trovato:
Temperatura piu 80 58 52 2A
Temp meno 80 58 58 30
Potenza piu 80 58 50 28
Potenza meno 80 58 54 2C
Acc/Spegn 80 58 5A 32
Quesri sono commandi in hex che vanno inviati dall telecommando.. -
masterlegnano.
User deleted
Grazie
io non ho nemmeno pensato di passare dal telecomando
scrivo lo stato della stufa nel registro
mi sa che settimana prossima provo
però tu così non hai risposte dalla stufa,
e non puoi cambiare ad esempio la programmazione settimanale da arduino, o sbaglio?. -
.
Con quelli commandi no se mi ricordo bene,ma leggo la temp e potenza impostata e stato stufa e vedo che cambia.
Pero se vai a cambiare qualsiasi altro indirizzo ti manda la risposta. Io in teoria potrei cambiare anche i parametri della stufa dall esp ma non mi serve. Unica cosa che faccio e di accorciare tempo di pulizia finale quando la stufa si spegne perche la temperatura sale troppo. Allora sovrascrivo indirizzo di ram con un valore piu basso.. -
masterlegnano.
User deleted
Grazie, gentilissimo come sempre
passo il WE fuori casa e non posso provare
ma lunedì mi ci dedico
avevo anch'io pensato di ignorare la risposta della stufa e fare un'interrogazione subito dopo la scrittura
che anzi mi semplifica la gestione della ri-trasmissione su errore
quindi la stufa prende i comandi del telecomando anche sulla seriale?
mitico
BMW sei un grande......
cosa hai usato per programmare la ESP?. -
.
Sempre Arduino IDE. Stesso programma. E Esp sopporta 1200,8,n,2 sono sicuro . -
masterlegnano.
User deleted
Allora io te la butto li.....
vediamo a chi c'è la più lungo, mi fai vedere il tuo.....
codice? :-)
che da te ho solo da imparare........ -
.
Momentaneamente sono a Panama. Dovrei tornare tra una decina di giorni e te lo posso mandare. . -
masterlegnano.
User deleted
Salve ragazzi
mi sono un po' incartato in una cosa dalla quale non riesco ad uscire, e vi chiedo aiuto
qualcuno è riuscito a leggere lo stato della pompa della stufa da seriale?
mi servirebbe per non dover mettere un sensore di qualche tipo
siccome ho linux e non windows non riesco ad usare seraminet, e non riseco a capire quale memoria leggere per sapere se la pompa è attiva
mi potete aiutare? grazie. -
.
Quello e la unica cosa che non ho scoperto dove sta nella Ram . -
masterlegnano.
User deleted
MI viene una parola con 2 zeta
buona giornata e grazie, gentilissimo.