Ir al contenido

SARA-R412M en Raspberry Pi

8 de julio de 2024 por
Boot & Work Corp. S.L, Arnau Tena

Antes de probar nada con el módulo SARA, primero debemos instalar la librería librpiplc de Industrial Shields siguiendo las instrucciones en​ este enlace. Recomendamos clonar el repositorio dentro de tu directorio personal, ya que es donde lo hemos clonado para este blog. Al clonar el repositorio, reemplaza <tagname> con v3.0.0 para seleccionar la versión correcta de librpiplc.

Biblioteca LIBRPIPLC

Después de instalar con éxito librpiplc, debemos copiar uno de los archivos compilados a una carpeta diferente. Si instalaste una versión de librpiplc anterior a la v3.0.0, puedes saltarte esta parte. Para copiar el archivo, utiliza los siguientes comandos:

(Reemplaza [PLC_Version] y [PLC_Model] con la versión y el modelo de tu RPIPLC, tal como hiciste al instalar librpiplc)

Modelos y Versiones de RPIPLC

cd ~/test/[PLC_Version]/[PLC_Model]/
cp set-digital-output ~/test/analog/set-digital-output

Ahora debemos asegurarnos de que el archivo config.txt esté configurado correctamente. Para ello, primero abre /boot/config.txt con tu editor de texto preferido, en este caso usamos nano:

sudo nano /boot/config.txt

Usa las flechas del teclado para ir hasta el final del archivo y asegúrate de que estas líneas estén configuradas de la siguiente manera:

[all]
dtparam=spi=on
gpio=8=pd
dtoverlay=spi0-1cs,cs0_pin=7
dtoverlay=w5500,cs=0,int_pin=6
dtparam=i2c_arm=on
dtoverlay=i2c-rtc,ds3231
dtoverlay=sc16is752-spi1-rpiplc-v4,xtal=14745600
enable_uart=1

Ahora puedes cerrar el editor de texto. Si abriste el archivo con nano, puedes cerrarlo presionando Ctrl+X. Si nano te pide confirmación antes de cerrar, escribe "Y" para confirmar y luego presiona Enter para mantener el mismo nombre de archivo.

Ahora podemos trabajar con el módulo SARA-R412M. Dependiendo de dónde esté instalado el módulo, los pasos siguientes serán ligeramente diferentes. El módulo puede estar instalado en el slot 1 o en el slot 2, siendo el slot 1 el más cercano al puerto Ethernet.

Si el módulo está instalado en el slot 1, ejecuta el archivo setup-gprs.sh, que puedes encontrar ​ , utilizando los siguientes comandos:

wget https://apps.industrialshields.com/main/rpi/rpiplc_v4/setup-gprs.sh
chmod 755 setup-gprs.sh
sudo ./setup-gprs.sh
Pasos para el slot 2

Si el módulo está instalado en el slot 2, tendrás que realizar algunos pasos adicionales. Primero, descarga el archivo de configuración con:

wget https://apps.industrialshields.com/main/rpi/rpiplc_v4/setup-gprs.sh

Ahora abre el archivo setup-gprs.sh y reemplaza todas las ocurrencias de ttySC0 por ttySC1 y EXP1_RST por EXP1_RST_2. Puedes usar el editor de texto nano para ello:

nano setup-gprs.sh

Para reemplazar todas las ocurrencias, haz lo siguiente:​

​1.Presiona la combinación de teclas Alt + R para entrar en el modo de búsqueda y reemplazo.

​2. Escribe ttySC0 y presiona Enter.

​3. Escribe ttySC1 y presiona Enter. 

​4. Presiona A para reemplazar todas las ocurrencias.

Repite los pasos del 1 al 4 para reemplazar EXP1_RST con EXP2_RST, o con EXP1_RST_2 si estás utilizando una versión de librpiplc anterior a la v3.0.0.

Ahora podemos otorgar los permisos adecuados al archivo y ejecutarlo:​

chmod 755 setup-gprs.sh
sudo ./setup-gprs.sh

Si has seguido los pasos para el slot correspondiente, el script ejecutado ahora te pedirá las credenciales del APN y la tecnología AT (Radio Access Technology): LTE Cat M1 (4G), NB-IoT (Narrow Band) o GPRS/eGPRS. También creará un servicio llamado pppd ubicado en /lib/systemd/system/pppd.service, que ejecutará un archivo Python creado en /usr/src/network-setup.py cada vez que el Raspberry PLC se inicie. 

Aproximadamente entre 50 y 120 segundos después de ejecutar setup-gprs.sh, la interfaz ppp0 debería crearse. El proceso se puede seguir con:

tail -f /var/log/messages

o​

tail -f /var/log/syslog

Puedes comprobar que la interfaz se ha creado con:

ifconfig ppp0

Para asegurarte de que todo ha ido bien, puedes hacer ping a 8.8.8.8 así:

ping 8.8.8.8 -c4 -I ppp0

Para detener y deshabilitar el servicio, utiliza los comandos:

sudo systemctl stop pppd.service
sudo systemctl disable pppd.service

Finalmente, intenta ejecutar el script creado network-setup.py con la RAT deseada:

(Reemplaza [RAT] con gprs, nb-iot o lte-m)

    python /usr/src/network-setup.py [RAT]

Buscar en nuestro blog

Boot & Work Corp. S.L, Arnau Tena 8 de julio de 2024
Compartir esta publicación
Etiquetas

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.

Comparativa de PLCs