3.- Instalación y ajuste del remoteRotator

Finalmente en esta tercera fase vamos a explicar cómo instalar el programa remoteRotator, su configuración y cómo hacer de una forma simple que arranque o pare. Por supuesto, quizás lo más importante es que una vez reiniciada la máquina, el remoteRotator se arranque automáticamente.

Programa remoteRotator

Podemos descargar el programa desde el repositorio de Tobi DH1TW:

https://github.com/dh1tw/remoteRotator/releases

Pero recientemente (Octubre/2023) hice una pequeña modificación a la versión oficial de Tobi 0.6.2, incorporando la conectividad con el motor via TCP/IP. Las versiones anteriores solo funcionaban accediendo al puerto serie (ttyACMx). 

Con esta versión que recomiendo, se puede usar el servicio ser2net, de forma que el programa remoteRotator accede via TCP/IP empleando para ello el puerto que se haya definido en el sericio ser2net

La descarga de esta versión se puede hacer desde mi repositorio de github:

https://github.com/ea4tx/remoteRotator/releases/tag/0.6.3

Tenemos muchas formas de poner el binario del remoteRotator en la RsPi, unos seguramente optarán por descargarlo al PC y ya desde éste, subirlo por medio de un FTP a la RsPi. Mediante estos dos pasos, tendrías ya el fichero subido. Pero si quieres hacerlo directamente desde la RsPi hay un comando que nos lo permite y es usando el comando wget y a continuación el enlace al fichero del repositorio, por ejemplo para esa versión 0.4.1 el comando completo sería:

wget https://ea4tx.com/wp-content/uploads/files/rspi/remoteRotator

A continuación le damos permisos de ejecución: 

chmod 774 remoteRotator

Con esto ya tenemos el binario en la RsPi y con atributos de ejecuión; ahora vamos a copiar ahora el programa a la carpeta /usr/local/sbin que es donde habitualmente se dejaría, para ello usamos el comando:

sudo cp remoteRotator /usr/local/sbin/

Con esto ya tenemos el programa listo para poder ser ejecutado.

Fichero de Configuración

El programa remoteRotator se puede ejecutar mediante linea de comando con todas las opciones pero seguramente sea más práctico tener un fichero de configuración y ejecutar el programa indicándole la ubicación del fichero de configuración. Puedes ver todas las opciones disponibles mediante el comando de ayuda -h por ejemplo:

/usr/local/sbin/remoteRotator -h

o bien para obtener la ayuda de las opciones para el modo server lan  (son 2 de las opciones que vamos a usar) sería:

/usr/local/sbin/remoteRotator server lan -h

