Optimización de la configuración de los dispositivos para garantizar una conectividad fiable al IoT

Si desarrollas tu propio hardware de IoT, la lógica de conexión que programes en el firmware es más importante que la tarjeta SIM que le pongas. Una tarjeta SIM con itinerancia permite que tu dispositivo acceda a muchas operadoras, pero es el dispositivo el que decide cuál utilizar, cuándo volver a intentarlo y si debe darse por vencido.

Esta guía aborda los parámetros de configuración que determinan si una flota permanece conectada: priorización de la red, retardo entre reintentos, comprobaciones de conectividad, gestión de sesiones y política de firmware.

El dispositivo es el que elige la red, no la tarjeta SIM.

Este es el error de interpretación más habitual, y cambia la forma en que se depura todo lo demás.

Una tarjeta SIM de Simbase permite acceder a varios operadores. No distingue entre ellos. El módem decide, siguiendo su propia lógica: la intensidad de la señal, la lista de operadores almacenada en el dispositivo, si ya ha detectado esa red anteriormente y cómo está configurado el firmware. Si un dispositivo sigue conectándose a una red con señal débil cuando hay otra más potente disponible, se trata de un problema de configuración del dispositivo, no de la tarjeta SIM.

En la práctica: si quieres que un dispositivo dé prioridad a un operador concreto, debes configurarlo en el firmware del módem, siempre que sea compatible.

Crear una lista de redes preferidas con una opción alternativa

La mayoría de las flotas tienen preferencias en cuanto a operadores por una razón. Es posible que un dispositivo esté certificado para un operador y no para otro, o que un acuerdo comercial favorezca a una red concreta. Una lista de redes preferidas refleja eso, sin que te quedes sin opciones.

El orden en el que hay que trabajar:

  1. Intenta conectarte a la primera red preferida

  2. Si falla, prueba con la siguiente red preferida

  3. Sigue revisando la lista de prioridades hasta que se hayan probado todas las redes preferidas

  4. Prueba con cualquier red disponible que no figure en la lista

  5. Si ninguna ha funcionado, vuelve a empezar por la primera red preferida.

El paso 4 es el que la gente suele omitir. Un dispositivo que solo se conecte a tres redes concretas no tendrá forma de volver a conectarse a Internet cuando las tres estén indisponibles, que es precisamente el momento en el que más lo necesitas.


Espaciar los reintentos con un retroceso progresivo

El tiempo de reintento es donde un firmware bienintencionado acaba causando un daño real. Un dispositivo que vuelve a intentarlo cada pocos segundos parece un dispositivo que funciona mal para el socio de itinerancia, y los socios de itinerancia responden bloqueándolo de forma temporal o permanente. Recuperarse de eso es un proceso lento y manual.

Aumenta cada vez el tiempo de espera entre intentos:

  • Primer nuevo intento tras 1 minuto

  • Segundo intento tras 2 minutos

  • Tercer intento tras 4 minutos

  • Tras varios ciclos completos, reduce el tiempo a una hora o más, dependiendo de la rapidez con la que el dispositivo necesite recuperarse.

El objetivo es ir cambiando de red de forma metódica, volver a conectarse rápidamente cuando haya una disponible y no dar nunca la impresión de ser un dispositivo que sobrecarga la red.

Los reintentos excesivos pueden provocar que se bloquee un dispositivoLos socios de itinerancia aplican sus propios límites ante intentos repetidos y fallidos de conexión. Un dispositivo que vuelve a intentarlo continuamente puede ser bloqueado a nivel de red, y Simbase no puede levantar ese bloqueo en tu nombre. El mecanismo de retroceso es una medida de protección, no una simple cortesía.

Ten cuidado con las listas negras

Algunos dispositivos permiten bloquear redes directamente mediante una lista negra. Esto puede resultar útil en el caso de una red cuyo rendimiento sea sistemáticamente deficiente o con la que tu hardware sea realmente incompatible.

