Pages: [1]   Go Down
Author Topic: Stellarium + Arduino  (Read 1233 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?

Francesco
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21645
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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?  smiley-wink
« Last Edit: March 27, 2012, 05:18:59 pm by leo72 » Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Su google ho già guardato ma i risultati non portano a molto...  smiley-sad
comunque adx provo a leggermi i sorgente di stellarium,
Grazie per la risposta smiley
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Su google ho già guardato ma i risultati non portano a molto...  smiley-sad

Hai cercato male  smiley
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.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Adesso che ho ricevuto i miei arduino posso riesumare questo topic  smiley-twist smiley-twist
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
Code:
:GD#
accetta come risposta
Code:
sDD*MM#
io ho interpretato la s come il segno(+ o -) mentre ai valori DD e MM ne ho sostituiti di fittizi.(es.
Code:
+45*00#
).
Ciò è quello che invio via serial, tuttavia nel file di log:
Code:
15445, 11:34:00.890104Z: Lx200Connection::sendCommand(Lx200CommandGetRa)
15445, 11:34:00.890104Z: Lx200Connection::writeFrontCommandToBuffer(Lx200CommandGetRa): queued
15445, 11:34:00.890104Z: Lx200Connection::sendCommand(Lx200CommandGetDec)
15445, 11:34:00.890104Z: Connection::performWriting: writeNonblocking(5) returned 5; #:GR#
15445, 11:34:05.904390Z: Lx200Connection::resetCommunication
15445, 11:34:05.921391Z: Lx200Connection::sendCommand(Lx200CommandGetRa)
15445, 11:34:05.921391Z: Lx200Connection::sendCommand(Lx200CommandGetDec)
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
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
15445, 11:34:16.138976Z: Lx200Connection::resetCommunication
15445, 11:34:16.202979Z: Lx200Connection::sendCommand(Lx200CommandGetRa)
15445, 11:34:16.202979Z: Lx200Connection::sendCommand(Lx200CommandGetDec)
15445, 11:34:16.202979Z: Connection::performReading: readNonblocking returned 2;
risulta l'errore:
Code:
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:
 smiley-evil smiley-evil smiley-evil smiley-evil smiley-evil
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

Grazie in anticipo per l'aiuto

Francesco
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21645
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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#
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Code:
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
Code:
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  smiley-sad-blue smiley-sad-blue


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.
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21645
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-mad smiley-mad
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  smiley-sad
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Code:
#:GD#
e postare la risposta ricevuta smiley-sweat?
Sarebbe molto apprezzato  smiley smiley.

Grazie
Francesco
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 29
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa Francesco forse è superfluo chiederlo, ma hai provato a girare la domanda anche su un forum di astrofili "fai da te"?
ciao Carlo
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma certo.... smiley-roll-sweat

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.

Francesco
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Risolto smiley-grin smiley-grin smiley-grin smiley-grin,
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
Code:
da println() a print()
, e cosi sarà per tutto il resto della comunicazione.

Grazie a tutti comunque per il supporto
Francesco
Logged

Pages: [1]   Go Up
Jump to: