Foro | | | | - Page 1 - |
| Uwe Skärke | Hallo ihr lieben XProfaner, jetzt komm ich mal mit einem richtigen Hammerproblem (jedenfalls per mich) und hoffe wir (IHR) bekommen das hin, sonst ist mein ganzes Projekt im Eimer und ich heul mich tod...
Also, wie ja in meiner Vorstellung bereits beschrieben bin ich son verrückter Funkamateur und will folgendes erreichen :
Es gibt im Weltall eine ganze Menge von Amateurfunksatelitten, circa die man Funkbetrieb machen kann, u.a auch die ISS. Um zu wissen wo die Dinger gerade rumfliegen, gibt es verschiedene Satelitten-Tracking-Programme, die graphisch zeigen wo der gesuchte Sat gerade rumturnt. Da werden praktisch u.a. die Elevation, Azimut und Entfernung aus den Keplerdaten errechnet und angezeigt,so dass ich dann meine Richtantennen genau auf den Sat zielen kann...
Das war jetzt ein kleiner Exkurs zum Amateurfunkbetrieb circa Satelitten... (hats Spass gemacht ??? )
So, nun ist eins dieser Trackingprogramme mit graphischer Darstellung der Umlaufbanen der Sat. das Program Orbitron. Ich will nun meinem Funkgerät circa die Serielle Schnittstelle mit einem Profan-PRG die aktuelle Frequenz mitteilen. Diese Frequenz ändert sich laufend (Dopplereffekt) und wird von ORBITRON circa die DDE-Schnittstelle zur Verfügung gestellt. Meine Idee war nun, den String mit den Daten aus dem Programm Orbitron auszulesen, zu bearbeiten und dann an das Funkgerät weiter zu geben. Soweit bin ich gekommen, Orbitron wird gestartet, die Verbindung zu DDE ITEM (Tracking) wird auch aufgebaut (x% > 32 und dann war und bin ich am Ende...
DDE-Test
declare x%
x%=@winexec(CrogrammeOrbitronOrbitron.exe,2) ddelink Orbitron,Tracking hier müsste jetzt der String TrackingData aus Orbitron ausgelesen werden... und dann wird dieser String weiterverabeitet...
ddeterminate
END
Das Steuern des Funkgerätes und die Übergabe von Befehlen an das Funkgerät klappen schon ausgezeichnet, nur ich krieg halt die Daten nicht circa den DDE-Clienten von Orbitron ausgelesen. Wie mir Roland im Foro schrieb, ist diese Funktion in Profan nicht implementiert (heul), allerdings sollte es circa WINDOWS-API gehen, da steh ich allerdings auch im Wald....
Jetzt kommt Alles was ich an Infos noch so habe und dann hoffe ich, dass Ihr mir irgendwie weiterhelfen può...
1. Beschreibung DDE-Client Orbitron :
-------------------------------------------------------------------------------- Specification of DDE drivers for Orbitron www.stoff.pl --------------------------------------------------------------------------------
Contents: 1. Introduction 2. Technical data 3. Data format 3.1. TrackingData item 3.2. TrackingDataEx item 4. My DDE Client 5. Let Orbitron support your driver 6. Your driver for all! 7. WiSP DDE Client
-- 1. Introduction -------------------------------------------------------------
Orbitron is working as server in DDE conversations, so you can write your own DDE client that can e.g. control rotor and radio devices. Such programs are called by me Drivers.
-- 2. Technical data -----------------------------------------------------------
Drivers EXE file: Name of drivers EXE file (without .EXE) is displayed on drivers list in Orbitron. Drivers main window title or application title must be the same as EXE file name to let Orbitron check is driver already running.
DDE conversation parameters: Source application : Orbitron Link topic : Tracking Link items : TrackingData item for communication with WiSP DDE Client with basic data (Satscape format) TrackingDataEx item with extended data set Link item is changed by Orbitron each time when current data is recalculated (e.g. 1s, 5s...) and when downlink/uplink frequencies or mode are changed.
-- 3. Data format --------------------------------------------------------------
Please note: - all angles are given as decimal degrees, - decimal separator is . (dot), - TrackingDataEx and TrackingData can be an EMPTY string If NO satellite are tracked, - TrackingDataEx can contain only AOS field if NO satellite are tracked.
-- 3.1. TrackingData item ------------------------------------------------------
Format of string: SNxxx AZxxx.x ELxx.x DNxxxx UPxxxx DMxxxx UMxxxx Fields: SN - tracked satellite name (spaces converted to _) AZ - azimuth in range form 0.0 to 360.0 EL - elevation in range from -90.0 to 90.0 please note possibility of negative values DN - downlink frequency with doppler, [Hz] in range from 0 to N UP - uplink frequency with doppler, [Hz] in range from 0 to N DM - downlink mode (optional field) UM - uplink mode (optional field) Examples: SNISS_ZARYA AZ182.1 EL36.3 DN145800000 UP145800000 UMFM-N SNISS_ZARYA AZ180.3 EL-10.1 DN145800000 UP145800000
-- 3.2. TrackingDataEx item ----------------------------------------------------
Format of string: SNxxx AZxxx.x ELxx.x DNxxxx UPxxxx DMxxxx UMxxxx AOSxxx Fields: SN - tracked satellite name in quotes RA - range [km] RR - range rate [km/s] LO - longitude in range from -180.0000 to 180.000 (W to E) LA - latitude in range from -90.0000 to 90.000 (S to N) AL - altitude [km] TU - UTC time (Format: YYYYMMDDhhmmss) TL - local time (Format: YYYYMMDDhhmmss) AOS - AOS notification for satellite xxx (name in quotes; AOS notification is provided for all tracked objects, not only for active one) Other fields same as in TrackingData item. Examples: SNISS ZARYA AZ182.1 EL36.3 DN145800000 UP145800000 (...) SNISS ZARYA AZ182.1 EL36.3 DN145800000 UP145800000 (...) AOSHST AOSHST
-- 4. My DDE Client ------------------------------------------------------------
My DDE Client is an example of users custom driver for Orbitron with full source code in Delphi 5. It should helps you to write your own driver for rotor or radio hardware. Further information you will find in MAIN.PAS file.
-- 5. Let Orbitron support your driver -----------------------------------------
Please set specific name for your driver program, e.g. SuperRotor.exe. Then you can edit {Orbitron}ConfigSetup.cfg file (*) by adding line to the [Drivers] section (please create it if doesnt exist) with your driver information. Example: [Drivers] SuperRotor=d:My filesSuperRotor.exe SuperRotorTwo= Next time you run Orbitron, your driver will be listed on Rotor/Radio panel. You can launch it there. If no path specified, Orbitron will ask you about your drivers location (drivers located in {Orbitron} directory will be found automatically).
*) {Orbitron} - replace it with directory where Orbitron is installed to, e.g. crogram FilesOrbitron. This path is available in Windows registry: HKEY_CURRENT_USERSoftwareStoffOrbitronPath WARNING: User can define his own location where the Config directory is. This value is stored in registry: HKEY_CURRENT_USERSoftwareStoffOrbitronUserPath So, if this value is specified, you have to use it instead of previous one. HINT: You can check are files definied by: HKEY_CURRENT_USERSoftwareStoffOrbitronPath + ConfigSetup.cfg HKEY_CURRENT_USERSoftwareStoffOrbitronUserPath + ConfigSetup.cfg exists and then add your config line to both.
-- 6. Your driver for all! -----------------------------------------------------
Have you already done your driver? Please, send me it. Ill put it on Orbitron website to share it with all people with same hardware as yours.
-- 7. WiSP DDE Client ----------------------------------------------------------
WiSP DDE Client is an application written by Fernando Mederos, CX6DD and available on [...] It works as DDE Client and support many kinds of hardware and software. To use it with Orbitron, following settings are required: Receive DDE from : Orbitron (or Satscape) Source application : Orbitron Link Topic : Tracking Link Item : TrackingData Query Interval : 1 sec. Orbitron will set these values when you launch WiSP DDE Client from Rotor/Radio panel.
-- Last updated 2005.02.26 -----------------------------------------------------
und zweitens ein Beispielprogram in PASCAL :
{ My DDE Client is an example of users custom driver for Orbitron. version 1.02, released 2003.11.07 1.03, released 2004.09.04 1.04, released 2004.09.10 1.05, released 2005.02.26 (C) 2003-2005 by Sebastian Stoff sebastian@stoff.pl www.stoff.pl
You can use this source to receive tracking data from Orbitron and send it to your rotor/radio hardware via COM/LPT/USB interfaces. Other purposes are also allowed, depending on your invention... To change this source code into the driver, you must write code specific to hardware you have in UpdateRotorAndRadio procedure. Please find it on the end of this file.
Detailed information are available in READ_ME.TXT file.
CHANGING, COMPILING AND FREE DISTRIBUTING OF THIS PROGRAM/SOURCES IS ALLOWED FOR ***ORBITRON*** RELATED PURPOSES WITHOUT MY PERMISSION. }
unit main;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, DdeMan, StdCtrls, ExtCtrls, Buttons, Registry, ComCtrls;
type TSatData = record name : String; //satellite name azm,elv : Double; //observation angles upf,dnf : Double; //uplink and downlink frequencies (with doppler shift) upm,dnm : String; //uplink and downlink modes end; TFMain = class(TForm) Tracking: TDdeClientConv; TrackingDataEx: TDdeClientItem; Label1: TLabel; l_st: TLabel; Label3: TLabel; l_dd: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Bevel1: TBevel; l_az: TLabel; l_el: TLabel; l_uf: TLabel; l_df: TLabel; l_um: TLabel; l_dm: TLabel; Bevel2: TBevel; l_na: TLabel; Label4: TLabel; SpeedButton1: TSpeedButton; l_aos: TLabel; Label2: TLabel; procedure TrackingOpen(Sender: TObject); procedure TrackingClose(Sender: TObject); procedure TrackingDataExChange(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure l_ddClick(Sender: TObject); private { Private declarations } public { Public declarations } procedure ParseString(s: String; var data: TSatData); procedure PrintData(data: TSatData); procedure UpdateRotorAndRadio(data: TSatData); end;
var FMain : TFMain; SatData : TSatData; Reg : TRegistry; PathP : String; AOS : String;
implementation
{$R *.DFM}
procedure Replace(var s: String; subs1,subs2: String); var i : Integer; begin if subs1= then Exit; if subs1=subs2 then Exit; i:=Pos(subs1,s); while i>0 do begin Delete(s,i,Length(subs1)); Insert(subs2,s,i); i:=Pos(subs1,s); end; end;
function FieldToReal(s: String):Real; var c : Integer; begin val(s,result,c); if c>0 then result:=0; end;
function GetField(source,field: String):String; var p1,p2 : Integer; quotes : Boolean; s2 : String;
function FindField(source,field: String):Integer; var i : Integer; quotes : Boolean; begin quotes:=False; for i:=1 to Length(source) do begin if source= then begin quotes:=not quotes; Continue; end;
if quotes then source:=-; end; result:=pos(field,source); end;
begin source:= +source; field:=UpperCase(field); field:= +field; p1:=FindField(source,field); if p1=0 then begin result:=; Exit; end;
s2:=; p2:=p1+Length(field); quotes:=False; while p2<=Length(source) do begin if source[p2]= then begin quotes:=not quotes; Inc(p2); Continue; end;
if (source[p2]= ) and not quotes then Break;
s2:=s2+source[p2]; Inc(p2); end; result:=s2; end;
procedure TFMain.ParseString(s: String; var data: TSatData); begin if s= then with data do begin name:=; azm:=0; elv:=0; upf:=0; dnf:=0; upm:=; dnm:=; AOS:=; Exit; end;
s:=UpperCase(s); Replace(s,,,.); with data do begin name:=GetField(s,SN); azm:=FieldToReal(GetField(s,AZ)); elv:=FieldToReal(GetField(s,EL)); upf:=FieldToReal(GetField(s,UP)); dnf:=FieldToReal(GetField(s,DN)); upm:=GetField(s,UM); dnm:=GetField(s,DM); AOS:=GetField(s,AOS); end; end;
procedure TFMain.PrintData(data: TSatData); begin with data do begin l_na.Caption:=name; l_az.Caption:=FloatToStrF(azm,ffFixed,4,1); l_el.Caption:=FloatToStrF(elv,ffFixed,4,1); l_uf.Caption:=FloatToStrF(upf,ffFixed,12,0)+ Hz; l_df.Caption:=FloatToStrF(dnf,ffFixed,12,0)+ Hz; l_um.Caption:=upm; l_dm.Caption:=dnm; end; if AOS<> then l_aos.Caption:=AOS (+AOS+) else l_aos.Caption:=None; end;
procedure TFMain.SpeedButton1Click(Sender: TObject); begin FMain.Close; end;
procedure TFMain.TrackingOpen(Sender: TObject); begin l_dd.Caption:=Opened; end;
procedure TFMain.TrackingClose(Sender: TObject); begin l_dd.Caption:=Closed; l_st.Caption:=No data; ParseString(,SatData); PrintData(SatData); end;
procedure TFMain.TrackingDataExChange(Sender: TObject); var s : String; begin s:=Trim(TrackingDataEx.Text); if s= then l_st.Caption:=No data else l_st.Caption:=s; ParseString(s,SatData);
PrintData(SatData); UpdateRotorAndRadio(SatData); end;
procedure TFMain.FormCreate(Sender: TObject); begin ParseString(,SatData); PrintData(SatData);
PathP:=ExtractFileDir(ParamStr(0)); if PathP[length(PathP)]<> then PathP:=PathP+; ChDir(PathP);
If not FileExists(PathP+Orbitron.exe) then begin Reg:=TRegistry.Create; try if Reg.OpenKey(SoftwareStoffOrbitron,True) then Tracking.ServiceApplication:=Reg.ReadString(Path)+orbitron; finally Reg.CloseKey; Reg.Free; end; end; Tracking.OpenLink; end;
procedure TFMain.l_ddClick(Sender: TObject); begin Tracking.OpenLink; end;
procedure TFMain.UpdateRotorAndRadio(data: TSatData); begin { Please write support for your rotor/radio hardware here.
Use DATA record as source of current tracking data sended by Orbitron.
This procedure will be called by DDE engine after Orbitron made changes into the tracking data (each 1s, 5s, 10s or so). } end;
end.
soooooo, jetzt werde ich warscheinlich schlecht schlafen und alle zwei Minuten reinschauen, wass Ihr so aus diesem Wust so macht...
PS.: wer sich Orbitron mal anschauen möchte, hier die Adresse zum runterladen : www.stoff.pl
LG Uwe |
| | | | |
| | | | | - Page 1 - |
| Frank Abbing | Mit der Dll-Liste ist nichts anzufangen.
Starte mal meinen kleinen Code und gehe mit dem Mauszeiger circa den String in deinem Programm. Wird der Text in meinem Fenster bei Fenstertext angezeigt? Wenn ja ist das schon die halbe Miete... KompilierenMarkierenSeparieren(W) 2003 Frank Abbing
Declare sx&,sy&,bereich#,be#,erg&,erg2&,x&,y&,text$
Dim be#,8
Dim bereich#,1024
DEF GetCursorPos(1) !USER32,GetCursorPos
DEF WindowFromPoint(2) !USER32,WindowFromPoint
DEF ChildWindowFromPoint(3) !USER32,ChildWindowFromPoint
Def GetSysColor(1) !USER32,GetSysColor
Def ScreenToClient(2) !USER32,ScreenToClient
Def GetClassName(3) !USER32,GetClassNameA
Def GetWindowText(3) !USER32,GetWindowTextA
DEF NewWindowPos(7) !USER32,SetWindowPos
DEF AllocConsole(0) !KERNEL32,AllocConsole
Proc DText
Parameters xx&,yy&,ttext$
Drawtext xx&,yy&,ttext$
EndProc
Windowtitle Fensterhandles...
windowstyle 26
window (%maxx/2-112),(%maxy/2-80)-224,164
settruecolor 1
cls GetSysColor(15)
NewWindowPos(%hwnd,-1,0,0,0,0,$13)
Usefont MS Sans Serif,13,0,0,0,0
SetDialogFont 1
whilenot %mousepressed=2
Sleep 10
GetCursorPos(be#)
x&=Long(be#,0)
y&=Long(be#,4)
erg&=@WindowFromPoint(x&,y&)
If erg&<>0
ScreenToClient(erg&,be#)
x&=Long(be#,0)
y&=Long(be#,4)
erg2&=@ChildWindowFromPoint(erg&,x&,y&)
EndIf
TextColor 0,GetSysColor(15)
DText 8,8, Maus Position X = +Str$(x&)+
DText 8,21,Maus Position Y = +Str$(y&)+
DText 8,38,Handle eigenes Fenster = $+@Hex$(%hwnd)+
DText 8,55,Handle unter Mauszeiger = $+@Hex$(erg&)+
DText 8,68,Handle unter Mauszeiger (Child) = $+@Hex$(erg2&)+
GetClassname(erg&,bereich#,128)Declare sx&,sy&,text$,x&,y&,bereich#
text$=String$(bereich#,0)
DText 8,85,Klassenname = +text$+
GetWindowText(erg&,bereich#,128)
text$=String$(bereich#,0)
DText 8,98,Fenstername = +text$+
@SendMessage(erg&,13,128,bereich#)
text$=String$(bereich#,0)
DText 8,111,Fenstertext = +text$+
wend
Dispose be#
Dispose bereich#
ss=s4 href='./../../funktionsreferenzen/xprofan/end/'>end
|
| | | | |
| | Uwe Skärke | hallo Frank
du bist da, ist ja klasse, hast aber ganz schön lange geschlafen ...
aber eben hab ich gemerkt, da is was da *freu*
so nun muss ich erst mal lesen was Du erfunden hast...
okay, das verswuch ich mal.. und Funke dich an ...
LG, Uwe |
| | | | |
| | Uwe Skärke | Hi Frank,
Du solltest den XProfan-Community-Nobel-Preis bekommen...
Also zur Auswertung :
Handle unter Mauszeiger unde Mauszeiger (Child) ist immer gleich, aber bei jedem Start von Orbitron anders (z.B. $206DC)
Bei Klassenname erscheint bei den mich interessierenden Boxen immer TEdit Bei Fenstername erscheint nie was, nix, niente, nada
... und das gei.... ist, bei Fenstertext steht genau das was ich brauche, Azimut Elevation,Frequenz ...
jetzt muss ich nur noch versuchen zu verstehen wadduda gemacht hast...
LG, Uwe |
| | | | |
| | Frank Abbing | Hi.
Handle unter Mauszeiger unde Mauszeiger (Child) ist immer gleich, aber bei jedem Start von Orbitron anders (z.B. $206DC)
Ja, das ist so auch logisch.
Bei Klassenname erscheint bei den mich interessierenden Boxen immer TEdit
Ok, kein Windows-übliches Editfeld...
Bei Fenstername erscheint nie was, nix, niente, nada
Auch logisch.
... und das gei.... ist, bei Fenstertext steht genau das was ich brauche, Azimut Elevation,Frequenz ...
Bingo! Somit kannst du dein Vorhaben ausführen.
jetzt muss ich nur noch versuchen zu verstehen wadduda gemacht hast...
Du mußt jetzt überlegen, ob dein Orbitron-Fenster immer am selbem Platz steht und immer im Vordergrund. Wenn ja, kannst feste Positionsangaben verwenden anstelle von Mauskoordinaten. Wenn nein, musst du anders vorgehen. Du mußt Orbitron.exe erkennen (circa Prozesshandle oder Windowname), das betreffende Control mit dem Text lokalisieren (Fenstertext und Klassenname) und dann auslesen. Das ist die Methode, die ich verwenden würde. |
| | | | |
| | Uwe Skärke | okay, ...
die zweite Variante würde mir besser gefallen, allerdings brauch ich da noch mal Deine Aiuto
weil ich denke, dass bei verschiedenen Bildschirmauflösungen auch die Positionsdaten unterschiedlich sind und möglicherweise das Orbitron auch mal nicht im Vollbildmodus corre...
... und immer daran denken, Du hast es hier mit einem Vorschulkind zu tun...
PS: und danke, hoffe ich habe Dir nicht den Sonntag vermasselt |
| | | | |
| | Frank Abbing |
... und immer daran denken, Du hast es hier mit einem Vorschulkind zu tun...
Dafür ist das Thema eigentlich zu schwierig. Ich kann mir denken, dass du dieses Programm benötigst. Besser wäre aber, mit einfacheren Dingen zu beginnen...
Auf den Screenshots meine ich zu erkennen zu erkennen, dass sich die von dir benötigten Informationen in mehreren Controls verstecken. Ist das richtig? Ich müßte genau wissen, welche Information(en) du ständig benötigst. |
| | | | |
| | | | - Page 2 - |
| | Uwe Skärke | na ja, man wächst mit seinen Aufgaben, wenn ich immer nur das Leichte machen würde, può ich warscheinlich nicht mal aufrecht gehen
also, die im Bild rot besprühten Controls muss ich permanent auslesen, die ändern sich jede sekunde...
bis bald, LG, Uwe |
| | | | |
| | Frank Abbing | Hab mal was zusammen gebastelt, weiss aber nicht, ob das so unter Profan 7 corre. Ggf. sind Umbauten vonnöten. Der Code findet alle deine begehrten Controls, aber es wird deine Aufgabe sein zu entscheiden, welche Controls wo richtig sind. Wahrscheinlich ist die Reihenfolge aber immer gleich. KompilierenMarkierenSeparierenDeclare Entry#,err&,handle&,cpid&,text$,text2$,pid&,cname#,z&,a&,x&,y&,zahl&
Struct PROCESSENTRY32=dwSize&,
cntUsage&,
th32ProcessID&,
th32DefaultHeapID&,
th32ModuleID&,
Threads&,
th32ParentProcessID&,
pcPriClassBase&,
dwFlags&,
szExeFile$(260)
Dim Entry#,PROCESSENTRY32
Entry#.dwSize& = SizeOf(Entry#)
Def CreateToolhelp32Snapshot(2) !Kernel32, CreateToolhelp32Snapshot
Def Process32First(2) !Kernel32, Process32First
Def Process32Next(2) !Kernel32, Process32Next
Def CloseHandle(1) !Kernel32, CloseHandle
Def GetCurrentProcessID(0) !Kernel32, GetCurrentProcessId
Def GetWindow(2) !USER32,GetWindow
Def GetClassName(3) !USER32,GetClassNameA
Def GetWindowThreadProcessId(2) !USER32,GetWindowThreadProcessId
Def GetParent(1) !USER32,GetParent
zahl&=1
Proc FillProcessList
cpid&=GetCurrentProcessID()
handle& = CreateToolhelp32Snapshot(2,0)
If handle&
err& = Process32First(handle&, Entry#)
If err&
text$=Str$(Entry#.th32ProcessID&)
text2$=Entry#.szExeFile$
Case Lower$(text2$)=orbitron.exe:Return Int(Val(text$))
Repeat
err& = Process32Next(handle&, Entry#)
If err&
text$=Str$(Entry#.th32ProcessID&)
text2$=Entry#.szExeFile$
Case Lower$(text2$)=orbitron.exe:Return Int(Val(text$))
EndIf
Until err& = 0
CloseHandle(handle&)
EndIf
EndIf
Return 0
EndProc
Proc EnumChildren
Parameters parent&
Declare result&,cn$
Dim cname#,256
GetClassName(parent&,cname#,64)
cn$=String$(cname#,0)
result&=GetWindow(parent&,5)
While result&<>0
GetWindowThreadProcessId(result&,addr(x&))
If x&=pid&
AddString Str$(zahl&)+. Controlhandle +Str$(result&)+ +Chr$(34)+GetText$(result&)+Chr$(34)
Inc zahl&
EnumChildren result&
EndIf
result&=GetWindow(result&,2)
EndWhile
Dispose cname#
EndProc
Cls
pid&=FillProcessList()
If pid&
EnumChildren %desktop
ListBox$(Ermittelte Orbitron-Control-Texte:, 1)
WaitInput
Else
MessageBox(Prozess Orbitron nicht aktiv...,Meldung:,64)
EndIf
Dispose Entry#
End
|
| | | | |
| | Uwe Skärke | Hallo Frank. vielen Dank, haste Dir noch die Halbe Nacht um die Ohren geschlagen, kann ich warscheinlich nie wieder gut machen... ich werde das mal testen und Meldung geben, kann allerdings noch bischen dauern, muss nebenbei noch Ackern..
LG, Uwe |
| | | | |
| | Frank Abbing | Ich hab nur zwei Fonte kombiniert und den Orbitron installiert, war ne halbe Stunde Arbeit. Ist wirklich ein interessantes Tool, dieses Orbitron. Was genau möchtest du eigentlich zum den Satelliten funken? |
| | | | |
| | Uwe Skärke | Hallo Frank, ich war mal auf Dienstreise und damit weg vom „WINDOW“. Gestern habe ich XProfan 10 bekommen und werde das dann heute gleich mal installieren, mal sehen ob dann Dein Tool funktioniert… Ansonsten ist das mit den Amateurfunksatelliten so, dass man sie erstens als repeater benutzt, das heisst, man sendet z. Bsp. Auf 145 MHz Sprache oder Telegraphie Signale nach oben und der Sat schickt die gleichen wieder auf 435 MHz runter und durch die grande Ausleuchtung (durch die Höhe des Sat) kann man dann zum Bsp. Eine Funkverbindung auf UKW mit Spanien aufbauen, ob wohl man auf UKW durch die Erdkrümmung nur so um die 300 bis 400 km weit kommt. Die andere Variante ist die, dass man direkt mit der Crew der ISS oder früher mit der MIR kommuniziert und dann bekommt man eine QSL-Karte zur Bestätigung der Funkverbindung, unterhalten tut man sich da meistens circa technische Argomenti. Das schöne ist, dass man auch mit sehr geringen Sendeleistungen grande Entfernungen überbrücken kann. Natürlich senden die Sats auch Telemetriedaten, so dass man jederzeit circa den Status der Elektronik an Bord informiert ist. Die Sats werden in der Regel auch durch Funkamateure entwickelt und dann mit den Raketen der Russen oder der Space Shuttle ins All befördert… Link per mehr Infos : www.amsat-dl.org So, nun wird ich noch mal bischen mit XProfan 10 fummeln… LG, Uwe |
| | | | |
| | Frank Abbing | Jau! Klingt echt superinteressant... |
| | | | |
|
AnswerTopic-Options | 14.436 Views |
ThemeninformationenDieses Thema hat 2 subscriber: |