Recomendamos actuar con precaución, sobre todo en las implementaciones en itinerancia. Cada red incluida en la lista negra supone una ruta menos hacia la conectividad, y estas listas tienden a acumularse: se añaden durante una mala semana, nunca se revisan y siguen en el firmware dos años después, cuando esa red es la única que da cobertura a una nueva ubicación.

Es preferible una lista de prioridades que clasifique las redes a una lista negra que las prohíba. La clasificación se degrada de forma gradual. El bloqueo, no.

Comprueba la conectividad mediante pruebas de ping

Un dispositivo puede estar conectado a una red, mostrar señal completa y, aun así, no disponer de una conexión a Internet operativa.

Un ping periódico a un destino fiable, normalmente el servidor DNS de Google en 8.8.8.8, confirma que el tráfico realmente llega a Internet y vuelve. Un ping fallido es un indicador útil para interrumpir la conexión y reiniciar la selección de red.

Recomendamos realizar una prueba de ping al menos una vez cada hora, y cualquier fallo provocará una reconexión. Ajusta la frecuencia en función de tu presupuesto de datos: cada prueba consume una pequeña cantidad de datos y, en un dispositivo de bajo consumo en el que se realicen pruebas con demasiada frecuencia, las comprobaciones de conectividad pueden llegar a suponer una parte considerable de la factura. Véase Consumo de datos y sobrecostes sobre cómo se contabilizan y se redondean las sesiones.

Conectarse a una red y abrir una sesión de datos son dos pasos

Para disponer de un acceso completo a Internet se necesitan ambos, y mezclarlos complica mucho más el diagnóstico de los problemas de conectividad.

Conexión a la red

El dispositivo se registra en una red móvil, de forma muy similar a como un teléfono se conecta a una torre cercana. En este momento tiene señal y la red lo reconoce, pero no puede transmitir datos.

AT+COPS=0

Esto hace que el módem seleccione una red automáticamente.

Inicio de una sesión de PDP

Una sesión del Protocolo de datos por paquetes abre la pasarela por la que circulan realmente los datos. En primer lugar, define el contexto con tu APN:

AT+CGDCONT=1,"IP","APN_NAME"

A continuación, actívalo:

AT+CGACT=1,1

Sustituir APN_NAME con el APN de tu perfil de tarjeta SIM. La mayoría de los perfiles utilizan simbase. Véase Configurar el APN para encontrar el APN que se adapte a tu perfil y a tu caso de uso.

Mantén la sesión abierta

Mantener abierta una sesión PDP evita la sobrecarga que supone renegociar una sesión para cada transmisión. Además, esto tiene un efecto directo en la facturación: cada sesión se redondea al alza a 1 kB y los costes se calculan con cuatro decimales, por lo que un dispositivo que abre y cierra una sesión para cada lectura pequeña genera una factura considerablemente más elevada de lo que su carga útil sugeriría. En el caso de las aplicaciones con poco volumen de datos, una sesión larga suele resultar más económica que muchas sesiones cortas.

Vuelve a conectarte a la red cada 24 horas

Merece la pena mantener abierta la sesión de datos. Sin embargo, no es recomendable permanecer conectado a la misma red de forma indefinida.

Las redes obligan periódicamente a renovar la autorización de los dispositivos que llevan mucho tiempo conectados, y estas renovaciones suelen producirse en momentos inoportunos. Desconectar y volver a conectar el dispositivo aproximadamente cada 24 horas, según tu propio horario y no el de la red, mantiene la autorización del dispositivo al día y convierte una interrupción impredecible en una controlada.

Mantén el firmware actualizado, pero sin llegar a lo más puntero

Los fabricantes de módems lanzan actualizaciones de firmware que mejoran la compatibilidad con la red, el funcionamiento en itinerancia y la seguridad, y mantenerse al día resulta realmente útil en todas las regiones.

Ser el primero en instalar una nueva versión no es lo ideal. El firmware nuevo de un módem puede provocar retrocesos precisamente en los aspectos que más te importan. Deja que la versión se asiente antes de implementarla en toda la flota y, cuando lo hagas, realiza la implementación por fases.

Supervisa el rendimiento en condiciones reales y realiza los ajustes necesarios

