# Styrning av astronomiska instrument med INDI

Kstars tillhandahåller ett gränssnitt för att anpassa och styra astronomiska instrument via protokollet INDI.

Protokollet INDI stöder en mängd astronomiska instrument som CCD-kameror och fokuseringsinstrument. För närvarande stöder Kstars följande instrument:

## Teleskop som stöds

Teleskop | Drivrutin | Version
--- | --- | ---
LX200 8"-12" Classic | LX200 Classic | 0.5
Autostar-baserade teleskop | LX200 Autostar | 0.5
LX200 GPS 8"-16" | LX200 GPS | 0.5
LX200 Classic 16" | LX00 16" | 0.5
NexStar GPS, CGE, AS-GT | Celestron GPS | 0.5
New GT, NexStar 5i/8i | Celestron GPS | 0.5
Astro-Physics AP | Generell LX200 | 0.1
Astro-Electronic FS-2 | Generell LX200 | 0.1
Losmandy Gemini | Generell LX200 | 0.1
Mel Bartels styrenheter | Generell LX200 | 0.1

## Fokuseringsinstrument som stöds

Fokuseringsinstrument | Drivrutin | Version
--- | --- | ---
Meade LX200GPS Microfocuser | LX200 GPS | 0.1
Meade 1206 Primary Mirror Focuser | Generell LX200 | 0.1
JMI NGF serien | Generell LX200 | 0.1
JMI MOTOFOCUS | Generell LX200 | 0.1

## Fokuseringsanslutning

Fokuseringsinstrumentet kan endast anslutas till fokuseringsporten på teleskopen LX200 GPS, Autostar eller Classic.

## CCD:er som stöds

CCD | Drivrutin | Version
--- | --- | ---
Finger Lakes Instruments CCDs | fliccd | 0.1

## Webbkameror som stöds

Webbkamera | Drivrutin | Version
--- | --- | ---
Alla enheter som fungerar med Video4Linux | v4ldriver | 0.1
Philips webbkameror | v4lphilips | 0.1

## INDI-inställning

Kstars kan styra lokala enheter och fjärrenheter sömlöst via INDI:s klient-server arkitektur. INDI-enheter kan köras i tre olika lägen:

1. Lokalt: Det lokala läget är det vanligaste, och används för att styra lokala enheter (t.ex. en enhet som är kopplad till din dator).

2. Server: Serverläget etablerar en INDI-server för en viss enhet och väntar på anslutning från fjärrklienter. Du kan inte styra serverenheter, du kan bara starta och avsluta dem.

3. Klient: Klientläget används för att ansluta till INDI-fjärrservrar som kör INDI-enheter. Du kan styra fjärrenheter sömlöst som lokala enheter.

Du kan styra lokala enheter, upprätta INDI-servrar och ansluta till fjärrklienter från Enhetshanteraren i menyn Enheter.

Här är en skärmbild av fönstret Enhetshanterare:

Köra drivrutiner
Starta drivrutiner

Du kan styra enheter genom att bläddra i enhetsträdet, välja en särskild enhet, och därefter klicka på knappen Kör tjänst. Du kan välja körläge, antingen lokal eller server, enligt definitionen ovan.

För att styra fjärrenheter, se avsnittet Fjärrstyrning av instrument.

## Teleskopinställning

De flesta teleskop är utrustade med RS232-gränssnitt för fjärrstyrning. Anslut teleskopets RS232-kontakt till datorns serieport eller USB-port. Traditionellt ansluter RS232 till datorns serieport, men eftersom många nya bärbara datorer övergett serieporten till förmån för USB-portar eller Firewire-portar, kan man behöva skaffa en serieport till USB adapter för användning med nya bärbara datorer.

När teleskopet anslutits till serieporten eller USB-porten, kan teleskopet sättas på. Du rekommenderas bestämt att ladda ner och installera det senaste fasta programmet för teleskopstyrenheten.

