Inicio Artículos Utilice un módulo de radio celular global para conectar de forma rápida...

Utilice un módulo de radio celular global para conectar de forma rápida y segura los dispositivos IoT a la nube

Autor: Rolf Horn – Applications Engineer, Digi-Key

Para conectar dispositivos finales de red portátiles o remotos al Internet de las cosas (IoT), o para controlar máquinas a distancia mediante la comunicación máquina a máquina (M2M), una buena opción es una conexión de radio móvil para el intercambio de datos a través de la nube. Sin embargo, esta opción presenta obstáculos para el desarrollador, como determinar qué redes inalámbricas pueden soportar la tasa de producción de datos necesaria en todo el mundo y qué protocolos debe ser capaz de manejar el módem inalámbrico. También hay que tener en cuenta la escalabilidad del sistema, la seguridad de los datos, el costo, el plazo de comercialización y los costes de adquisición y explotación que soportará el usuario.

Este artículo explica brevemente qué ofrece LTE Cat 1 a los desarrolladores de aplicaciones IoT y M2M. A continuación, presenta los módulos de radio de la serie LARA-R6 de u-blox que proporcionan conectividad universal y un rendimiento fiable. El artículo concluye mostrando cómo los desarrolladores pueden utilizar una placa de evaluación (EVB) para configurar y controlar fácilmente los módulos mediante comandos AT y generar cadenas de comandos AT a través de funciones de biblioteca.

LTE Cat 1 comparado con LTE Cat 1bis, LTE Cat M y LTE Cat NB

Aunque la radio celular LTE ya alcanza velocidades de transmisión de gigabits, los protocolos de baja potencia y área extensa (LPWA) como LTE Cat 1, LTE Cat 1bis, LTE Cat M y LTE Cat NB están diseñados para ser especialmente eficientes en términos de consumo de energía, recursos de red y costo. Esto es de vital importancia para los dispositivos IoT.

Con un ancho de banda de canal de hasta 20 megahercios (MHz) en dúplex completo, LTE Cat 1 alcanza velocidades de datos de descarga de hasta 10 megabits por segundo (Mbps) y de carga de hasta 5 Mbps. Dos antenas permiten la diversidad del receptor (Rx) para un mejor rendimiento (Tabla 1). LTE Cat 1bis utiliza una sola antena.

LTE CAT1/CAT 1BIS LTE CAT M1 LTE CAT NB1
Publicación 3GPP Liberación 8 Liberación 13 Liberación 13
Velocidad máxima del enlace descendente 10 Mpbs 1 Mbps 26 kbps
Velocidad máxima del enlace ascendente 5 Mbps 1 Mbps 66 kbps (multitono)
16.9 kbps (monotono)
Latencia 50 ms a 100 ms 10 ms a 15 ms 1.6 s a 10 s
Número de antenas 2 (LTE Cat 1)
1 (LTE Cat 1bis)
1 1
Modo dúplex Dúplex Dúplex completo o semidúplex Medio dúplex
Ancho de banda de recepción del dispositivo 1.4 MHz a 20 MHz 1.4 180 kHz

Tabla 1: Comparación del rendimiento de los protocolos LPWA. LTE CAT 1 utiliza dos antenas para la diversidad Rx; LTE Cat 1bis utiliza una antena. (Fuente de la imagen: Wikipedia, Jens Wallmann)

Radio móvil LTE Cat 1 para disponibilidad mundial

La serie LARA-R6 de u-blox se compone de resistentes módulos de radio celular diseñados para los estándares de tecnología de acceso por radio (RAT) LTE Cat 1 dúplex por división de frecuencia (FDD) y dúplex por división de tiempo (TDD). Admiten 3G UMTS/HSPA y 2G GSM/GPRS/EGPRS como solución alternativa. Estos módulos son una solución excelente para la cobertura global/multirregional y se presentan en un pequeño factor de forma LGA que mide 26 x 24 milímetros (mm).

Equipados con interfaces versátiles, una amplia variedad de características y capacidades multibanda y multimodo, los módulos LARA-R6 son adecuados para aplicaciones que requieren velocidad de datos media, conectividad sin fisuras, excelente cobertura y baja latencia. Entre estas aplicaciones se incluyen el seguimiento de activos, la telemática, la supervisión remota, las centrales de alarma, la videovigilancia, la salud conectada y los terminales de punto de venta.