Como dije anteriormente me parece más práctico tener un fichero de configuración con todas sus opciones que ejecutar el programa con todas las opciones en linea de comando, luego he dejado en este enlace (https://ea4tx.com/wp-content/uploads/files/ars1.zip) un ejemplo comprimido del que yo uso. Se puede bajar mediante el comando

wget https://ea4tx.com/wp-content/uploads/files/rspi/ars1.zip

A continuación descomprimimos el fichero:

unzip ars1.zip

Y con el fichero ars1.toml que hemos obtenido, lo copiamos a la carpeta /etc, que es donde suelen estar todos los fichero de configuración:

sudo cp ars1.toml /etc/

Si editamos el fichero (podemos usar el editor nano o bien mediante el Midnight Commander – comando mc) vamos a personalizar algunos de los parámetros de la configuración.

En nuestro caso empleamos el puerto «127.0.0.1:6001» ya que vamos a hacer que la comunicación con el ARS-USB se realice por medio del servicio ser2net que proporciona un acceso TCP/IP. Luego en este caso indicamos al remoteRotator que acceda a la IP 127.0.0.1 usando el puerto 6001. Este ha de ser el puerto que se indique en el servicio ser2net.

Si quieres saber más sobre el servicio ser2net, tienes una sección especial en las FAQ’s sobre la puesta en marcha de ese servicio.

Visita este enlace:

Si no quieres usar el servicio ser2net, entonces puedes indicar en el servicio remoteRotator que el portname es el puerto serie asignado y que por defecto será: ttyACM0, luego en la configuración indicarás:

portname = «/dev/ttyACM0»

Nota: Como todos los dispositivos están disponibles en la carpeta /dev y los ARS son vistos como puertos del tipo ttyACMx (donde x puede ser 0 para el primero, 1 para el segundo ARS, etc) mediante el comando «ls» puedes ver todos los puertos serie disponibles:

ls /dev/ttyACM*

obteniendo así la relación de todos los puertos serie que están presentes.

El programa remoteRotator accede al ARS-USB:

  • via puerto serie (método tradicional hasta la version 0.6.2)  
  • vía TCP/IP (y que puede ser local o de otro equipo)

En el primer caso, la configuración sería:

  • portname = «/dev/ttyACM0» (o el puerto serie que se quiera)

y en el segundo caso, sería indicando en el portname la IP:Puerto para acceder. Esa IP puede ser local (en la misma RsPi) o remota. Ejemplos:

  • portname = «127.0.0.1:6001»  (para un acceso local)
  • portname = «192.168.1.99:6002»  (para un acceso a la IP 192.168.10.99 y puerto 6002)

También puedes usar el servicio UDEV que se explica en las FAQ’s, ya que así puedes identificar un dispositivo sin posible error.

Antes de continuar para hacer que el programa arranque automaticamente como un servicio, lo mejor es comprobar manualmente el arranque y ver que funciona. Para ello si ya has editado el fichero de configuración con tus personalizaciones, ejecuta el programa manualmente, mediante el comando:

/usr/local/sbin/remoteRotator server lan --config /etc/ars1.toml

Si el programa arranca bien, podrás ya abrir un navegador e indicar la dirección y puerto web del programa, por ejemplo: 192.168.1.11:7071

Nota: Recuerda que si al ejecutar el programa te da un error de permisos, puede ser porque el usuario no tenga permiso de acceso al puerto serie. En el paso 2 se explicó cómo puedes agregar un usuario al grupo dialout. O bien ejecuta el programa como root anteponiendo la palabra sudo al comando. Ejemplo:

sudo /usr/local/sbin/remoteRotator server lan --config /etc/ars1.toml

Si el programa funciona ahora, revisa los permisos para el usuario con el que te has logeado (seguramente usaste el usuario pi)

Sistema de arranque

Para que al encender la Raspberry Pi  se ejecute automáticamente el programa, vamos a utilizar SystemD. Para ello dejaremos en la carpeta /etc/systemd/system un fichero como por ejemplo ars1.system En este fichero se indica el path donde se encuentra el programa, sus opciones de arranque, cuenta de usuario con el que se ejecuta, etc

Puedes bajar este fichero desde mi sitio mediante el comando:

sudo wget https://ea4tx.com/wp-content/uploads/files/ars1.service

Este fichero lo vamos a copiar en la carpeta /etc/systemd/system luego el comando será:

sudo cp ars1.service /etc/systemd/system/

En principio este fichero que has bajado y copiado a la carpeta /etc/systemd/system lo puedes dejar tal cual sin tener que cambiar nada en él; quizás únicamente revisa el usuario que usas como administrador (pi o rock) 

Ahora ya solo nos queda añadir este servicio ars1 en el gestor systemd, luego ejecutamos el comando:

sudo systemctl enable ars1.service

Con esto ya al reiniciarse la RsPi, este servicio será ejecutado automáticamente. También se puede arrancar o parar manualmente, para ello el comando de arranque sería:

sudo service ars1 start

o bien para parar:

sudo service ars1 stop

Con todo esto, ya debiéramos de tener el programa remoteRotator en ejecución, luego ya podríamos arrancar un navegador en nuestro PC y conectarnos a la URL de la Raspberry Pi con el puerto 7071 (es el puerto por defecto definido en el fichero ars1.toml para la web)

O bien abrir el ARSVCOM, configurar que el rotor es «Remote TCP/IP» y en su configuración indicar la IP y puerto TCP usado definido en la Raspberry Pi para el servicio «tcp» (en el ejemplo anterior p.e. 192.168.1.11 y puerto 5001)  o si se usa el servicio ser2net, el puerto definido para ese ARS, por ejemplo el 6001 

Recuerda, si quieres ver cómo instalar el servicio ser2net, visita este enlace que aparece como ser2net: