# 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 en aktuell lista med instrument som stöds, besök sidan med instrument som stöds hos INDI.

## 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 undermenyn Verktyg 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.Portnumret skapas slumpmässigt i intervallet 7624 till 10 000. &kstars; tillåter att flera drivrutiner kör med en INDI-server, och därmed en port. Välj flera drivrutiner och klicka därefter på knappen Kör tjänst.

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 Geografisk... 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. 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å undermenyn Verktyg Enheter och välj Enhetshanterare.

4. Välj teleskopmodell i kolumnen Enhet.

5. Klicka på knappen Kör tjänst.

6. Klicka på Stäng för att lämna 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 under flikarna Huvudstyrning och Alternativ: 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. 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 undermenyn Verktyg Enheter och ändra porten under enhetsfliken.

&kstars; uppdaterar automatiskt teleskopets longitud, latitud och tid baserat på aktuella inställningar i &kstars;. Det går att aktivera eller inaktivera det genom att använda fliken INDI från undermenyn Inställningar Anpassa &kstars;.... Genom att använda fliken INDI kan &kstars; ställas in att visa eller inte visa INDI-statusmeddelanden i statusraden. Normalt har INDI-serverportnummer värden i intervallet 7624 till 9000, men det är enkelt att ändra intervallet genom att använda textrutorna Från och Till under Serverport.

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. Hårkorset som markerar teleskopets position kan döljas genom att använda fliken INDI från undermenyn Inställningar Anpassa &kstars;....

### 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 utrustningen.

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

Du kan köra CCD- och videoenheter från Enhetshanteraren i undermenyn Verktyg 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.

## Anpassa INDI

Sidan INDI låter dig ändra klientsidans INDI-specifika alternativ. Välj fliken INDI från undermenyn Inställningar Anpassa &kstars;... för att komma åt dem. Fönstret är uppdelat i flera huvudkategorier: Allmänt, Automatiska uppdateringar av enhet, Skärm, Uppdatera källa, Filterhjul och Serverport:

- Allmänt

  - `INDI-server`: Ange katalogen där den installerade INDI-serverns binärprogram finns på systemet. Normalt använder &kstars; katalogen /usr/bin/indiserver.

  - `INDI-drivrutinkatalog`: Ange katalogen där INDI-drivrutiner finns på systemet. Normalt använder &kstars; katalogen /usr/share/indi.

  - `FITS-standardkatalog:` Ange katalogen där alla tagna FITS-bilder sparas. Om ingen katalog är angiven, lagras bilder i $HOME.

- Uppdateringar av enhet

  - `Dator`: Synkronisera enheten till datorns tids- och platsinställningar.

  - `Enhet`: Synkronisera datorn till enhetens tids- och platsinställningar.

  - `Tid:` Uppdatera teleskopets datum och tid, om det stöds, vid anslutning.

  - `Geografisk plats`: Uppdatera teleskopets information om geografisk plats (nuvarande longitud och latitud), om det stöds, vid anslutning.

- Skärm

  - `Teleskopets hårkors`: Om markerad, visar &kstars; teleskopets hårkors på himmelskartan. Hårkorset visas efter anslutningen till teleskopet har lyckats, och dess plats uppdateras periodiskt. Teleskopets namn visas intill hårkorset. &kstars; visar ett hårkors per anslutet teleskop. För att ändra färg på teleskopets hårkors, öppna fönstret Anpassa &kstars;. Välj fliken Färger, och ändra därefter färg på Målindikator till önskad färg.

  - `INDI-meddelanden i statusraden`: Om markerad, visar &kstars; INID-statusmeddelanden i &kstars; statusrad.

- Serverport: Ange portintervall som INDI-servern ska binda till när nya drivrutiner startas.

## INDI-koncept

Det huvudsakliga nyckelbegreppet i INDI är att enheter har möjlighet att beskriva sig själva. Det åstadkoms genom att använda XML för att beskriva en generell hierarki som både kan representera konventionella och icke-konventionella enheter. I INDI kan alla enheter innehålla en eller flera egenskaper. Alla egenskaper kan innehålla en eller flera element. Det finns fyra typer av INDI-egenskaper:

- Textegenskap.

- Nummeregenskap.

- Omställningsegenskap (representeras med knappar och kryssrutor i det grafiska gränssnittet).

- Ljusegenskap (representeras av färgade lysdioder i det grafiska gränssnittet)

Alla INDI-enheter delar den standardiserade omställningsegenskapen CONNECTION. Egenskapen CONNECTION har två omställningselement CONNECT och DISCONNECT. &kstars; tolkar den generella XML-beskrivningen av egenskaper och bygger en representation i ett grafiskt gränssnitt som är lämpligt för direkt interaktion med användaren.

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 på sidan INDI i inställningsdialogrutan.

## 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. Förutom portnumret, behöver du också serverns värddatornamn eller IP-adress.

2. Klient: Välj Enhetshanterare i undermenyn Verktyg 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:

-l d : logga drivrutinmeddelanden till d/ÅÅÅÅ-MM-DD.islog

-m m : döda klienten om den blir efter med så här många Mibyte, standardvärde 10

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

-f sökväg : Sökväg till FIFO för dynamisk start och avstängning av drivrutiner.

-v : visa viktiga händelser, ingen trafik

-vv : -v + innehållet i viktiga meddelanden

-vvv : -vv + fullständig XML

drivrutin: körbar fil eller enhet@värddator[:port]

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.

Vilka åtgärder tillhandahåller &kstars; för att styra teleskopet?

Det beror på vilket särskilt teleskop du använder, men de minimala tre åtgärderna är `Panorera`, `Följa` och `Synkronisera`, som du direkt kan utföra från himmelskartan. Teleskopet måste vara justerat för att åtgärderna ska utföras riktigt. Vissa teleskop erbjuder fler åtgärder som platshantering, panoreringslägen, fokusering, parkering, med mera. Du kan komma åt teleskopets utökade funktioner från INDI-inställningsrutan i undermenyn Verktyg Enheter.

Vad är exakt skillnaden mellan `Panorering`, `Följning` och `Synkronisering`?

Kommandot `Panorera` beordrar teleskopet att gå till ett visst mål, och när teleskopet når målet, fortsätter teleskopet att följa målet med en siderisk hastighet (dvs. den hastighet som stjärnorna rör sig över himlen). Det fungerar bra för stjärnor, Messier-objekt och nästan allting utanför solsystemet. Men objekt i solsystemet rör sig på annat sätt över himlen, så teleskopet måste `Följa` objekten när de rör sig.

Därför måste du ge följkommandot om du vill följa ett objekt som inte har siderisk rörelse. Å andra sidan används `Synkronisera`för att synkronisera teleskopets interna koordinater med de som ett objekt du väljer har.

Kan jag styra teleskopet från en annan plats?

Ja. Du kan starta en INDI-server på datorn ansluten till teleskopet så lyssnar servern på begäran från &kstars;-klienter. När du är ansluten, kan du styra teleskopet direkt från himmelskartan. Proceduren beskrivs i detalj i avsnittet Fjärrstyrning av instrument.

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. Standardenheten ä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å himmelskartan. Dock kan RA- och Dek-koordinaterna som tillhandahålls av teleskopet vara felaktiga (till och med under horisonten) och du måste synkronisera teleskopet med nuvarande riktpunkt. Du kan använda högerklicksmenyn för att centrera och följa teleskopets hårkors på himmelskartan.

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 indi-devel@lists.sourceforge.net.