Todos los módulos admiten diversidad Rx para un rendimiento fiable en condiciones de cobertura difíciles o cuando se requiere voz sobre LTE (VoLTE). Los programadores pueden aprovechar los protocolos IoT integrados (LwM2M, MQTT) y las características de seguridad (TLS/DTLS, actualización segura e inicio seguro) para implementar diversas funciones, como la gestión de dispositivos, el control remoto de dispositivos y las actualizaciones seguras de firmware over-the-air (FOTA).

La serie LARA-R6 admite LTE Cat 1 según 3GPP Release 10 y consigue una cobertura global con tres variantes regionales:

  • Los módulos LARA-R6001-00B (datos y voz) y LARA-R6001D-00B (solo datos) admiten 18 bandas de frecuencia LTE FDD/TDD más fallback 3G/2G para conectividad global.
  • Los módulos LARA-R6401-00B (datos y voz) y LARA-R6401D-00B (solo datos) proporcionan una solución LTE Cat 1 ideal para Norteamérica, compatible con las bandas LTE de AT&T, FirstNet, Verizon y T-Mobile.
  • Los módulos LARA-R6801-00B (datos y voz) y LARA-R6801D-01B (solo datos) están diseñados para implementaciones en las siguientes regiones: Europa y Oriente Medio (EMEA), Asia Pacífico (APAC), Japón (JP) y Latinoamérica (LATAM) (Figura 1).

Mapa de variantes regionales de los módulos LARA-R6Figura 1: Tres variantes regionales de los módulos LARA-R6 cubren el globo. (Imagen: DigiKey, modificada por el autor)

Características especiales de LARA-R6 de un vistazo

Los módulos LARA-R6 integran un procesador de banda base celular con interfaces externas, un transceptor de RF con amplificadores y filtros, memoria y una unidad de administración de alimentación (figura 2).

Diagrama de la estructura interna de un módulo u-blox LARA-R6 (haga clic para ampliar)Figura 2: Estructura interna de un módulo LARA-R6. (Fuente de la imagen: u-blox)

El transceptor de RF funciona en las Bandas de frecuencia de 700 MHz, 800 MHz, 850 MHz, 900 MHz, 1,7 GHz, 1,8 GHz, 1,9 GHz, 2,1 GHz y 2,6 GHz. Todos los protocolos de transferencia de datos del procesador de banda base celular pueden controlarse y configurarse mediante comandos AT utilizando las interfaces externas UART y USB.

Protocolos

  • Doble pila IPv4 e IPv6
  • TCP/IP, UDP/IP, FTP y HTTP integrados
  • MQTT integrado y MQTT-SN
  • LwM2M integrado
  • eSIM y protocolo independiente del portador (BIP)

Los módulos LARA-R6 requieren una tensión de alimentación de 3,1 a 4,5 voltios y tienen un consumo de corriente reactiva de unos 1.1 miliamperios (mA). En funcionamiento 2G, las franjas horarias TDMA individuales pueden alcanzar potencias de transmisión máximas de más de 33 decibelios referidos a 1 milivatio (mW) (dBm) (> 2.0 vatios), y todas las demás RAT alcanzan niveles de más de 24 dBm (> 0.25 vatios).

Una excelente sensibilidad de antena inferior a -100 dBm, correspondiente a potencias de señal inferiores a 0.1 picovatios (pW), permite conexiones de radio estables en el borde de la red móvil.

Evaluación y programación

La forma más rápida de empezar a evaluar y programar un módulo LARA-R6 es utilizar un EVB R6 (EVK-R6) y una clavija de conexión LARA-R6 (ADP-R6) para la región correspondiente. Por ejemplo, el EVK-R6001-00B para aplicaciones globales incluye la placa adaptadora ADP-R6001-00B (voz + datos) y una placa adaptadora GNSS (Figura 3).