Teleskopet måste justeras innan det kan användas på ett riktigt sätt. Justera teleskopet (med en eller två stjärnor) som visas i teleskopets handbok.

&kstars; behöver kontrollera tid- och platsinställningar innan anslutning till teleskopet. Det försäkrar att följning och synkronisering mellan teleskopet och &kstars; är riktiga. Följande steg gör att du kan kommunicera med ett instrument som är direkt ansluten till datorn. För att ansluta till och fjärrstyra instrument, se avsnittet Fjärrstyrning av instrument.

Du kan använda teleskopguiden och den kontrollerar all information som krävs medan den körs. Den kan automatiskt avsöka portar efter anslutna teleskop. Du kan köra guiden genom att välja Teleskopguide i menyn Enheter.

Du kan alternativt ansluta till ett lokalt teleskop, genom att utföra följande steg:

1. Ställ in geografisk plats. Öppna fönstret Ange geografisk plats genom att välja Ange geografisk plats... i menyn Inställningar, genom att klicka på jordklotet i verktygsraden, eller genom att trycka på &Ctrl;G.

2. Ställ in lokal tid och datum. Du kan ändra till godtycklig tid och datum genom att välja Ställ in tid... i menyn Tid, eller genom att klicka på ikonen tid i verktygsraden. Fönstret Ställ in tid använder &kde;:s vanliga datumvalskomponent, tillsammans med tre rutor för att välja timmar, minuter och sekunder. Om du behöver återställa klockan till aktuell tid, välj bara Ställ in tid till aktuell i menyn Tid.

3. Klicka på menyn Enheter och välj Enhetshanterare.

4. Välj teleskopmodell i kolumnen Enhet.

5. Högerklicka på enheten och välj Kör tjänst.

6. Klicka på Ok för att stänga enhetshanterarens dialogruta.

### Ofta använda inställningar

Du behöver inte ställa in geografisk plats och tid varje gång du ansluter till ett teleskop. Justera bara inställningarna efter behov.

Du är nu redo att använda instrumentets funktioner. &kstars; tillhandahåller två bekväma valfria grafiska gränssnitt för att styra teleskop:

### Styra teleskopet

1. Styrning från himmelskarta: För varje enhet du kör i Enhetshanteraren, visas motsvarande alternativ i menyn som låter dig styra enhetens egenskaper. Du kan ge kommandon som `Förflytta, Synkronisera` och `Följ` direkt från himmelskartan.

   Här är en skärmbild av menyn som visas med en aktiv LX200 Classic-enhet:

   Att styra instrument från himmelskartan

2. INDI-inställningsruta: Rutan erbjuder användaren alla funktioner som stöds av en enhet.

   Rutan är uppdelad i tre huvudavdelningar:

   - Enhetsflikar: Varje ytterligare aktiv enhet upptar en flik i INDI-rutan. Flera enheter kan köra samtidigt utan att påverka andra enheters användning.

   - Egenskapsvisning: Egenskaper är nyckelelement i INDI-arkitekturen. Varje enhet definierar en uppsättning egenskaper för att kommunicera med klienten. Teleskopets nuvarande position är ett exempel på en egenskap. Liknande egenskaper finns ofta semantiskt i logiska block eller grupperingar.

   - Loggvisning: Enheter rapporterar status och bekräftar kommandon genom att skicka INDI-meddelanden. Varje enhet har sin egen loggvisning, och alla enheter delar en generell loggvisning. En enhet skickar oftast bara meddelanden till sin drivrutin, men en enhet har också möjlighet att skicka ett generellt meddelande om det är lämpligt.

   INDI-inställningsruta

Du är inte begränsad till att använda ett gränssnitt istället för ett annat, eftersom båda kan användas samtidigt. Åtgärder från himmelskartan syns automatiskt i INDI-inställningsrutan och tvärtom.

För att ansluta till teleskopet kan du antingen välja Anslut i enhetens meny, eller som ett alternativ kan du trycka på Anslut under enhetens flik i INDI-inställningsrutan.

