3.-A Instalación del nats

El servidor NATS es un sistema de mensajería de código abierto simple, seguro y de alto rendimiento y que se emplea para que los diferentes módulos remoteSwitch se comuniquen entre sí. Se ejecutan tantos módulos remoteSwitch como dispositivos a controlar se desea. Además siempre se ha de ejecutar un remoteSwitch configurado como servidor web, luego al menos vamos a tener 2 remoteSwitch en ejecución. El servidor NATS se emplea para la comunicación entre todos estos módulos. El servidor NATS lo puedes descargar desde su página oficial que encontrarás en:

https://nats.io

 

Descarga módulo NATS

Podemos descargar la version 2.0.4 desde mi sitio web:

https://ea4tx.com/wp-content/uploads/files/rspi/nats-server

Tenemos muchas formas de poner el binario del NATS en la RsPi, unos seguramente optarán por descargarlo al PC y ya desde éste, subirlo por medio de un FTP a la RsPi. Aquí lo vamos a hacer usando el comando wget directamente desde la consola de la RsPi, como se muestra a continuación:

wget --no-check-certificate https://ea4tx.com/wp-content/uploads/files/rspi/nats-server

Con esto ya tenemos el binario en la RsPi (carpeta desde la que hemos ejecutado el comando). Ahora vamos a copiarlo a la carpeta /usr/local/sbin que es donde habitualmente se dejaría, para ello podemos usar el programa mc (midnight commander que ya habíamos instalado en el paso 2) o bien mediante el comando:

sudo cp nats-server /usr/local/sbin/

Puedes hacer estos dos pasos en uno, mediante el comando:

wget --no-check-certificate https://ea4tx.com/wp-content/uploads/files/rspi/nats-server -P /usr/local/sbin

Tendrás que indicar que el tipo de fichero se puede ejecutar, con lo cual seguramente tendrás que cambiar las propiedades del mismo, cosa que hacer mediante el comando:

sudo chmod 755 /usr/local/sbin/nats-server

Con esto ya tenemos el programa listo. No es necesario configurar nada.

Lo ejecutamos y verificamos que arranca bien.

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 nats.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 --no-check-certificate https://ea4tx.com/wp-content/uploads/files/rspi/nats.service

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

sudo cp nats.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. Ahora ya solo nos queda añadir este servicio nats en el gestor systemd, luego ejecutamos el comando:

sudo systemctl enable nats.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 nats start

o bien para parar:

sudo service nats stop

Con todo esto, ya debiéramos de tener el servidor nats en marcha y en ejecución, preparado para que cuando arranquemos los módulos remoteSwitch se puedan conectar. Esto lo veremos más adelante.

3.-B Instalación ser2net

El módulo ser2net funciona a modo de router o pasarela entre puertos serie y TCP/IP. Permite definir en un fichero de configuración (/etc/ser2net.yaml) cada uno de los puertos serie que queremos que sean accesibles por un puerto TCP/IP. De esta forma, una aplicación se puede conectar a ese puerto TCP/IP y acceder por medio del ser2net al dispositivo serie.

  • Nota: Mediante un único servicio ser2net se puede tener acceso a tantos dispositivos serie como se definan.

Los dispositivos serie van a ser cada uno de los RemoteBox o StackMain que conectemos a la RsPi y con esto permitimos que sean accesibles por TCP/IP. Gracias a este servicio, el cliente RBM de windows se puede conectar al dispositivo por TCP/IP además el remoteSwitch accede también.

Desde la versión V4 de ser2net se puede definir que multiples clientes se conecten y compartan un mismo puerto serie. Para ello hay que añadir un parámetro que por defecto no viene y que se llama:

options:
      max-connection = N     (donde N es el número de conexiones sumultáneas que se desean, por ejemplo para 5 sería max-connection = 5)

 

Instalación ser2net standard

Para instalar el paquete ser2net, ejecuta:

sudo apt-get install ser2net

El instalador nos habrá dejado el programa en la carpeta \usr\sbin\ser2net, el fichero de configuración ser2net.yaml en \etc y el sistema de arranque de servicios preparado. 

Configuración ser2net

El configurador del servicio ser2net se llama ser2net.yaml y lo tenemos en \etc. Editamos el fichero:

sudo nano /etc/ser2net.yaml

En el siguiente enlace, se explica más en detalle la puesta en marcha y parametrización del servicio ser2net, luego te recomiendo que visites este enlace:

Si tenemos un RemoteBox ya conectado a la RsPi y hemos editado ya el fichero ser2net y arrancado el servicio

sudo service ser2net start

Podemos probar que está funcionando el servicio ser2net antes de seguir con la parte final y que sería instalar el remoteSwitch y su servidor web que será lo que se vea en la última sección.

Ejecuta por lo tanto el programa RBM en tu ordenador y configurar que el servicio es via TCP/IP indicando la IP y Puerto del servicio definido.