donderdag 22 september 2022

ADSN [ 107 : ID lijst ]

 Elk body , target , object of hoe je het ook wilt noemen heeft een eigen ID nummer . Dit kan zowel positief zijn als negatief.

Het voordeel hiervan is,als je de lijst hebt,  dat je kunt kiezen wat je eigenlijk wilt.

Als ik   moon   invul voor de maan bij JPL dan kan ik kiezen uit twee mogelijkheden , maar als ik 301 invul , dan heb ik de juiste .

Dankzij een forum ben ik te weten gekomen waar ik die lijst kan ophalen , en zodoende nu jullie ook.


For planets, natural satellites, and many (but not all) spacecraft:

API
https://ssd.jpl.nasa.gov/api/horizons.api?format=text&COMMAND=%27MB%27

... or browser
https://ssd.jpl.nasa.gov/horizons/time_spans.html

For asteroids and comets, there is an ASCII text file updated hourly:
https://ssd.jpl.nasa.gov/ftp/xfr/DASTCOM.IDX

The primary SPK ID is the integer starting in column 35.

 

Het is de API die ik zal gebruiken , eerst nog een Pythonscript ervoor schrijven .

De laatste tijd ben ik mij aan het verdiepen in Python , om een samenhangend geheel te brouwen ,waar ik zowel manuele ingave , als JPL , als Gpredict via één server met mijn rotor kan laten communiceren .

Dus het zal een poosje stil zijn hier.

 

donderdag 8 september 2022

ADSN [ 106 : Eigen script met JPL data ]

Het is gelukt !

Ik kan nu de data ophalen via de api van JPL en direkt daarmee mijn rotor aansturen .

Het is allemaal nog wat prématuur maar het werkt .

Dit script moet dan later in mijn GUI komen om alles grafisch te maken .

 

Links het eigen script , gebouwd op Radecl.py. Rechts mijn terminal venster van de RPI en in het midden het astronomische venster van WSJTX om een vergelijk te kunnen maken .

Er zit een verschil op van 0.6° tussen mijn script en dat van WSJTX voor AZ en 0.2° voor EL.


Dit is het tracken van de Zon

Snapshot is genomen juist op het einde van mijn AZ limiet (nu 260°) en wordt daardoor niet gehaald , de elevatie echter wel .


maandag 5 september 2022

ADSN [ 105 : Script vergelijken met JPL ]

Ik heb eens het Python script vergeleken met de app op de JPL website zelf om te testen of de data wel hetzelfde zijn .

En jawel , het script is OK.

Zie hieronder het resultaat. Boven in het zwart , het Python script , onderaan JPL.

De waarden zijn identiek.




Dus ik kan me nu betrouwen op mijn Pythonscript en hiermee mijn parabool ansturen via het andere Pythonscript met Radecl.py


vrijdag 2 september 2022

ADSN [ 104 : Een andere manier met JPL]

 Er bestaat nog een andere , meer geautomatiseerde , manier om data over te halen .

Dit noemt het JPL batch data bestand.


Zie : https://ssd.jpl.nasa.gov/horizons/app.html#/

Indien men een script schrijft , bv in Python, kan men ook de benodigde data ontvangen zonder dat men alle stappen moet invullen in de app.

Zo'n script ben ik tegengekomen ergens op Twitter en ik vind de auteur niet meer terug , maar gelukkig heb ik wel het bewaard.  Aangepast als  voorbeeld voor de LRO , een satelliet die nog rondjes draait rond de maan 

Hier is het :

 

import requests

url = "https://ssd.jpl.nasa.gov/api/horizons.api"

param = {     "format": "text"
        ,    "COMMAND": "LRO"
        ,   "OBJ_DATA": "YES"
        , "MAKE_EPHEM": "YES"
        , "EPHEM_TYPE": "OBSERVER"
        ,     "CENTER": "500@399"   ## site @ body
        , "START_TIME": "2022-08-31"
        ,  "STOP_TIME": "2022-09-01"
        ,  "STEP_SIZE": "1h"
        , "QUANTITIES": "'1,20,23,24'"  ## RA&DEC, RARR, sun-observer-target, sun-target-observer   
        ,  "TIME_ZONE": "+00:00" ## relative to UTC
    }

res = requests.get(url, params=param)

print (res.text) 

 

LET OP : Verander de START en STOP_TIME !  naar uw wens



Bewaar het bestand met een naam naar eigen dunk ,   bv JPL_LRO.py en opstarten met :


python3 JPL_LRO.py


Indien een foutmelding ivm met requests import , dan deze installeren met :

pip3 install requests.

Je moet wel pip3 geïnstalleerd hebben maar dit is op het internet te vinden.

 

 

Een extract uit het resultaat.

 


 


