ho un grosso problema,
come già detto devo controllare un telescopio da computer, in particolare da stellarium (telescopio a forcella quindi devo portarlo nella posizione della stella e poi farlo andare con velocità opposta a quella terrestre).
Tuttavia non riesco a capire che dati Stellarium manda via seriale, e quindi su cosa dovrò lavorare.
Avete già avuto esperienze a riguardo?
Devi capire il formato che usa Stellarium.
Fortunatamente è un software opensource per cui potresti scaricare i sorgenti e studiare il protocollo di comunicazione del software.
EDIT:
ho googlato "stellarium arduino" e mi sono venute fuori diverse cose. Hai già guardato Google?
Hai cercato male
Stellarium è in grado di comandare qualunque telescopio compatibile con il Meade LX-200, una rapida ricerca ed ecco il pdf con tutto il protocollo di comunicazione.
Adesso che ho ricevuto i miei arduino posso riesumare questo topic ] ]
Allora, ho iniziato a creare uno sketch che mi rispondesse ai veri comandi inviati da stellarium. Quando inizio la connessione stellarium chiede la RA e la Declinazione, sono riuscito a rispondere al comando della RA e mi accetta il valore che do in risposta ma non riesco a rispondere alla richiesta della Declinazione, infatti nella documentazione che mi è stata postata da Astrobeed c'è scritto che il comando :GD# accetta come risposta sDD*MM#
io ho interpretato la s come il segno(+ o -) mentre ai valori DD e MM ne ho sostituiti di fittizi.(es.+45*00#).
Ciò è quello che invio via serial, tuttavia nel file di log:
risulta l'errore: error: '+' or '-' expected nonostante vi sia il più dove dovrebbe essere.
le ho provate tutte ma non ne esco, quindi...
avete idea di come potrei scriverlo( ho provato anche +3:0:0)
oppure anche:
] ] ] ] ]
c'è qualche anima pia che possiede un telescopio meade lx200 o compatibile che potrebbe connetterlo al pc a stellarium e può postare il file di log( si trova in AppData/Roaming/Stellarium ed è il file log_TelescopeServer1(o qualsivoglia numero sia il telescopio)) nel caso qui la guida alla configurazione:http://www.stellarium.org/wiki/index.php/Telescope_Control_plug-in
Ho dato un'occhiata al file PDF ma il comando :GD dice che preleva la declinazione, mentre per impostare la declinazione di un oggetto devi usare il comando :SdsDD*MM#
Appunto, il comando GD# richiede al telescopio, nel mio caso all'arduino la declinazione attuale, in modo da poter visualizzare correttamente sulla sfera celeste virtuale il mio telescopio; so di per certo che è quel comando per il semplice motivo che non sono io a inviarli ma una volta connessa la scheda è il pc che per prima invia delle richieste, la RA e la DEC.
il mio problema è che mentre alla richiesta della RA riesco a rispondere correttamente
15445, 11:34:15.952965Z: Lx200Connection::writeFrontCommandToBuffer(Lx200CommandGetRa): queued
15445, 11:34:15.952965Z: Connection::performWriting: writeNonblocking(5) returned 5; #:GR#
15445, 11:34:16.018969Z: Connection::performReading: readNonblocking returned 11; 03:00:00#
15445, 11:34:16.018969Z: Lx200CommandGetRa::readAnswerFromBuffer: RA = 03:00:00 //è stata accettata come valore di RA
a quella della DEC non riesco
15445, 11:34:16.018969Z: Lx200Connection::writeFrontCommandToBuffer(Lx200CommandGetDec): queued
15445, 11:34:16.077972Z: Connection::performWriting: writeNonblocking(5) returned 5; #:GD#
15445, 11:34:16.138976Z: Connection::performReading: readNonblocking returned 7; +45*00#
15445, 11:34:16.138976Z: Lx200CommandGetDec::readAnswerFromBuffer: error: '+' or '-' expected //mi continua a dare questo errore :(
, ma pur seguendo la documentazione non ne vengo a capo
P.S.
il comando Sds è per il pc per dire al telescopio dove deve puntare infatti sulla documentazione viene indicato come "imposta declinazione bersaglio", quindi nel nostro caso di una stella e non del telescopio.
Ah, scusa. Quindi tu rispondi al posto del telescopio.
Fai una cosa, da Stellarium invia quel comando per impostare la declinazione e guarda cosa Stellarium ti spedisce. A questo punto sai i caratteri che usa e che quindi si aspetta da te in risposta.
Ci avevo pensato e pure già provato, tuttavia lui dal momento che non è riuscito a ottenere la posizione del telescopio, a inizializzarlo, non prova neanche a inviare il messaggio via serial, nel log mi compare la funzione richiamata e i parametri con cui la richiama, il nostro RA e DEC, tuttavia con la DEC che usa come parametro continua a non funzionare(lui chiama ad es +3:0:0) che inserita nell'Arduino non funziona :0 :0
purtroppo dal momento che non fa l'invio seriale non so come la manderebbe.
Credo che l'unica sia di trovare qualcuno con un telescopio compatibile e vedere quel log cosa dice
Ho provato di tutto ma non ne vengo a capo, non c'è qualcuno con un telescopio con montatura lx200 compatibile che potrebbe provare a collegare il telescopio all'IDE di arduino e inviare tramite il serial monitor il comando #:GD# e postare la risposta ricevuta ?
Sarebbe molto apprezzato :).
Ho postato su tre forum diversi e inviato pure un'email allo sviluppatore del plugin di stellarium.
Tuttavia sembra di essere giunti a un vicolo cieco.
Risolto :D,
parlando con lo sviluppatore è venuto fuori che probabilmente veniva inviato via seriale un carattere che però non veniva visualizzato e che veniva controllato al posto del + o -, risolto semplicemente cambiando la funzione di stampa dell'RA da println() a print(), e cosi sarà per tutto il resto della comunicazione.