teleskop_steuerung_fuer_c8
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| teleskop_steuerung_fuer_c8 [2019/06/24 09:17] – [Bau und Inbetriebnahme der Steuerung] torsten.roehl | teleskop_steuerung_fuer_c8 [2020/11/22 16:19] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 43: | Zeile 43: | ||
| ==== Bau und Inbetriebnahme der Steuerung ==== | ==== Bau und Inbetriebnahme der Steuerung ==== | ||
| - | === erste Schritte: | + | Zuerst wird ein virtuelles Java-Teleskop in den Grundzügen vorgestellt (Projekt A). Da es das Ziel ist,ein reales C8-Teleskop anzusteuern, |
| + | Das im Projekt B entworfene virtuelle Arduino-Teleskop dient als Skelett für die eigentliche | ||
| - | - virtuelle serielle schnittstelle erzeugen | ||
| - | - socat -d -d PTY, | ||
| - | - rechte setzen | ||
| - | - testen] | ||
| - | i) auf der konsole mit:echo ": | ||
| - | test01.java sollte nachricht anzeigen | ||
| - | ii) mit stellarium | + | * Projekt A: [[virtuelles Java-Teleskop]] |
| - | lx200 teleskop einrichten mit / | + | * Projekt B: [[virtuelles Arduino-Teleskop]] |
| - | + | * Projekt C: [[DIY Teleskop-Steuerung]] | |
| - | [4] schnittstelle muss häufig neueingerichtet werden (schritte 1 + 2 ) | + | |
| - | < | + | |
| - | package test; | + | |
| - | + | ||
| - | import com.fazecast.jSerialComm.SerialPort; | + | |
| - | + | ||
| - | public class Test01 { | + | |
| - | + | ||
| - | public static void main(String[] args) { | + | |
| - | SerialPort comPort = SerialPort.getCommPorts()[2]; | + | |
| - | comPort.openPort(); | + | |
| - | comPort.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, | + | |
| - | try { | + | |
| - | while (true) { | + | |
| - | byte[] readBuffer = new byte[1024]; | + | |
| - | int numRead = comPort.readBytes(readBuffer, | + | |
| - | + | ||
| - | if (numRead > 0) { | + | |
| - | plot(numRead, | + | |
| - | + | ||
| - | if(getRADEC(numRead, | + | |
| - | System.out.println(" | + | |
| - | writeRADEC(comPort); | + | |
| - | } | + | |
| - | if (isGetRA(numRead, | + | |
| - | System.out.println(" | + | |
| - | writeRa(comPort); | + | |
| - | } | + | |
| - | if (isGetDec(numRead, | + | |
| - | System.out.println(" | + | |
| - | writeDec(comPort); | + | |
| - | } | + | |
| - | // | + | |
| - | } | + | |
| - | Thread.sleep(100); | + | |
| - | + | ||
| - | } | + | |
| - | } catch (Exception e) { | + | |
| - | e.printStackTrace(); | + | |
| - | } | + | |
| - | comPort.closePort(); | + | |
| - | + | ||
| - | } | + | |
| - | + | ||
| - | static void plot(int numRead, byte[] readBuffer) { | + | |
| - | System.out.println(" | + | |
| - | + | ||
| - | for (int i = 0; i < numRead; i++) { | + | |
| - | char c = (char) readBuffer[i]; | + | |
| - | System.out.print(c); | + | |
| - | } | + | |
| - | System.out.println("" | + | |
| - | } | + | |
| - | static boolean getRADEC(int num, byte[] readBuffer) { | + | |
| - | char c[] = new char[num]; | + | |
| - | if (readBuffer.length < 1) | + | |
| - | return false; | + | |
| - | + | ||
| - | for (int i = 0; i < num; i++) { | + | |
| - | c[i] = (char) readBuffer[i]; | + | |
| - | + | ||
| - | } | + | |
| - | + | ||
| - | if (c[0] == ' | + | |
| - | return true; | + | |
| - | } | + | |
| - | + | ||
| - | return false; | + | |
| - | } | + | |
| - | + | ||
| - | static void writeRADEC(SerialPort p) { | + | |
| - | + | ||
| - | String str = " | + | |
| - | byte[] buffer = new byte[18]; | + | |
| - | byte[] byte_str = str.getBytes(); | + | |
| - | for (int i = 0; i < 18; i++) | + | |
| - | buffer[i] = byte_str[i]; | + | |
| - | + | ||
| - | // | + | |
| - | // | + | |
| - | + | ||
| - | p.writeBytes(buffer, | + | |
| - | } | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | static boolean isGetRA(int num, byte[] readBuffer) { | + | |
| - | char c[] = new char[num]; | + | |
| - | if (readBuffer.length < 4) | + | |
| - | return false; | + | |
| - | + | ||
| - | for (int i = 0; i < num; i++) { | + | |
| - | c[i] = (char) readBuffer[i]; | + | |
| - | + | ||
| - | } | + | |
| - | + | ||
| - | if (c[0] == '#' | + | |
| - | return true; | + | |
| - | } | + | |
| - | + | ||
| - | return false; | + | |
| - | } | + | |
| - | + | ||
| - | static boolean isGetDec(int num, byte[] readBuffer) { | + | |
| - | char c[] = new char[num]; | + | |
| - | if (readBuffer.length < 4) | + | |
| - | return false; | + | |
| - | + | ||
| - | for (int i = 0; i < num; i++) { | + | |
| - | c[i] = (char) readBuffer[i]; | + | |
| - | + | ||
| - | } | + | |
| - | + | ||
| - | if (c[0] == '#' | + | |
| - | return true; | + | |
| - | } | + | |
| - | + | ||
| - | return false; | + | |
| - | } | + | |
| - | + | ||
| - | static void writeRa(SerialPort p) { | + | |
| - | + | ||
| - | String str = " | + | |
| - | byte[] buffer = new byte[9]; | + | |
| - | byte[] byte_str = str.getBytes(); | + | |
| - | for (int i = 0; i < 9; i++) | + | |
| - | buffer[i] = byte_str[i]; | + | |
| - | + | ||
| - | // | + | |
| - | // | + | |
| - | + | ||
| - | p.writeBytes(buffer, | + | |
| - | } | + | |
| - | + | ||
| - | static void writeDec(SerialPort p) { | + | |
| - | String str = "+19*10#"; | + | |
| - | //" | + | |
| - | byte[] buffer = new byte[7]; | + | |
| - | byte[] byte_str = str.getBytes(); | + | |
| - | for (int i = 0; i < 7; i++) | + | |
| - | buffer[i] = byte_str[i]; | + | |
| - | // | + | |
| - | // | + | |
| - | // | + | |
| - | + | ||
| - | p.writeBytes(buffer, | + | |
| - | } | + | |
| - | + | ||
| - | } | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | [[DIY Teleskop-Steuerung]] | + | |
teleskop_steuerung_fuer_c8.1561367851.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