Imagen de u-blox LARA-R6 EVB (EVK-R6) con una placa adaptadora LARA-R6 conectada (haga clic para ampliar).Figura 3: EVB LARA-R6 (EVK-R6) con una placa adaptadora LARA-R6 conectada (abajo) y una placa GNSS (arriba a la izquierda). (Fuente de la imagen: u-blox)

La variante EVK-R6401-00B para Norteamérica incluye el adaptador ADP-R6401-00B, mientras que la EVK-R6801-00B para EMEA/APAC/JP/LATAM incluye el adaptador ADP-R6801-00B. Las tres placas adaptadoras ya mencionadas para transmisión de voz y datos también están disponibles por separado, al igual que las versiones sólo para transmisión de datos, incluidas la ADP-R6401D-00B (Norteamérica) y la ADP-R6001D-00B (mundial).

La placa adaptadora R6 amplía el módulo LARA-R6 con dos antenas y dos conectores MiniUSB. El EVB R6 añade a los periféricos del módulo un módulo GNSS, una ranura para tarjeta SIM, conexiones enchufables adicionales, puentes, interruptores y una fuente de alimentación (Figura 4).

Diagrama de bloques funcional del u-blox R6 EVB con los adaptadores GNSS y LARA-R6 enchufados (haga clic para ampliar)Figura 4: Diagrama de bloques funcional del R6 EVB con los adaptadores GNSS y LARA-R6 enchufados. (Fuente de la imagen: u-blox)

Cada kit contiene un EVB con una placa adaptadora LARA-R6 LTE Cat 1 conectada y un módulo GNSS de u-blox, un cable USB, dos antenas de radio móvil LTE, una antena GPS/GLONASS y una fuente de alimentación.

Puesta en servicio del EVK

El potente y fácil de usar kit EVK-R6 de u-blox simplifica la evaluación de módulos celulares multimodo LTE Cat 1 / 3G / 2G. Un PC Windows con el controlador USB LARA-R6 instalado controla el módem LARA-R6 a través del conector USB y simplifica la configuración de la conexión a través de los ajustes del sistema. Para empezar, el desarrollador necesita:

  1. Inserte la tarjeta SIM y conecte las dos antenas de telefonía móvil y la antena GNSS.
  2. Configure cuidadosamente los puentes e interruptores del EVK.
  3. Aplique el voltaje de alimentación y encienda el interruptor principal SW400 en el EVB.
    1. Para el funcionamiento como módem de baja velocidad de datos a través de la interfaz «Main UART», conecte el PC al jack MiniUSB J501 o al jack RS232 J500 del EVK.
    2. Para el funcionamiento como módem de baja velocidad de datos mediante «Dos UART», conecte el PC a la interfaz celular USB jack J201 del ADP.
    3. Para el funcionamiento como módem de alta velocidad de datos a través de «Native Cellular USB», conecte el PC al jack MiniUSB J105 del ADP.
  4. Pulse el botón de encendido del móvil SW302 en el EVB.
  5. Ejecute un software de aplicación de terminal (como m-center), vaya al menú de configuración del puerto COM, elija el puerto AT correspondiente a 4a, 4b o 4c y establezca estos valores: Velocidad de datos: 115.200 bps; Bits de datos: 8; Paridad: N; Bits de parada: 1.

Para más detalles, consulte la EVK-R6_UserGuide_UBX-21035387. La herramienta m-center ayuda a evaluar, configurar y probar los productos celulares u-blox, e incluye un terminal de comandos AT.

Conexión sencilla a Internet mediante un PC con Windows

Al conectar un PC con Windows al EVK, el usuario puede establecer una conexión inalámbrica a Internet de dos maneras:

1: Una conexión de paquetes de datos de baja velocidad: Utiliza la pila TCP/IP del PC con Windows a través de la interfaz Transmisor Receptor Asíncrono Universal (UART) del módulo LARA-R6. El PC y el EVK se conectan según el método 4a. El desarrollador debe seleccionar Teléfono y módem > Módems > Agregar mediante el Panel de control de Windows. El siguiente paso es marcar la casilla «No detectar mi módem», seleccionar «Módem estándar de 33.6 kbps» y asignar un puerto COM. Si es necesario, el desarrollador puede añadir Propiedades > Avanzadas > Comandos de inicialización adicionales.