Normalt försöker Kstars ansluta till porten `/dev/ttyS0`. För att ändra anslutningsport, välj INDI-inställningsruta i menyn Enheter och ändra porten under enhetsfliken.

&kstars; uppdaterar automatiskt teleskopets longitud, latitud och tid baserat på aktuella inställningar i &kstars;. Du kan aktivera eller inaktivera inställningarna i dialogrutan Anpassa INDI under menyn Enheter.

Om &kstars; lyckas kommunicera med teleskopet, hämtas aktuell RA och Dek från teleskopet, och ett hårkors, som anger teleskopets position, visas på himmelskartan.

### Synkronisera teleskopet

Om du justerade teleskopet, och den senaste riktstjärnan till exempel var Vega, ska hårkorset vara centrerat på Vega. Om hårkorset inte är på riktpunkten, kan du högerklicka på Vega på himmelskartan och välja `Synkronisera` i teleskopmenyn. Den här åtgärden talar om för teleskopet att synkronisera de interna koordinaterna för att stämma med Vegas koordinater, och nu bör teleskopets hårkors vara centrerat på Vega.

Det är allt! Teleskopet är klart att utforska himlarna.

### VARNING

Använd aldrig teleskopet för att titta på solen. Att titta på solen kan orsaka permanent skada på ögonen, och även på utrustningen.

## Inställning av CCD- och videohämtning

Kstars stöder Finger Lakes instruments CCD:er och alla enheter som fungerar med Video4Linux. De utökade funktionerna för Philips webbkameror stöds också.

Du kan köra CCD- och videoenheter från Enhetshanteraren i menyn Enheter. Som alla INDI-enheter, är viss styrning av enheten åtkomlig från himmelskartan. Enheten kan styras fullständigt från INDI-styrrutan.

Standardformatet för att ta bilder är FITS. När en bild väl har tagits och laddats ner, visas den i Kstars FITS-visning. För att ta en följd av bilder, använd verktyget Ta bildsekvens i menyn Enheter. Verktyget är inaktivt till du upprättar en anslutning till en bildenhet.

## INDI-koncept

INDI-inställningsrutan erbjuder många egenskaper för instrumentet som inte kan kommas åt från himmelskartan. Egenskaperna som erbjuds skiljer sig från ett instrument till ett annat. Trots det delar alla egenskaper gemensamma funktioner, som styr hur de visas och används:

- Rättighet: Alla egenskaper kan antingen vara läsbara, skrivbara eller både läs- och skrivbara. Ett exempel på en läs- och skrivbar egenskap är teleskopets rektascension. Du kan skriva in en ny rektascension och teleskopet panorerar eller synkroniserar till det nya värdet, beroende på aktuella inställningar. Dessutom uppdateras rektascensionen och skickas tillbaka till klienten medan teleskopet panorerar.

- Tillstånd: Framför varje egenskap finns en tillståndsindikator (rund LED). Varje egenskap har ett tillstånd, och motsvarande färgkod:

  ### Färgkodning av INDI-tillstånd

  Tillstånd | Färg | Beskrivning
  --- | --- | ---
  Overksam | Grå | Enheten utför inte någon åtgärd med avseende på egenskapen
  Ok | Grön | Senaste åtgärd som utfördes för egenskapen lyckades och aktiverades
  Upptagen | Gul | Egenskapen utför en åtgärd
  Larm | Röd | Egenskapen har ett kritiskt läge och behöver omedelbar uppmärksamhet

  Drivrutinen uppdaterar egenskapernas tillstånd i realtid om det behövs. Om teleskopet till exempel håller på att panorera till en riktpunkt, markeras egenskaperna RA och Dek båda som Upptagen. När panoreringen är klar och har lyckats, markeras egenskaperna som Ok.

