Use um módulo de rádio celular global para conectar dispositivos de IoT à nuvem de forma rápida e segura
Contributed By DigiKey's European Editors
2023-12-12
Para conectar dispositivos finais de rede portáteis ou remotos à Internet das Coisas (IoT) ou para controlar máquinas remotamente usando a comunicação de máquina a máquina (M2M), uma conexão de rádio móvel para troca de dados via nuvem é uma boa opção. No entanto, essa opção apresenta obstáculos para o desenvolvedor, como determinar quais redes sem fio podem suportar a taxa de transferência de dados exigida em todo o mundo e quais protocolos o modem sem fio deve ser capaz de manipular. A escalabilidade do sistema, a segurança dos dados, o custo, o tempo de lançamento no mercado e os custos de aquisição e operação incididos pelo usuário também devem ser considerados.
Este artigo explica resumidamente o que o LTE Cat 1 oferece aos desenvolvedores de aplicações IoT e M2M. Em seguida, ele apresenta os módulos de rádio da série LARA-R6 da u-blox, que oferecem conectividade universal e desempenho confiável. O artigo conclui mostrando como os desenvolvedores podem usar uma placa de teste (EVB) para configurar e controlar facilmente os módulos por meio de comandos AT e gerar cadeias de comandos AT por meio de funções de biblioteca.
LTE Cat 1 em comparação com LTE Cat 1bis, LTE Cat M e LTE Cat NB
Embora o rádio celular LTE agora atinja taxas de transmissão de gigabit, os protocolos de baixa potência e área ampla (LPWA), como LTE Cat 1, LTE Cat 1bis, LTE Cat M e LTE Cat NB, foram projetados para serem particularmente eficientes em termos de consumo de energia, recursos de rede e custo. Isso é extremamente importante para os dispositivos de IoT.
Fornecendo uma largura de banda de canal de até 20 megahertz (MHz) em full-duplex, o LTE Cat 1 atinge taxas de dados para download de até 10 megabits por segundo (Mbps) e taxas de dados para upload de até 5 Mbps. Duas antenas permitem a diversidade do receptor (Rx) para um melhor desempenho (Tabela 1). O LTE Cat 1bis usa uma única antena.
|
Tabela 1: Comparação de desempenho dos protocolos LPWA. O LTE CAT 1 usa duas antenas para diversidade Rx; o LTE Cat 1bis usa uma antena. (Fonte da imagem: Wikipedia, Jens Wallmann)
Rádio móvel LTE Cat 1 para disponibilidade global
A série LARA-R6 da u-blox é composta por módulos robustos de rádio celular projetados para os padrões LTE Cat 1 duplex por divisão de frequência (FDD) e duplex por divisão de tempo (TDD) da tecnologia de acesso via rádio (RAT). Eles são compatíveis com 3G UMTS/HSPA e 2G GSM/GPRS/EGPRS como uma solução alternativa. Esses módulos são uma excelente solução para cobertura global/multirregional e são fornecidos em um fator de forma pequeno LGA, medindo 26 x 24 milímetros (mm).
Equipados com interfaces versáteis, uma ampla variedade de recursos e capacidades multibanda e multimodo, os módulos LARA-R6 são adequados para aplicações que exigem velocidade média de dados, conectividade contínua, excelente cobertura e baixa latência. Essas aplicações incluem rastreamento de ativos, telemática, monitoramento remoto, centrais de alarme, vigilância por vídeo, saúde conectada e terminais de ponto de venda.
Todos os módulos suportam diversidade Rx para desempenho confiável em condições de cobertura difíceis ou quando a voz sobre LTE (VoLTE) é necessária. Os programadores podem aproveitar os protocolos de IoT incorporados (LwM2M, MQTT) e os recursos de segurança (TLS/DTLS, atualização segura e inicialização segura) para implementar várias funções, incluindo gerenciamento de dispositivos, controle remoto de dispositivos e atualizações seguras de firmware por via aérea (FOTA).
A série LARA-R6 é compatível com LTE Cat 1, de acordo com o lançamento 10 do 3GPP, e alcança cobertura global com três variantes regionais:
- Os módulos LARA-R6001-00B (dados e voz) e LARA-R6001D-00B (somente dados) suportam 18 bandas de frequência LTE FDD/TDD, além da alternativa 3G/2G para conectividade global.
- Os módulos LARA-R6401-00B (dados e voz) e LARA-R6401D-00B (somente dados) oferecem uma solução LTE Cat 1 ideal para a América do Norte, com suporte às bandas LTE da AT&T, FirstNet, Verizon e T-Mobile.
- Os módulos LARA-R6801-00B (dados e voz) e LARA-R6801D-01B (somente dados) foram projetados para implementações nas seguintes regiões: Europa e Oriente Médio (EMEA), Ásia-Pacífico (APAC), Japão (JP) e América Latina (LATAM) (Figura 1).
Figura 1: Três variantes regionais dos módulos LARA-R6 cobrem o globo. (Fonte da imagem: DigiKey, modificado pelo autor)
Visão geral dos recursos especiais do LARA-R6
Os módulos LARA-R6 integram um processador de banda base celular com interfaces externas, um transceptor de RF com amplificadores e filtros, memória e uma unidade de gerenciamento de energia (Figura 2).
Figura 2: Estrutura interna de um módulo LARA-R6. (Fonte da imagem: u-blox)
O transceptor de RF opera nas bandas de frequência de 700 MHz, 800 MHz, 850 MHz, 900 MHz, 1,7 GHz, 1,8 GHz, 1,9 GHz, 2,1 GHz e 2,6 GHz. Todos os protocolos de transferência de dados do processador de banda base para celular podem ser controlados e configurados por meio de comandos AT usando as interfaces UART e USB externas.
Protocolos
- Pilha dupla IPv4 e IPv6
- TCP/IP, UDP/IP, FTP e HTTP incorporados
- MQTT e MQTT-SN incorporados
- LwM2M incorporado
- eSIM e protocolo independente da portadora (BIP)
Os módulos LARA-R6 exigem uma tensão de alimentação de 3,1 a 4,5 volts e têm um consumo de corrente ociosa de cerca de 1,1 miliamperes (mA). Na operação 2G, os intervalos de tempo TDMA individuais podem atingir potências de transmissão de pico de mais de 33 decibéis com referência a 1 miliwatt (mW) (dBm) (> 2,0 watts), e todas as outras RAT atingem níveis de mais de 24 dBm (> 0,25 watts).
Uma excelente sensibilidade de antena de menos de -100 dBm, correspondente a potências de sinal de menos de 0,1 picowatts (pW), permite conexões de rádio estáveis na borda da rede móvel.
Avaliação e programação
A maneira mais rápida de começar a avaliar e programar um módulo LARA-R6 é usar uma EVB R6 (EVK-R6) e uma placa adaptadora LARA-R6 (ADP-R6) conectável para a região correspondente. Por exemplo, o EVK-R6001-00B para aplicações globais inclui a placa adaptadora conectável ADP-R6001-00B (voz + dados) e uma placa adaptadora GNSS (Figura 3).
Figura 3: LARA-R6 EVB (EVK-R6) com uma placa adaptadora LARA-R6 conectada (parte inferior) e uma placa GNSS (parte superior esquerda). (Fonte da imagem: u-blox)
A variante EVK-R6401-00B para a América do Norte inclui o adaptador ADP-R6401-00B, enquanto a EVK-R6801-00B para EMEA/APAC/JP/LATAM inclui o adaptador ADP-R6801-00B. As três placas adaptadoras já mencionadas para transmissão de voz e dados também estão disponíveis separadamente, assim como as versões apenas para transmissão de dados, incluindo a ADP-R6401D-00B (América do Norte) e a ADP-R6001D-00B (global).
A placa adaptadora R6 amplia o módulo LARA-R6 com duas antenas e dois conectores MiniUSB. A R6 EVB adiciona um módulo GNSS, um slot para cartão SIM, conexões de plug-in adicionais, jumpers, interruptores e uma fonte de alimentação aos periféricos do módulo (Figura 4).
Figura 4: Diagrama de blocos funcionais da R6 EVB com os adaptadores GNSS e LARA-R6 conectados. (Fonte da imagem: u-blox)
Cada kit contém uma EVB com uma placa adaptadora LTE Cat 1 LARA-R6 acoplada e um módulo GNSS da u-blox, um cabo USB, duas antenas de rádio móvel LTE, uma antena GPS/GLONASS e uma fonte de alimentação.
Comissionamento do EVK
O poderoso kit EVK-R6 da u-blox, fácil de usar, simplifica a avaliação de módulos celulares multimodo LTE Cat 1 / 3G / 2G. Um PC com Windows e o driver USB do LARA-R6 instalado controla o modem LARA-R6 por meio do conector USB e simplifica a instalação da conexão por meio das configurações do sistema. Para começar, o desenvolvedor precisa:
- Inserir o cartão SIM e conectar as duas antenas de celular e a antena GNSS.
- Configurar cuidadosamente os jumpers e as chaves do EVK.
- Aplicar a tensão de alimentação e ligar a chave de energia SW400 na EVB.
-
- Para operar como um modem de baixa taxa de dados por meio da interface "UART principal", conecte o PC ao jack MiniUSB J501 ou ao jack RS232 J500 no EVK.
- Para operar como um modem de baixa taxa de dados por meio de "Duas UARTs", conecte o PC à interface J201 do jack USB do celular na ADP.
- Para operação como um modem de alta taxa de dados via "USB de celular nativo", conecte o PC ao jack MiniUSB J105 na ADP.
- Pressionar o botão de ligar o celular SW302 na EVB.
- Executar um software aplicativo de terminal (como o m-center), acessar o menu de instalação da porta COM, escolher a porta AT correspondente a 4a, 4b ou 4c e definir esses valores: taxa de dados: 115.200 bps; bits de dados: 8; paridade: N; Bits de parada: 1.
Para obter mais detalhes, consulte o EVK-R6_UserGuide_UBX-21035387. A ferramenta m-center ajuda a avaliar, configurar e testar os produtos celulares u-blox e inclui um terminal de comando AT.
Conexão simples com a Internet usando um PC com Windows
Ao conectar um PC com Windows à EVK, o usuário pode estabelecer uma conexão de Internet sem fio de duas maneiras:
1: Uma conexão de pacote de dados em baixa velocidade: Usa a pilha TCP/IP do PC com Windows por meio da interface UART do módulo LARA-R6. O PC e a EVK são conectados de acordo com o método 4a. O desenvolvedor deve selecionar Telefone e Modem > Modems > Adicionar usando o Painel de Controle do Windows. A próxima etapa é marcar a caixa de seleção "Não detectar meu modem", selecionar "Modem padrão de 33,6 kbps" e alocar uma porta COM. Se necessário, o desenvolvedor pode adicionar Propriedades > Avançadas > Comandos de inicialização extras.
2: Uma conexão de pacote de dados em alta velocidade: Acessa a Internet usando a pilha TCP/IP do PC com Windows por meio da interface USB nativa de celular do módulo LARA-R6. O PC e a EVK são conectados de acordo com o método 4c. O desenvolvedor deve selecionar Centro de Rede e Compartilhamento > Configurar uma nova conexão ou rede por meio do Painel de Controle do Windows e clicar em "Conectar à Internet". A próxima etapa é selecionar "Dial-up" e uma das portas USB AT. A etapa final é inserir os parâmetros de discagem (número de discagem, nome do provedor, ID do usuário e senha).
Registro do cartão SIM na operadora de celular
Depois que o cartão SIM e o parâmetro MNO estão configurados, o módulo celular se registra automaticamente na rede celular após ser ligado. Se houver algum problema, o registro pode ser verificado manualmente usando os comandos AT mostrados na Tabela 2.
|
Tabela 2: Comandos AT de registro. (Fonte da tabela: u-blox, modificado pelo autor)
Comunicação com o servidor HTTP remoto por meio do comando AT
O repositório do GitHub "Firechip_u-blox_LARA-R6_Arduino_Library" contém uma extensa biblioteca de comandos AT para os módulos LARA-R6, escritos em C++ para controladores Arduino. Dezesseis exemplos de aplicações, incluindo testes de ping, registro, comutação de pacotes, SMS, GNSS e nuvem IoT, fornecem sugestões de estruturas de código personalizadas.
Os comandos AT também podem enviar solicitações a um servidor HTTP remoto durante uma conexão ativa, receber a resposta do servidor e armazenar essa resposta de forma transparente no sistema local de arquivos. Os métodos compatíveis são HEAD, GET, DELETE, PUT, arquivo POST e dados POST.
O Lara_R6_Example9 envia temperaturas aleatórias para o RemoteHTTP-Server ThingSpeak.com usando HTTP POST ou GET. O ThingSpeak é um serviço de plataforma de análise de IoT da MathWorks que ajuda a agregar, visualizar e analisar fluxos de dados ao vivo na nuvem. A Tabela 3 mostra a sintaxe do comando HTTP "POST data".
|
Tabela 3: "POST data" é o comando HTTP número 5 e está formatado como mostrado. (Fonte da tabela: u-blox, modificado pelo autor)
Esse exemplo pode ser programado em um controlador hospedeiro Arduino, que controla o módulo LARA-R6 em uma placa EVK por meio de comandos AT. Além disso, é necessário um cartão SIM configurado.
O programador deve criar uma conta de usuário do ThingSpeak e definir o campo 1 para o valor aleatório de medição de temperatura por meio do item de menu Canais > Meus canais > Novo canal. A "Chave de escrita API" correspondente é inserida no programa principal, "LARA-R6_Example9_ThingSpeak.ino", na variável myWriteAPIKey.
O programa principal em C++ gera um valor de temperatura aleatório, forma a cadeia de dados específica da nuvem e chama a função de biblioteca sendHTTPPOSTdata a cada 20 segundos (Listagem 1).
Copiar
...
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 }
...
Listagem 1: Esse programa principal gera um valor de temperatura aleatório e chama a função de biblioteca sendHTTPPOSTdata a cada 20 segundos. (Fonte do código: Firechip no Github)
Gere a cadeia de comandos AT chamando as funções da biblioteca
O cabeçalho da biblioteca "Firechip_u-blox_LARA-R6_Arduino_Library.h" encaminha a chamada de função sendHTTPPOSTdata para o procedimento da biblioteca "Firechip_u-blox_LARA-R6_Arduino_Library.cpp", onde a cadeia de comando AT totalmente formatada é gerada e enviada (Listagem 2).
Copiar
...
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 }
...
Listagem 2: Esse procedimento da biblioteca C++ gera e envia a cadeia de comandos AT totalmente formatada (linha 12). (Fonte do código: Firechip no Github)
O procedimento da biblioteca LARA_R6::sendHTTPPOSTdata (Listagem 2) usa os parâmetros passados da chamada de função myLARA.sendHTTPPOSTdata() (Listagem 1) e variáveis declaradas adicionalmente do cabeçalho da biblioteca para gerar a cadeia completa de comandos HTTP de acordo com a Tabela 3. Por fim, o modem LARA-R6 envia a cadeia de comandos AT resultante para o servidor ThingSpeak RemoteHTTP:
AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0
Conclusão
Para a rede global de aplicações IoT e M2M de baixa potência, os módulos de rádio multimodo LTE Cat 1 da série LARA-R6 são eficientes e econômicos. Conforme mostrado, os desenvolvedores têm acesso imediato a todas as interfaces usando a EVK e podem configurar e controlar facilmente os protocolos e as funções do módulo por meio de comandos AT. Isso oferece opções simples para operar como um modem de PC, enviar dados para a nuvem e gerar cadeias de comandos AT por meio de funções de biblioteca.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.


