** PROJECT DEPRECATED ** This project is deprecated and has been replaced by remoteRotator.
Arsctl is a server side application which makes all your antenna rotators available on a network. Arsctl allows you to conveniently control your rotators from any computer / tablet or smartphone through a slick web interface. Arsctl can also hook transparently into a Win-Test network and provide the rotators directly to the Win-Test application. Arsctl is based on NodeJs and written entirely in Javascript.
The library has been used in several major contests at ED1R and has proven to be stable.
You can find a detailed description of arsctl on DH1TW's blog. The source code is also well documented.
Arsctl supports EA4TX' fabulous Antenna Rotator System (ARS) and Yaesu rotators with a USB / serial interface.
Arsctl is published under the GPL open source license. Feel free to fork and collaborate!
Arsctl has been developed and tested under OSX and Linux (Ubuntu). However it should also work with some minor tweaks on other Linux distributions and Windows. It works very well on small ARM devices, like the Raspberry Pi & Banana Pi.
-
Install a copy of the latest NodeJs version on your system. Note that the version in the Ubuntu repository is quite old. Better install it from the the Nodejs PPA.
-
Clone the arsctl repository with git on your local machine
git clone https://github.com/dh1tw/arsctl.git
-
Browse into arsctl's directory and install all the needed dependencies with Node's package manager (NPM). All dependencies are registered in package.json
npm install
-
Configure your rotator and webserver setup (config.js).
-
Run arsctl of the source code directory with
node ./bin/www
-
Open your browser and navigate to url put in the config file. For example http://localhost:4000
-
It is recommended to separate the config file from the source code (e.g. /etc/arsctl/myConfig.js) so that the config file doesn't get overwritten on the next software update. Some configuration file examples are included in the
/examples/arsctl_config_files
folder. -
Point to the location where your config file is located (in app.js).
-
It is recommended to daemonize arsctl and run arsctl as a service. For Ubuntu's Upstart a example file has been included in the
/examples/upstart_service
directory. This file should be copied to/etc/init/arsctl.conf
. -
If you want to use the standard HTTP port (or any other port below 1024) make sure that you execute arsctl under root priviliges.
-
For logging you might create and direct the application output to you a file, e.g. (
/var/log/arsctl.log
) -
If you have more than one rotator connected through USB, Linux might assign them to different port names everytime you plug them in. In order to map a USB device to a specific port (e.g.
/dev/Rotator1
) you have to create a custom udev rule with the Rotator's DeviceId, ProductId and SerialNr. The file with the custom rule has to be placed under Ubuntu in/etc/udev/rules.d/
. An example for a custom udev rules file is located in/examples/udev_rules
.
Due to some bugs in the SerialPort Library, serial devices can't be properly removed. Therefor the application terminates when a Rotator gets disconnected. If you daemonize arsctl, it will automatically restart.