2: Una conexión de paquetes de datos de alta velocidad: Accede a Internet utilizando la pila TCP/IP del PC con Windows a través de la interfaz USB nativa del módulo LARA-R6. El PC y el EVK se conectan según el método 4c. El desarrollador debe seleccionar Centro de redes y recursos compartidos > Configurar una nueva conexión o red a través del Panel de control de Windows y hacer clic en «Conectarse a Internet». El siguiente paso es seleccionar «Dial-up» y uno de los puertos AT USB. El último paso es introducir los parámetros de marcación (número de marcación, nombre del proveedor, Id. de usuario y contraseña).

Registrar la tarjeta SIM en el operador de telefonía móvil

Una vez configurados la tarjeta SIM y el parámetro MNO, el módulo celular se registra automáticamente en la red celular tras el encendido. Si hay algún problema, el registro se puede comprobar manualmente utilizando los comandos AT que se muestran en la Tabla 2.

COMANDO ENVIADO POR DTE (USUARIO) RESPUESTA DCE (MÓDULO) DESCRIPCIÓN
¿AT+CREG? +CREG: 0,1 OK Verifique el registro en la Red.
AT+COPS=0 Aceptar Registrar el módulo en la red sólo si ha fallado el registro automático (AT+CREG? devuelve 0,0).
¿AT+COPS? +COPS: 0,0, «I TIM»,7 OK Lea el nombre del operador y la tecnología de acceso radioeléctrico (RAT).

Tabla 2: Comandos AT de registro. (Fuente de la tabla: u-blox, modificado por el autor)

Comunicación con el servidor HTTP remoto mediante comando AT

El repositorio de GitHub «Firechip_u-blox_LARA-R6_Arduino_Library» contiene una extensa biblioteca de comandos AT para los módulos LARA-R6, escrita en C++ para controladores Arduino. Dieciséis ejemplos de aplicaciones, incluidas pruebas de ping, registro, interruptor de paquetes, SMS, GNSS y nube IoT, ofrecen sugerencias para estructuras de código personalizadas.

Los comandos AT también pueden enviar peticiones a un servidor HTTP remoto durante una conexión activa, recibir la respuesta del servidor y almacenar esa respuesta de forma transparente en el sistema de archivos local. Los métodos admitidos son HEAD, GET, DELETE, PUT, POST archivo y POST datos.

El Lara_R6_Example9 envía temperaturas aleatorias al RemoteHTTP-Server ThingSpeak. com usando HTTP POST o GET. ThingSpeak es un servicio de plataforma de análisis de IoT de MathWorks que ayuda a agregar, visualizar y analizar flujos de datos en directo en la nube. La Tabla 3 muestra la sintaxis del comando HTTP «POST datos».

TIPO SINTAXIS RESPUESTA EJEMPLO
Juego de AT+UHTTPC=,5,
,,,[,]
Aceptar AT+UHTTPC=0,5,»/path/file.html», «responseFilename»,»data»,0 OK

Tabla 3: «POST data» es el comando HTTP número 5 y tiene el formato que se muestra. (Fuente de la tabla: u-blox, modificado por el autor)

Este ejemplo se puede programar en un controlador host Arduino, que controla el módulo LARA-R6 en una placa EVK mediante comandos AT. Además, se necesita una tarjeta SIM configurada.

El programador debe crear una cuenta de usuario de ThingSpeak y configurar el campo 1 para el valor aleatorio de medida de temperatura a través de la opción de menú Canales > Mis canales > Nuevo canal. La correspondiente «Write API Key» se introduce en el programa principal, «LARA-R6_Example9_ThingSpeak.ino» en la variable myWriteAPIKey.

El programa principal en C++ genera un valor de temperatura aleatorio, forma la cadena de datos específicos de la nube y llama a la función de la biblioteca sendHTTPPOSTdata cada 20 segundos (Listado 1).

Copia
...
1  String myWriteAPIKey = "PFIOEXW1VF21T7O6"; // Change this to your API key
2  String serverName = "api.thingspeak.com"; // Domain Name for HTTP POST/GET
3  [...]