- Sammanhang: Numeriska egenskaper kan acceptera och behandla tal med två format: decimala och sexagesimala. Det sexagesimala formatet är bekvämt när tid eller ekvatoriella geografiska koordinater anges. Du kan använda vilket format som helst, för din bekvämlighet. Alla följande tal är till exempel ekvivalenta:

  - -156,40

  - -156:24:00

  - -156:24

- Tid: Standardtiden för all INDI-kommunikation är universell tid (UTC) angiven som ÅÅÅÅ-MM-DD TT:MM:SS enligt ISO 8601. &kstars; kommunicerar automatiskt med användning av riktig UTC-tid med drivrutiner. Du kan aktivera eller inaktivera automatisk tidsuppdatering med dialogrutan Anpassa INDI i menyn Enheter.

## Fjärrstyrning av instrument

Kstars tillhandahåller ett enkelt men kraftfullt lager för att fjärrstyra instrument. En detaljerad beskrivning av lagret finns i INDI-rapporten.

Du måste ställa in både server- och klientdatorn för fjärrstyrning:

1. Server: För att förbereda ett instrument för fjärrstyrning, följ samma steg som i Lokal- och serverinställning. När du startar en enhetstjänst i Enhetshanteraren, visas ett portnummer i kolumnen Port att lyssna på. Förutom portnumret, behöver du också serverns värddatornamn eller IP-adress.

2. Klient: Välj Enhetshanterare i menyn Enheter och klicka på fliken Klient. Du kan lägga till, ändra eller ta bort värddatorer under fliken Klient. Lägg till en värddator genom att klicka på knappen Lägg till. Skriv in serverns värddatornamn eller IP-adress i fältet Värddator, och skriv in portnumret som erhölls från serverdatorn i steg 1.

INDI-klient

När du lagt till en värddator, högerklicka på värddatorn för att Ansluta eller Koppla ner. Om en anslutning är upprättad, kan du styra teleskopet från Himmelskartan eller INDI-inställningsrutan, precis som beskrivs i avsnittet Lokal- och serverinställning. Så enkelt är det!

### Köra en INDI-server från kommandoraden

Även om &kstars; låter dig enkelt upprätta en INDI-server, kan du också starta en INDI-server från kommandoraden.

Eftersom INDI är en oberoende komponent, kan du köra en INDI-server på en värddator utan KStars. INDI kan kompileras separat för att köra på fjärrdatorer. Dessutom loggar drivrutiner meddelanden på `standardfelutmatningen`, vilket kan vara till hjälp i felsökningssituationer. Syntaxen för INDI-servern är följande:

$ `indiserver` [väljare] [`drivrutin` ...]

Väljare:

-p p : alternativ IP-port, standardvärde 7624

-r n : maximalt antal omstartsförsök, standardvärde 2

-v : mer information till standardfelutmatning

Om du till exempel vill starta en INDI-server som kör en LX200 GPS-enhet och lyssnar på anslutningar på port 8000, skulle du köra följande kommando:

$ `indiserver` -p 8000 `lx200gps`

### Säker fjärrstyrning

Antag att vi vill köra en indiserver med INDI-drivrutiner på en annan dator, `annan_dator`, och ansluta dem till &kstars; som kör på den lokala datorn.

Logga in på den andra datorn `annan_dator` från den lokala datorn, genom att skriva:

$ `ssh` -L `lokal_port`:`annan_dator`:`annan_port`

Det här kopplar ihop `lokal_port` på den lokala datorn med `annan_port` på `annan_dator`. Efter inloggningen, kör indiserver på den andra datorn:

$ `indiserver` -p `annan_port` [`drivrutin`...]

Tillbaka på den lokala datorn: starta &kstars;, och öppna därefter Enhetshanteraren och lägg till en värddator under fliken Klient. Värddatorn ska vara den lokala värddatorn (oftast 127.0.0.1) och portnumret ska vara `lokal_port` som används i stegen ovan. Högerklicka på värddatorn och välj Anslut i menyn som visas. &kstars; ansluter till den andra datorns INDI-server via en säker anslutning. Värddatorinformationen sparas för framtida sessioner.

