ROTCTLD(1) Hamlib Utilities ROTCTLD(1) (NAME) rotctld - TCP (SYNOPSIS) rotctld [-hlLuV] [-m id] [-r device] [-s baud] [-T IPADDR] [-t number] [-C parm=val] [-v[-Z]] (DESCRIPTION) rotctld TCP . ( ). rotctld TCP . rotctl(1) . rotctld Perl Python PHP . rotctld TCP rotctl . : rotctld rotctld "get" ( ) "RPRT x" `x' . "RPRT x" `x' `0' . `\n' . NET rotctl ( ) . Extended Response Protocol : (key: value) "RPRT x" ( Hamlib) . PROTOCOL . TCP rotctld . Hamlib (BETA) . . BUGS . . (GNU) . . (`-') `=' . : -m, --model=id . ( "rotctld -l" ). : rotctl ( C API ) NET rotctl ( rotctld ). -r, --rot-file=device device . USB . /dev/ttyS0, /dev/ttyS1, /dev/ttyUSB0 COM1, COM2 MS Windows. BSD Mac OS/X . . -s, --serial-speed=baud baud. backend . -T, --listen-addr=IPADDR IPADDR IP . ANY . rotctld : rotctld (binds to all interfaces) rotctl -m 2 rotctl -m 2 -r 127.0.0.1 rotctl -m 2 -r localhost rotctl -m 2 -r 192.168.1.1 (local IP address) rotctl -m 2 -r ::1 (on Linux rotctld doesn't listen on IPV6 by default) rotctld -T 127.0.0.1 (bind only to 127.0.0.1) rotctl -m 2 (binds to all interfaces) rotctl -m 2 -r 127.0.0.1 (bind only to 127.0.0.1) -t, --port=number number TCP. 4533 . : rotctld 4533 rotctld 4533 4535 4537 . -L, --show-conf -m . -C, --set-conf=parm=val[,parm=val] () stop_bits=2. -L . -u, --dump-state (dump) -m . -u, --dump-caps -m . -l, --list Hamlib . . : Shift-PageUp/Shift-PageDown X cmd Windows . more(1) less(1) (pipe) "rotctl -l | more". -v, --verbose (verbose) ( (DIAGNOSTICS) ). -Z, --debug-time-stamps . -v . -h, --help . -V, --version rotctld . : backend . --set-conf --show-conf . backend . Hamlib . TCP () `\n' . PROTOCOL . Hamlib set get set get . `\' . (Perl): "print $socket "\\dump_caps\n";" (: Perl `\' `\' rotctld . !). : . Hamlib . ( set . get ): P, set_pos 'Azimuth' 'Elevation' . 'Azimuth' 'Elevation' . ( ): P 163.0 41.0 : (elevation) ( ) "0.0" 'Elevation' . p, get_pos . 'Azimuth' 'Elevation' (double precision) . M, move 'Direction' 'Speed' . 'Direction' `2' = UP `4' = DOWN `8' = LEFT CCW `16' = RIGHT CW `32' = UP_LEFT UP_CCW `R64' = UP_RIGHT = UP_CW `128' = DOWN_LEFT DOWN_CCW `256' = DOWN_RIGHT DOWN_CW . 'Speed' 1 100 . -1 . : move Speed . S, stop . K, park . C, set_conf 'Token' 'Value' . 'Token' -C -L . 'Value' . R, reset 'Reset' . 'Reset' `1' "Reset All" . _, get_info . 'Info' "Model Name" . dump_state . 1, dump_caps rot (dump) . w, send_cmd 'Cmd' . ASCII CR . "\0xAA\0xBB" . (DMS) Maidenhead (azimuth) . L, lonlat2loc 'Longitude' 'Latitude' 'Loc Len' Maidenhead 'Locator' 'Longitude' 'Latitude' . 'Longitude' 'Latitude' . 'Loc Len' . : L -170.0 -85.0 12 : Locator: AA55AA00AA00 l, loc2lonlat 'Locator' 'Longitude' 'Latitude' Maidenhead . 'Locator' . . . : l AA55AA00AA00 : Longitude: -169.999983 Latitude: -84.999991 : (double precision) . D, dms2dec 'Degrees' 'Minutes' 'Seconds' 'S/W' 'Dec Degrees' . 'Degrees' 'Minutes' . 'Seconds' . 'S/W' `1' `0' ( DMS 'Degrees' ). d, dec2dms 'Dec Degrees' 'Degrees' 'Minutes' 'Seconds' 'S/W' . dms2dec . E, dmmm2dec 'Degrees' 'Dec Minutes' 'S/W' 'Dec Degrees' . 'Degrees' . 'Dec Minutes' . 'S/W' dms2dec . e, dec2dmmm 'Dec Deg' 'Degrees' 'Minutes' 'S/W' . dmmm2dec . B, qrb 'Lon 1' 'Lat 1' 'Lon 2' 'Lat 2' 'Distance' 'Azimuth' . 'Distance' . 'Azimuth' . Lon/Lat . A, a_sp2a_lp 'Short Path Deg' 'Long Path Deg' . 0.00 360.00 . : . a, d_sp2d_lp 'Short Path km' 'Long Path km' . . pause 'Seconds' (rotator) 'Seconds' . rotctld : (Default Protocol) (Extended Response Protocol). Hamlib rotctld ("NET rotctl" `2'). rotctld . (Default Protocol) . . (`\n') . ( Perl): print $socket "P 135 10\n"; : print $socket "\\set_pos 135 10\n"; # escape leading `\' set : "RPRT x\n" x Hamlib `0' . get rotctld set . . "RPRT x\n" x Hamlib . ( Perl): print $socket "p\n"; "135" "10" get . dump_caps key:value . "NET rotctl" ( rotctl) C API Hamlib rotctld . ("NET rotctl") rot_pathname "localhost:4533" host:port ( -T/-t ) . rotctld . . rotctld () ( ) (echo) . . "RPRT x\n" x Hamlib . . "Azimuth: 90.000000\n" `+' . . rotctld (acknowledge) . . P ( `+' ): $ echo "+P 90 45" | nc -w 1 localhost 4533 set_pos: 90 45 RPRT 0 . get_pos: $ echo "+\get_pos" | nc -w 1 localhost 4533 get_pos: Azimuth: 90.000000 Elevation: 45.000000 RPRT 0 : `\' ERP . rotctld . . . `+' (`\n') . C ispunct() `\' `?' `_' . : `+' (`\n') . `;' `|' `,' . . `?' rotctl . `_' get_info . `#' () . : ! . get_pos `;' : get_pos:;Azimuth: 90.000000;Elevation: 45.000000;RPRT 0 (pipe) `|' : get_pos:|Azimuth: 90.000000|Elevation: 45.000000|RPRT 0 set_pos `|' : set_pos: 135 22.5|RPRT 0 . ! set_conf testrotctld.pl . -v --verbose stderr -v BUG -vv ERR -vvv WARN -vvvv VERBOSE -vvvvv TRACE. (verbose) . TRACE . (EXAMPLES) rotctld Hy-Gain Ham IV Idiom Press RotorEZ USB-to-serial : $ rotctld -m 401 -r /dev/ttyUSB1 & rotctld RotorEZ COM2 Win32: > rotctld -m 401 -r COM2 rotctld (azimuth) (elevation) : $ echo "\set_pos 135.0 30.0" | nc -w 1 localhost 4533 rotctld rotctl : $ rotctl -m 2 (SECURITY) TCP . Secure Shell (ssh(1)) . rotctld rotctl rotctld "root" . . kill(1) . . : Hamlib (COPYING) Hamlib . (C) 2000-2009 Stephane Fillod (C) 2000-2018 Hamlib ( ) (C) 2011-2020 Nate Bargmann COPYING . . (SEE ALSO) kill(1), rotctl(1), ssh(1), hamlib(7) COLOPHON Hamlib Git (daily snapshot) hamlib.org . Hamlib 2020-09-09 ROTCTLD(1)