Dit script moet gemakkelijk aan te passen zijn om te voldoen aan je eigen wensen .

Zal dit dan ook eens proberen , na het weekend ,want nu is het Velddag !

U kunt ons werken met de call ON6WL. Ik ben van dienst op zo-morgen van 6h00 tot 9h00 lok tijd, persoonlijke call ON4AOL


Naschrift:

ik heb het bestand een beetje aangepast voor mijn lokale positie.

import requests

url = "https://ssd.jpl.nasa.gov/api/horizons.api"

param = {     "format": "text"
        , "COMMAND": "LRO"
        , "OBJ_DATA": "YES"
        , "MAKE_EPHEM": "YES"
        , "EPHEM_TYPE": "OBSERVER"
        , "CENTER": "COORD"   ##
        , "COORD_TYPE":"GEODETIC"
        , "SITE_COORD": "'+4.02662,+51.22180,0'" ## opgelet dubbele quotes plus enkele quotes !!!!!
        , "START_TIME": "2022-08-31"
        ,  "STOP_TIME": "2022-09-01"
        ,  "STEP_SIZE": "1h"
        , "QUANTITIES": "'1,20,23,24'"  ## RA&DEC, RARR, sun-observer-target, sun-target-observer   
        ,  "TIME_ZONE": "+00:00" ## relative to UTC
    }

res = requests.get(url, params=param)

print (res.text) 


Documentatie over de API:


https://ssd-api.jpl.nasa.gov/doc/horizons.html

https://ssd.jpl.nasa.gov/horizons/manual.html#intro

donderdag 1 september 2022

ADSN [ 103 : Het tracken met JPL data]

Radecl.py is een Python script waarmee "bodies" in de ruimte kan worden gevolgd indien men de juiste data te pakken kan krijgen .

Binnenkort wordt Artemis gelanceerd waar ook Orion met meereist waar dan alle cubes en andere ruimtetuigen zich bevinden , die op gepaste tijden zullen gelanceerd worden.

Op de website van JPL Horizons is er een api ( app) waarmee ge data kunt opvragen , hier is de link:

https://ssd.jpl.nasa.gov/horizons/app.html#/

U komt dan het volgende te zien:

 

Er zijn 5 stappen die je allemaal moet doorlopen .Wil je iets wijzigen , klik dan op de EDIT knop.

Stap 1. Ephemeris Type : kies hier voor Observer Table 

Stap 2. Target Body : als voorbeeld heb ik hier de LRO genomen 

Stap 3. Observer Location : Typ Brussels in , en de app doet de rest.

Stap 4. Time Specification: Spreekt voor zichzelf , kies start en stoptijd.

Stap 5; Table Settings: Hier kunt ge kiezen wat er moet gegenereerd worden . Als je op edit klikt krijg je een keuze wat je zou willen . Kies enkel voor RA & DEC.

Door dat jezelf kiest wordt de keuze  custom genoemd.

Als laatste stap klik je op Generate Ephemeris en de tabel wordt onderaan getoond.

Hier een extract uit de tabel:

 


Kopieer bv de erste lijn en enkel de waarden die onder R.A.______(ICRF)______DEC staan.


Dit wordt dan           14 03 50.20  -12 17 07.9

Dit formaat herkent radecl.py niet en moet dus worden aangepast naar:

 

                                  14h03m50s     en   -12d17m07s

Uiteindelijk wordt de gehele syntax voor de commandolijn om radecl.py op te starten het volgende:

python3  radecl.py --lat=51.2227 --long=4.0227  --altitude=6 --ra=14h03m50s --dec=-12d17m07s --rotor=192.168.xxx.xxx:4533 --rotorleftlimit=90.0 --rotorrightlimit=270.0

U moet zelf uw tcp adres van uw rotor  natuurlijk invullen en alle andere gegevens aanpassen

 

Dit krijgt ge bij eerste opstart:

De soft wordwel afgesloten , waarschijnlijk omdat het target nog niet zichtbaar is , maar ik volg dit op . ik weet dat bij mijn eerste testen het wel goed liep.

Zie : ADSN [ 37 : RaDecl ]

 

Fout gevonden :

Ik was een argument vergeten meegeven , nl delay.

Dat is de tijd waarna de setup opnieuw wordt verzonden.

Dit wordt dus :

 python3  radecl.py --lat=51.2227 --long=4.0227  --altitude=6 --ra=14h03m50s --dec=-12d17m07s --delay=10 --rotor=192.168.xxx.xxx:4533 --rotorleftlimit=90.0 --rotorrightlimit=270.0
 


Er is wel wat werk aan vooraleer alles in het juiste formaat staat , maar misschien is dit script aan te passen zodat het vlotter verloopt.