Ciao a tutti, prendiamo come esempio l'apertura del tetto e relativa chiusura controllata da due finecorsa che è la cosa più semplice da fare, le altre periferiche da accendere e spegnere non interessano in questo momento.
Avendo una interfaccia relay che accetta e restituisce comandi usando tcp/ip posso mandare a lei la seguente stringa:
http://indirizzo-ip:porta/rlyfs.cgi?rlyf=0questa esegue la chiusura per un secondo del relay0 dando un impulso di un secondo in modo che la scheda controllo motore del tetto esegue il comando di apertura e si ferma da solo quando arriva a fine corsa.
con la seguente stringa:
http://indirizzo-ip:porta/status.xmlvisualizzo lo stato di tutti i relay e di tutte le porte di input dei sensori 4 digitali ed un analogico a due o tre di questi sono collegati i fine corsa del tetto e la posizione di parking della montatura.
<response>
<led0>0</led0>
<led1>1</led1>
<led2>1</led2>
<led3>0</led3>
<led4>1</led4>
<led5>0</led5>
<led6>0</led6>
<led7>0</led7>
<btn0>up</btn0>
<btn1>up</btn1>
<btn2>up</btn2>
<btn3>up</btn3>
<an1>81</an1>
<time0>07:40:19</time0>
</response>
Il tutto è di una semplicità banale per l'invio dell'impulso dei relay basta mandare la stringa, per conoscere lo stato basta leggere xml ed agire di conseguenza.
La sequenza da adottare è semplice:
1) Controllo stato sensori
2) Se sensore 2 è a 1 = tetto aperto non fare nulla
3) Se sensore 2= 0 e Sensore 1 = 1 allora Impulso di apertura tetto
4) Quando sensore 2 = 1 passa apertura avvenuta passa il controllo a CCDCommander o CCDAP5
Sequenza di chisura tetto
1) Controllo stato sensori
2) Se sensore 2=1 (tetto aperto) e sensore 1=0 (tetto chisuso) e sensore 3=1 (Parking Montatura) allora impulso di chisura tetto.
3) Quando sensore 1=1 allora passa controllo a CCDCommander o CCDAutoPilot
Questo è la base semplice semplice, mi aiutate ???