Skip to content

Rotators

dernasherbrezon edited this page Jan 19, 2022 · 4 revisions

r2cloud supports different rotators via hamlib and rotctrldClient.

Hardware

Any rotator supported by hamlib can be controlled from r2cloud.

Software

r2cloud controls rotator through special daemon rotctrld. This daemon is a part of hamlib. It can be started manually or via systemd service. Just create file /lib/systemd/system/rotctrld.service with the following contents:


[Unit]
Description=rotctrld Service

[Service]
WorkingDirectory=/home/pi/r2cloud/
ExecStart=rotctld --model=1401 --port=4533 --listen-addr=127.0.0.1 --rot-file=/dev/ttyUSB0
Restart=always
User=pi
Group=pi

[Install]
WantedBy=multi-user.target

Put the model which corresponds to your rotator. To get the list of all supported models run:

rotctld --list

Make sure rotator is physically connected and start the service:

sudo systemctl start rotctrld

Once the daemon is running, configure r2cloud

UI configuration

It is possible to configure default rotator for rtl-sdr 0 via GUI. Go to Configuration -> General

Screen Shot 2020-06-09 at 4 53 50 PM

Set correct host and port of rotctrld, check "Enabled" and click "Save".

If everything is configured correctly, then the rotator will be activated on the next satellite pass. With default settings r2cloud will check every 1000ms if satellite within tolerance both axis. If satellite leave the region, then the rotator will be adjusted to current satellite position.

Manual configuration

Each r2cloud device can have its own rotator and corresponding configuration. It is possible to have different rotator type for each device. Add the following configuration to ~/.r2cloud:

<device prefix>.<device id>.rotctrld.hostname=
<device prefix>.<device id>.rotctrld.port=
<device prefix>.<device id>.rotctrld.timeout=
<device prefix>.<device id>.rotator.tolerance=
<device prefix>.<device id>.rotator.cycleMillis=

rotctrld.hostname and rotctrld.port - is the hostname and port for rotctrld daemon. rotctrld.timeout - timeout for connecting to rotctrld daemon. rotator.tolerance - tolerance (degrees). If satellite leave the region, then the rotator will be adjusted to current satellite position. rotator.cycleMillis - milliseconds between calculation satellite position.

Clone this wiki locally