4  void loop()
5  {
6    // Create a random temperature between 20 and 30  
7    float temperature = ((float)random(2000,3000)) / 100.0; 
8
9
10   // Send data using HTTP POST
11   String httpRequestData = "api_key=" + myWriteAPIKey + "&field1=" + 
                                String(temperature);
12
13   Serial.print(F("POSTing a temperature of "));
14   Serial.print(String(temperature));
15   Serial.println(F(" to ThingSpeak"));
16        
17   // Send HTTP POST request to /update. The reponse will be written to 
        post_response.txt in the LARA's file system
18   myLARA.sendHTTPPOSTdata(0, "/update", "post_response.txt", httpRequestData,
                             LARA_R6_HTTP_CONTENT_APPLICATION_X_WWW);
19
20
21   // Send data using HTTP GET 
22      ==> see original code on Github
23
24   for (int i = 0; i < 20000; i++) // Wait for 20 seconds    
25   {
26     myLARA.poll(); // Keep processing data from the LARA so we can catch 
                            the HTTP command result
27     delay(1);
28   }
29  }
...

Listado 1: Este programa principal genera un valor de temperatura aleatorio y llama a la función de biblioteca sendHTTPPOSTdata cada 20 segundos. (Código fuente: Firechip en Github)

Generar la cadena de comandos AT llamando a funciones de biblioteca

La cabecera de la librería «Firechip_u-blox_LARA-R6_Arduino_Library.h» reenvía la llamada a la función sendHTTPPOSTdata al procedimiento de librería «Firechip_u-blox_LARA-R6_Arduino_Library.cpp», donde se genera y envía la cadena de comandos AT completamente formateada (Listado 2).

Copia
...
1  LARA_R6_error_t LARA_R6::sendHTTPPOSTdata(int profile, String path, 
                              String responseFilename, String data,  
                              LARA_R6_http_content_types_t httpContentType)
2  {
3    LARA_R6_error_t err;
4    char *command;
5
6    if (profile >= LARA_R6_NUM_HTTP_PROFILES)
7     return LARA_R6_ERROR_ERROR;
8
9    command = lara_r6_calloc_char(strlen(LARA_R6_HTTP_COMMAND) + 24 +
                                  path.length() + responseFilename.length()
                                  + data.length());
10   if (command == nullptr)
11     return LARA_R6_ERROR_OUT_OF_MEMORY;
12   sprintf(command, "%s=%d,%d,\"%s\",\"%s\",\"%s\",%d",
             LARA_R6_HTTP_COMMAND, profile, LARA_R6_HTTP_COMMAND_POST_DATA,
             path.c_str(), responseFilename.c_str(), data.c_str(),
             httpContentType);
13
14   err = sendCommandWithResponse(command, LARA_R6_RESPONSE_OK_OR_ERROR,
                                 nullptr, LARA_R6_STANDARD_RESPONSE_TIMEOUT);
15
16   free(command);
17   return err;
18 }
...

Listado 2: Este procedimiento de la librería C++ genera y envía la cadena de comandos AT completamente formateada (línea 12). (Código fuente: Firechip en Github)

El procedimiento de biblioteca LARA_R6::sendHTTPPOSTdata (Listado 2) utiliza los parámetros pasados de la llamada a la función myLARA.sendHTTPPOSTdata() (Listado 1) y las variables declaradas adicionalmente en la cabecera de la biblioteca para generar la cadena de comandos HTTP completa según la Tabla 3. Finalmente, el módem LARA-R6 envía la cadena de comandos AT resultante al Servidor ThingSpeak RemoteHTTP:

AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0

Conclusión:

Para la interconexión global de aplicaciones IoT y M2M de baja potencia, los módulos de radio multimodo LTE Cat 1 de la serie LARA-R6 son eficientes y rentables. Como se muestra, los desarrolladores tienen fácil acceso a todas las interfaces mediante el EVK y pueden configurar y controlar fácilmente los protocolos y funciones del módulo a través de comandos AT. Ofrece opciones sencillas para funcionar como módem de PC, enviar datos a la nube y generar cadenas de comandos AT mediante funciones de biblioteca.

Fuente: https://www.digikey.com.mx/es/articles/use-a-global-cellular-radio-module-connect-iot-devices-to-the-cloud