Introducción
¿Alguna vez has querido conectar tu Raspberry PLC a internet sin necesidad de WiFi ni de Ethernet? El dispositivo SIM7600 lo permite: basta con insertar una tarjeta SIM y hacer algunas configuraciones específicas.
En este artículo aprenderás a configurar tanto el SIM7600 como el Raspberry PLC para acceder a internet únicamente con el módulo SIM7600 y, por supuesto, una tarjeta SIM.
Requisitos
- Raspberry PLC
- SIM7600 4G USB Dongle
- Tarjeta SIM de un operador de internet
Preparativos
Lo primero es conectar el módulo SIM7600 a uno de los 4 puertos USB del Raspberry PLC. Al comprobar los dispositivos conectados con
$ ls /dev/tty*
deberían aparecer los dispositivos /dev/ttyUSB[0..X]. En este artículo se usará /dev/ttyUSB2, ya que este puerto corresponde al SIM7600.
En algunos casos, los puertos ttyUSB* no aparecen al listar el directorio; para solucionarlo, usa los siguientes comandos:
$ sudo modprobe ftdi_sio
$ sudo sh -c "echo XXXX YYYY > /sys/bus/usb-serial/drivers/ftdi_sio/new/id"
Para saber cuáles son los parámetros XXXX e YYYY, consulta la salida del comando
$ lsusb
, donde deberías encontrar una línea como esta:
Bus 001 Device 008: ID 1e0e:9018 Qualcomm / Option SimTech, Incorporated
por lo que, en nuestro caso, XXXX es 1e0e e YYYY es 9018. Ahora toca comunicarse con el SIM7600 mediante minicom.
Configuración del SIM7600
Para instalar y abrir minicom usa estos comandos:
$ sudo apt install minicom$ sudo minicom -D /dev/ttyUSB2
En la pantalla de minicom, pulsa Ctrl+A y después E para activar el eco local y ver lo que estás escribiendo.
- Al escribir AT se comprueba la comunicación entre el PC y el SIM7600. La respuesta debe ser "OK".
- Con AT+CSQ puedes ver la calidad de la señal del SIM7600. La respuesta debe ser parecida a esta: "+CSQ: 20,01".
- Ahora escribe AT+CUSBPIDSWITCH=9018,1,1. La respuesta debe ser "OK".
- Para salir de minicom, pulsa Ctrl+A y después X.
Para consultar más comandos AT, mira este archivo PDF.
Nota: en las conexiones SSH con el Raspberry PLC puede que no puedas escribir correctamente Ctrl+A E o Ctrl+A X; en ese caso usa Ctrl+Mayús+A en lugar de Ctrl+A.
Configuración del PC
Veamos ahora si la configuración del SIM7600 es correcta con
$ ip a show usb0
Si usb0 no está definida, busca una interfaz con un nombre parecido con
$ ip a
En la imagen anterior, la interfaz usb0 ya tiene una dirección IP, pero la tuya todavía no debería tenerla. Para obtenerla, escribe
$ sudo dhclient -v usb0
Al volver a usar el primer comando, verás que ahora la interfaz también tiene una dirección IP. El último paso es añadir la ruta adecuada para la interfaz usb0 y que el SIM7600 pueda acceder a internet. Para ello, escribe este comando:
$ sudo route add -net 0.0.0.0 usb0
La ruta predeterminada debería haberse añadido aquí:
Por último, toca probar la conexión a internet. Con el comando ping podemos comprobar si tenemos acceso a internet así:
$ ping -c3 -I usb0 8.8.8.8
¡Ahí está! Como indica el mensaje, hemos conseguido conectarnos al servicio DNS oficial de Google a través de la interfaz usb0, que es el módulo SIM7600.