La lógica de conexión que parece correcta en un entorno de pruebas se comporta de forma diferente cuando se aplica a toda una flota. Una vez implementada la lógica, realiza un seguimiento de:

  • Índice de éxito de los reintentos y qué intento de la secuencia suele tener éxito

  • Duración de las sesiones y frecuencia con la que estas finalizan de forma inesperada

  • A qué redes se conectan realmente los dispositivos, por regiones

  • Con qué frecuencia fallan las comprobaciones de conectividad mientras el dispositivo sigue conectado

Esas cifras te indican si tu orden de prioridades se ajusta a la realidad y si tus intervalos de retroceso son demasiado agresivos o demasiado holgados. Diagnóstico muestra lo que la red detecta en relación con una tarjeta SIM concreta, lo cual resulta una buena forma de contrastar la información cuando los registros del propio dispositivo indican una cosa y los datos de conectividad, otra.

Ejemplo práctico: una implantación en EE. UU.

Un dispositivo con una tarjeta SIM en itinerancia en Estados Unidos, con las tres principales redes disponibles.

Orden de red preferido

  1. Verizon

  2. T-Mobile

  3. AT&T

Secuencia de registro

  1. Intenta conectarte a Verizon. Si se realiza correctamente, abre una sesión de datos y sigue como de costumbre. Si falla, espera 1 minuto.

  2. Intenta conectarte a T-Mobile. Si se realiza correctamente, abre una sesión de datos. Si falla, espera 2 minutos.

  3. Intenta conectarte a AT&T. Si se conecta, abre una sesión de datos. Si falla, espera 4 minutos e inicia un nuevo ciclo con Verizon.

Cuando todas las redes se niegan a...

Si los tres rechazan el dispositivo —lo cual puede ocurrir durante una incidencia de servicio o cuando se ha desactivado una tarjeta SIM—, amplía los intervalos en lugar de seguir repitiendo el ciclo:

  • Tras el nuevo intento de 4 minutos, espera 1 hora antes de volver a ejecutar el pedido completo preferido.

  • Si después de eso sigue sin haber conexión, pasa a intervalos de 4 horas.

Comprobación de la conexión

Una vez abierta una sesión de datos, haz un ping 8.8.8.8 periódicamente. Si el ping falla, desconéctate de la red actual y vuelve a iniciar la secuencia desde Verizon.

Renovación diaria

Para mantener el rendimiento de la red y permitir cualquier reautenticación necesaria, el dispositivo se desconecta y vuelve a conectarse a la red cada 24 horas.

  • Reconexión diaria: el dispositivo se desconecta de la red actual y, a continuación, sigue la secuencia de prioridad inicial (Verizon, T-Mobile, AT&T) para restablecer la conexión.

  • De este modo, la autorización se mantiene al día y se reduce el riesgo de que la red tenga que volver a autorizarla de forma obligatoria.

Sequence diagram of device retry logic: the device attempts Verizon, then T-Mobile after one minute, then AT&T after two minutes, opens a data session on success, pings 8.8.8.8 at least hourly, and reattaches every 24 hours

Preguntas frecuentes

No. La selección de la red se realiza en el dispositivo. La tarjeta SIM proporciona acceso a los operadores incluidos en tu plan de cobertura, y el módem elige entre ellos, por lo que la preferencia debe configurarse en el firmware.

Al menos cada hora, considerando que una comprobación fallida es una señal para volver a conectarse. Aumenta el intervalo si el coste de los datos es más importante que una recuperación rápida, ya que cada comprobación consume datos facturables.

Mantén la conexión abierta. Cada sesión se redondea al 1 kB, por lo que las sesiones cortas y frecuentes salen más caras que una sola sesión larga con la misma carga útil, y volver a conectarse aumenta la latencia y los puntos de fallo.

Normalmente se trata de intentos fallidos de conexión que se repiten en rápida sucesión. Los socios de itinerancia bloquean los dispositivos que se comportan así, por lo que el retroceso progresivo entre los reintentos es lo que evita que un dispositivo entre en esa lista.

Relacionado