## Vanliga frågor om INDI

Vad är INDI?

INDI är styrprotokollet Instrument-Neutral Distributed-Interface utvecklat av Elwood C. Downey från ClearSky institutet. &kstars; använder drivrutiner som fungerar tillsammans med INDI-protokollet. INDI har många fördelar, bland annat lös koppling mellan hårdvaruenheter och drivrutiner i programvara. Klienter som använder drivrutiner (som &kstars;) är fullständigt omedvetna om enhetens egenskaper. Under körning kommunicerar &kstars; med drivrutiner och bygger ett fullständigt dynamiskt grafiskt gränssnitt baserat på tjänster som erbjuds av enheten. Därför kan nya drivrutiner skrivas eller uppdateras, och Kstars kan utnyttja dem utan några ändringar på klientsidan.

Planerar ni stöd för fler instrument?

Ja. Vi planerar stöd för viktigare CCD-kameror och fokuseringsutrustningar, och utökat stöd för flera teleskop. Om du vill att INDI ska utökas med stöd för ett visst instrument, skicka gärna e-post till indi-devel@lists.sourceforge.net.

Jag har ingen serieport. Hur kan jag ansluta mig till teleskopet?

Många moderna bärbara datorer har ingen serieport. Du behöver en serie till USB adapter som stöds av Linux. Exempelvis Keyspan USA-19QW serie till USB adapter har bra stöd i Linux, och har provats med &kstars;. Du måste titta i adapterns dokumentation för att ta reda på vilka portar den tillhandahåller (t.ex. `/dev/ttyUSB0 .... /dev/ttyUSB9`).

När jag försöker ansluta, rapporterar &kstars; att teleskopet inte är anslutet till serieporten eller USB-porten. Vad kan jag göra?

Meddelandet visas när &kstars; inte kan kommunicera med teleskopet. Här är några saker du kan göra:

1. Kontrollera att du både har läs- och skrivrättighet för porten du försöker ansluta till.

2. Kontrollera anslutningskabeln. Försäkra dig om att den är i gott skick, och prova den med andra program.

3. Kontrollera teleskopets kraftförsörjning. Försäkra dig om att den är på, och att teleskopet får tillräckligt med kraft.

4. Ställ in riktig port med INDI-inställningsruta i menyn Enheter. Standardporten är `/dev/ttyS0`.

5. Starta om &kstars; och försök igen.

&kstars; rapporterar att teleskopet är uppkopplat och klart, men jag kan inte hitta teleskopets hårkors. Var finns det?

&kstars; hämtar teleskopets RA och Dek koordinater vid anslutning. Om justeringen gjorts riktigt, bör du se hårkorset omkring riktpunkten på stjärnkartan. Dock kan RA och Dek koordinaterna som erhålls av teleskopet vara felaktiga (till och med under horisonten) och du måste synkronisera teleskopet med nuvarande riktpunkt.

Teleskopet rör sig oregelbundet eller inte alls. Vad kan jag göra?

Beteendet beror oftast på felaktiga inställningar. Gå igenom följande checklista:

1. Är teleskopet justerat?

2. Är teleskopets justeringsläge riktigt? Använd INDI-inställningsrutan för att kontrollera och ändra inställningarna (Elev/az, polär, land).

3. Är teleskopets tid- och datuminställningar riktiga?

4. Är teleskopets longitud- och latitudinställningar riktiga?

5. Är teleskopets UTC-justering riktig?

6. Är teleskopets RA- och Dek-axlar stadigt låsta?

7. Är teleskopets N/S-brytarinställning (om den finns) riktig för hemisfären?

8. Är kabeln mellan teleskopet och datorn i gott skick?

Om du tror att alla inställningar är riktiga, men teleskopet fortfarande rör sig oregelbundet eller inte alls, skicka gärna en rapport till kstars-devel@kde.org.