- consumo de energia muito baixo
- excelente faixa estendida em edifícios e subterrâneos
- implantação fácil na arquitetura de rede celular existente
- segurança e confiabilidade da rede
- menor custo de componentes
NB-IoT explicado: um guia completo para Narrowband-IoT
A banda estreita IoT ou NB-IoT é um padrão de comunicação sem fio para a Internet das Coisas (IoT). O NB-IoT pertence à categoria de redes de longa distância de baixa potência ( LPWAN ), permitindo conectar dispositivos que precisam de pequenas quantidades de dados, baixa largura de banda e bateria de longa duração.
O NB-IoT (Narrowband-IoT) é uma tecnologia de rádio de banda estreita para dispositivos e aplicativos M2M e Internet das Coisas (IoT) que requerem transmissão sem fio em uma faixa mais extensa a um custo relativamente baixo e usando pouca energia para a vida útil da bateria.
Em aplicativos NB-IoT, normalmente pequenas quantidades de volume de dados precisam ser transmitidas com pouca frequência. A NB-IoT tornou-se um padrão para esse tipo de comunicação sem fio em 2016 e, nos últimos anos, as operadoras móveis têm sido, e muitas ainda estão implantando recursos de rede, permitindo a cobertura de IoT de banda estreita para seus clientes.
Os aplicativos de IoT que requerem comunicações mais frequentes serão mais bem atendidos pelo NB-IoT, que não possui limitações de ciclo de operação que operam no espectro licenciado (ABI Research)
NB-IoT é, entre outros, também conhecido como LTE Cat-NB. Outros termos, como LTE Cat-NB1 e Cat N1, se aplicam à especificação NB-IoT lançada em 2016. Hoje, também existem dispositivos Cat N2 ou Cat NB2 que usam as especificações aprimoradas de NB-IoT que vieram mais tarde e estão atualmente em trânsito para comercialização.
NB-IoT se enquadra na categoria de padrões e protocolos de rede LPWA (LPWAN) . Esse é o nome usado para muitos tipos de padrões de comunicação de IoT sem fio na pilha de IoT que permitem usar dispositivos com baterias para transmissão em uma área ampla (rede de área ampla ou WAN, neste caso WWAN ou WAN sem fio) com energia relativamente baixa (portanto o 'LP') para transmissões pouco frequentes, principalmente de pequeno volume de dados.
Segundo a ABI Research, até 2026, o NB-IoT e o LTE-M capturarão mais de 60% das 3,6 bilhões de conexões de rede LPWA. Dos 40% restantes, LoRa e Sigfox serão responsáveis por mais de 80% das conexões de rede LPWA não celular.
NB-IoT: a resposta da indústria móvel ao LPWAN não celular
O NB-IoT e dois outros padrões da família LPWAN (embora nem todos concordem que todos pertencem a essa família, embora seja amplamente aceito) são os primeiros e, por muitos anos, apenas os padrões celulares da LPWAN (com 5G no horizonte) .
Celular significa simplesmente que eles usam tecnologias celulares, assim como smartphones, por exemplo. Uma célula é essencialmente uma área coberta por um site de célula e, quando você viaja, há uma transferência entre células.
Os dois outros padrões de celular LPWAN são eMTC (agora geralmente chamado de LTE-M) e EC-GSM-IoT. Juntos, esses padrões costumavam ser chamados de 'IoT móvel', embora esse termo seja confuso, pois as tecnologias celulares móveis mais antigas já eram e muitas vezes ainda são usadas para M2M e IoT.
Do ponto de vista prático, a conseqüência da chegada dos padrões de celular LPWAN é que as operadoras móveis - celulares - tradicionais oferecem NB-IoT (geralmente em cima de um não celular, principalmente LoRaWAN e / ou ao lado de LTE-M) e não celular. alguns benefícios / conseqüências inerentes às tecnologias de rede celular (por exemplo, QoS ou Qualidade de Serviço) e ao trabalho com redes de operadoras e seus ecossistemas comerciais.
Os chamados padrões LPWAN não celulares estão disponíveis em vários tipos de empresas e players, dependendo da sua região. No caso de um desses padrões não celulares, LoRa, você encontrará muitas operadoras de telefonia móvel por razões históricas, práticas e comerciais, o que nos levaria muito longe para o escopo de um artigo sobre NB-IoT . Outras opções não celulares sobre o LoRa e o LoRaWAN incluem o Sigfox. LoRa e Sigfox representam a maioria das conexões LPWAN não celulares (e até pelo menos 2023, e provavelmente mais tarde, o total de conexões LPWAN).
O NB-IOT PODE SER IMPLANTADO 'DENTRO DA BANDA', UTILIZANDO BLOCOS DE RECURSOS EM UMA OPERADORA LTE NORMAL OU NOS BLOCOS DE RECURSOS NÃO UTILIZADOS NA FAIXA DE GUARDA DE UMA OPERADORA LTE OU 'AUTÔNOMO' PARA IMPLANTAÇÕES EM ESPECTRO DEDICADO
Assim como outros padrões celulares, o NB-IoT usa espectro licenciado (as tecnologias de rede LPWA não celular usam espectro não licenciado). O NB-IoT usa um subconjunto de LTE (Long-Term Evolution, digamos um padrão para banda larga sem fio 4G, embora isso seja uma simplificação) e pode ser implantado de três maneiras diferentes.
Caso você esteja familiarizado com uma ou mais das opções LPWAN não celulares, como LoRa (WAN), poderá ver o NB-IoT como a resposta mais imediata da indústria móvel a essas ofertas.
NB-IoT e IoT maciça
Na prática, você verá principalmente comparações entre NB-IoT e LTE-M, embora essas sejam as duas opções que o ecossistema da indústria móvel de fabricantes, provedores de serviços e operadoras de rede pressionando, desejem que você selecione entre e porque faz sentido do perspectiva celular.
Caso a LPWAN seja nova para você, ou quando você vê alguém afirmando que é nova, isso não ocorre porque efetivamente é uma nova categoria de comunicação IoT sem fio, mas porque, após muitos anos de atraso, principalmente relacionados a diferentes tecnologias sendo propostas e as opções de negócios da indústria móvel, as redes celulares LPWA estão aqui em muitas regiões.
Às vezes, o LPWAN também é categorizado sob o termo Massive IoT, outro termo do setor que significa apenas os "bilhões" de dispositivos que normalmente transmitem pequenas quantidades de volume de dados, frequentemente enviados a intervalos (portanto, sem transmissão constante, mas agora e depois) e com a necessidade para bateria de longa duração, como o NB-IoT e outros.
Antes de falar sobre especificações, casos de uso, desenvolvimentos e muito mais, algumas palavras sobre as especificações e a padronização que podem ajudar a entender alguns detalhes, caso você esteja interessado. O corpo de padronização da indústria móvel (celular) , conhecido como 3GPP (3rd Generation Partnership Project) , trabalha com 'lançamentos' numerados, nos quais as especificações de novos padrões e aprimoramentos são congeladas em um momento específico. Esses lançamentos abrangem vários membros de tecnologias móveis (a indústria móvel) que trabalharam.
- As especificações do NB-IoT foram congeladas no 'release 13': LTE Cat-NB1.
- Com o release 14, as especificações aprimoradas mencionadas anteriormente foram adicionadas: LTE Cat-NB2 (e muito mais acrônimos para o mesmo).
- Os modos de economia de energia que podem ser usados nos padrões remontam a uma versão anterior.
NB-IoT e LTE-M: algumas diferenças entre as principais opções celulares de LPWAN
Vejamos algumas diferenças típicas entre NB-IoT e LTE-M, já que essa é uma pergunta freqüente sem ser muito técnica (por enquanto, detalhes técnicos mais detalhados serão adicionados) .
Importante antes de começarmos, mesmo que seja óbvio: quando você quiser saber quais padrões de comunicação LPWAN ou, mais amplos, de IoT se ajustam melhor às suas necessidades e se o NB-IoT é adequado para o seu projeto, não basta olhar para os recursos e especificações técnicas. Além disso, tenha cuidado com as fontes das informações que você procura como interesses comerciais hoje em dia são altas.
Embora as implementações iniciais tenham se concentrado até agora em verticais tradicionais, como a medição inteligente, esperamos que o NB-IoT seja integrado a um conjunto mais amplo de produtos em 2019-2020, incluindo eletrodomésticos, fechaduras e detectores de fumaça (Fredrik Stalbrand, Senior Analista, Berg Insight)
Sempre, entre em contato com um parceiro de confiança da (s) região (ões) que deseja cobrir com seu aplicativo. Os recursos geralmente são expressos em possibilidades e máximos teóricos, sem considerar as maneiras como seu aplicativo é configurado.
Isso ocorre principalmente com velocidades e duração da bateria (existem várias maneiras de economizar energia, mas algumas podem não se adequar ao seu caso) . A conectividade também se encaixa em uma imagem mais ampla e, finalmente, a confiabilidade, a qualidade e o gerenciamento da rede, bem como o roteiro do seu parceiro em potencial e do ecossistema de parceiros. De fato, há grandes chances de você já trabalhar com um parceiro no ecossistema de operadoras ou provedores de conectividade para outros projetos. O caso de negócios e o sucesso do seu projeto são essenciais.
Com isso dito, algumas características do NB-IoT em comparação com o LTE-M e outras opções de rede LPWA.
NB-IoT: menos 'poderoso' que o LTE-M
Dos dois principais padrões de LPWAN para celular que estão disponíveis nas redes atualmente (NB-IoT e eMTC / LTE-M) , o NB-IoT é o menos 'poderoso' em termos de velocidade, recursos de transferência de dados, suporte para uso verdadeiramente móvel casos e mais; em outras áreas, é melhor.
A CONFIGURAÇÃO DA ARQUITETURA DE DADOS NB-IOT E OS PRINCIPAIS RECURSOS PODEM AFETAR O DESEMPENHO DE UM DISPOSITIVO NB-IOT, SEU CUSTO E ATÉ SUA CAPACIDADE DE ROAMING
Em geral, isso significa que o NB-IoT será usado mais em aplicativos que se assemelham aos implantados em projetos nos quais padrões não celulares são frequentemente encontrados. Os exemplos incluem agricultura inteligente, várias aplicações de cidades inteligentes (por exemplo, estacionamento inteligente, iluminação pública inteligente, gerenciamento de resíduos) , algumas aplicações domésticas inteligentes , medidores inteligentes (e dada penetração interna, veja abaixo, submissão ), automação de fabricação, aplicações de redes inteligentes , detectores de fumaça , aplicações IoT industriais ( IIoT ) com muitos dispositivos de baixa potência, também na indústria 4.0, por exemplo, com monitoramento de condições e atémanutenção preditiva , bloqueios inteligentes, monitoramento ambiental, rastreadores e muito mais.
Portanto, de fato, uma ampla variedade já que muitas categorias de casos de uso contêm muito mais e essa lista não é exaustiva. E, de fato, em grande parte, uma sobreposição entre casos de uso em LPWAN não celular e NB-IoT. No entanto, existem outros elementos também.
Latência de NB-IoT
O NB-IoT é menos adequado para circunstâncias em que a latência da rede precisa ser muito baixa quando comparada ao LTE-M.
AS VANTAGENS DA TECNOLOGIA NB-IOT INCLUEM BAIXO CONSUMO DE ENERGIA E ALTA CONFIABILIDADE EM ÁREAS COM DESAFIOS DE COBERTURA
Portanto, você encontrará menos em aplicativos em que dados em tempo quase real possam ser necessários; nesse caso, o LTE-M é mais adequado. O NB-IoT e o LTE-M têm um papel importante no caminho para o 5G, onde a latência de rede extremamente baixa permite casos de uso que precisam de velocidade e geralmente são críticos. A escolha do padrão de comunicação não é o único elemento aqui. A propósito: se você precisa analisar rapidamente dados específicos de sensores por um motivo ou outro, e isso não se refere especificamente às tecnologias de comunicação, observe a computação de ponta e a IoT . Essencialmente, a computação de ponta permite que você analise os dados mais perto da fonte e antes que haja qualquer comunicação com alguma nuvem ou datacenter (se necessário) .
De volta ao NB-IoT: a latência geralmente é igual ou inferior a 10 segundos (cerca de 1,6 a 10 segundos) . Com o LTE-M, falamos de atrasos de 100 a 150 ms.
NB-IoT e mobilidade
Ao contrário do LTE-M, o NB-IoT não oferece suporte total à mobilidade (o LTE-M também suporta voz). Isso se refere às nossas células e à transferência, embora tenha havido alterações desde o 3GPP Release 13 (o Release 14 tem algumas melhorias, como em muitas características do NB-IoT) .
Ainda assim, o NB-IoT é mais prevalente em aplicativos e casos de uso com ativos e dispositivos fixos (estacionários) . Você deve ter notado isso nos tipos de aplicativos e casos de uso mencionados acima. Atenção: isso não significa que o NB-IoT não possa ser usado para ativos e dispositivos móveis, como às vezes ouvimos; é apenas limitado. Existem, por exemplo, aplicativos NB-IoT em tempo real com rastreadores, aplicativos de bicicleta compartilhados, aplicativos ambientais com um componente móvel, mas com pouco rendimento, logística inteligente e muito mais.
Um pouco mais técnico: com o NB-IoT, o dispositivo precisa selecionar novamente a célula à medida que viaja; com LTE-M, este não é o caso. Portanto, é muito menos adequado para dispositivos móveis (e a nova seleção de células afeta a vida útil da bateria, pois consome energia) . Em geral, ativos fixos, como medidores inteligentes ou terminais de ponto de venda, para adicionar outro, são a área típica do NB-IoT, mas não a única - e para 'mobilidade real e sem interrupções', é o LTE-M.
NB-IoT: foco na eficiência energética
O NB-IoT também está mais focado no uso de baixa energia e, portanto, em baixa energia que o LTE-M, o que também está relacionado ao fato de que o LTE-M é a opção mais poderosa.
Isso é essencial para o seu projeto de IoT. Se você usar muitos dispositivos de IoT com baterias, o custo total do seu projeto aumentará se essas baterias precisarem ser substituídas mais rapidamente. Um exemplo mencionado por Tom Casaer, cuja empresa AllThingsTalk trabalha com muitos operadores para a implantação de suas redes LPWA e oferece: na Holanda, há um projeto de IoT com armadilhas para ratos para proteger os muitos diques no país . Se você precisar substituir as baterias em todo o hardware desse projeto ou similar, os custos são altos porque isso é um trabalho manual, é um serviço. Portanto, quanto maior a vida útil da bateria, maior o ROI e o valor geral do caso de negócios. Uma energia muito baixa também significa muito mais casos de uso possíveis com um número potencialmente vasto de dispositivos.
NB-IoT teoricamente oferece até ou pouco mais de 10 anos de duração da bateria. É melhor que o LTE-M a esse respeito. Cuidado, pode demorar muito menos de dez anos para que você possa ter uma grande surpresa (lemos sobre alguns casos alarmantes, mas você precisará verificar com seu parceiro o seu projeto) .
Configurações amplas para o seu aplicativo definirão a vida útil da bateria, incluindo o uso das opções de economia de energia (eDRX e PSM ou Modo de economia de energia), abordadas em detalhes mais adiante, ou o uso dos recursos NB-IoT em seu projeto, como como resseleção de células, como mencionado e mais, alguns exemplos abaixo. Até 10 anos (e muitos dizem que um pouco mais é possível) é marketing e, a todo momento, seu aplicativo deve ser verificado quanto a configurações e opções que possam consumir energia, talvez mesmo sem saber, onde isso não é necessário. Ah: isso também depende das baterias e de como elas podem evoluir, é claro, e, sim, existem maneiras de aumentar a vida útil da bateria e inovações específicas em fontes de energia.
eEDX
eDRX informa quanto tempo o dispositivo dorme em conexão contínua. O dispositivo precisa receber dados, mas pode informar à rede que verifica se há mensagens recebidas, por exemplo, apenas a cada 200 segundos. Ele pode receber mensagens, mas apenas nos momentos determinados para permitir períodos de descanso para economia de bateria. Esses valores de tempo são muito estendidos em comparação com a transmissão de dados 4G normal - daí o nome.
Este recurso atende dispositivos que precisam de latências menores. Uma conexão é mantida aberta o tempo todo, mas o modem atinge um estado de hibernação entre os horários de recepção. A conexão de dados, se estiver usando IPv4, pode precisar de mensagens de manutenção de atividade periódicas para manter o mapeamento de tradução de endereço de rede válido.
Um aplicativo fornece configuração eDRX ao modem que o negocia com a rede. O horário aceito pela rede pode ser diferente do horário solicitado. A disponibilidade dessa otimização depende da rede celular.
PSM
Os novos modems 4G que implementam as especificações da versão 13 e posteriores incluem PSM. O PSM permite que o aplicativo informe ao modem e à rede que não espera nenhum dado em um determinado intervalo de tempo, o periodic_time. O modem e a rede podem otimizar o estado de suspensão e as reservas de recursos da rede com base nessas informações. Durante o tempo de PSM, nada pode entrar em contato com o dispositivo do lado da rede. O aplicativo ainda pode enviar a qualquer momento. O tempo de PSM pode ser horas, dias ou semanas.
Deve-se informar quantos segundos o dispositivo espera para receber mensagens depois de enviar dados ou quando o tempo periódico expirou. Se o dispositivo enviar um relatório ao sistema de gerenciamento, o dispositivo aguardará no estado de escuta pelo período de tempo configurado. Ouvir mantém o rádio ligado no modem, por isso consome mais energia do que o estado ocioso.
Esse recurso oferece grande economia de energia para relatórios periódicos de dispositivos. Entre os relatórios, o dispositivo está no estado PSM com o modem no estado de hibernação. A latência de contato com o dispositivo é o período PSM.
A configuração do PSM é negociada com a rede e o tempo real do PSM que a rede aceita pode ser diferente do solicitado.
NB-IoT e penetração interna / subterrânea
Um fator essencial para você pode ser os recursos de penetração interna do NB-IoT (e o alcance aprimorado em geral) .
ESTIMA-SE QUE UMA CÉLULA DA ESTAÇÃO BASE NB-IOT TENHA CAPACIDADE PARA SUPORTAR MILHARES DE DISPOSITIVOS USANDO UMA CONEXÃO NB-IOT
Um exemplo normalmente usado pela indústria é o de medidores inteligentes em porões (lembre-se de submeterering) da perspectiva da penetração em ambientes internos. Também é razoável usar esse exemplo, pois os medidores inteligentes dirigem o mercado LPWAN (mas isso significa que TODAS as abordagens e os padrões, incluindo opções não celulares e medidores inteligentes, podem significar muitas coisas, para que você possa ter tecnologias diferentes usadas para medidores diferentes em diferentes aplicações em uma - mais ou menos - mesma região por várias razões, o que novamente nos levaria longe demais) .
Como o NB-IoT usa banda estreita (ou uma largura de banda mais estreita e uma única banda estreita de 200KHz ou 180KHz para ser mais preciso), ele permite uma densidade aumentada de potência de transmissão e que, junto com outros recursos de aprimoramento de cobertura, é o que faz a penetração em ambientes internos e alcance globalmente melhor .
Pense em edifícios, remotos e difíceis de alcançar em locais e até subterrâneos até certo ponto. O LTE-M também é adequado para cobertura interna, mas o NB-IoT é melhor. Informações técnicas sobre alcance e penetração ou, em uma palavra, cobertura: a perda máxima de acoplamento de NB-IoT é de 164 dB, que é um orçamento de link de 20 dB melhor em comparação ao GPRS.
Mais recursos NB-IoT
Outras características: O NB-IoT não oferece o mesmo grau de bidirecionalidade que o LTE-M (half-duplex).
Ele permite atualizações de firmware por via aérea ( mas novamente com impacto no consumo de energia e, portanto, nesses dez anos) e, como tecnologia celular, traz benefícios em relação à qualidade de serviço (QoS) e segurança.
A taxa média de dados (velocidade de downlink e velocidade de ligação ascendente) obviamente depende, e várias taxas médias de dados foram relatadas. Eles geralmente são inferiores aos máximos, é claro.
NB-IoT entre regiões
O NB-IoT foi implantado inicialmente na Europa e na Ásia. Assim como acontece com muitos protocolos de IoT sem fio, não apenas do tipo LPWAN, o principal mercado de NB-IoT de longe hoje é a China.
ATÉ 2026, O NB-IOT E O LTE-M CAPTURARÃO MAIS DE 60% DAS 3,6 BILHÕES DE CONEXÕES DE REDE LPWA
Nos EUA e na América do Norte, as operadoras implantaram primeiro as redes LTE-M. Embora a maioria inicialmente não pretendesse, eles também lançaram uma oferta de NB-IoT agora, alguns como AT&T e Verizon em 2019. Na Europa, muitos operadores estão atualmente trabalhando mais no LTE-M após seus lançamentos de NB-IoT. Alguns oferecem LPWAN não celular (LoRa) em combinação com LTE-M e, de vez em quando, também com NB-IoT. As estratégias diferem, não apenas por operador, mas também por vezes por operador por país, por razões locais.
Todas essas evoluções não são tão surpreendentes ou estranhas quanto possam parecer. Há também várias razões pelas quais, nos EUA, as operadoras começaram com LTE-M e lançaram o NB-IoT mais tarde, mesmo que não quisessem. Quais redes celulares existiam onde e quais redes estavam (prestes a ser) desligadas é uma das razões.
Entre as razões pelas quais o LTE-M foi recomendado e implantado pela primeira vez nos EUA, está o fato de que já havia uma cobertura onipresente de 4G na América do Norte. O LTE-M é essencialmente uma versão "leve" do LTE.
NB-IoT era um jogo diferente. Você poderia dizer que é 'novo', com vários formatos propostos a partir de 2014. Ele reutiliza várias técnicas do LTE e foi projetado para oferecer uma alternativa celular aprimorada aos padrões LPWA não celulares existentes, com suporte para vários cenários de mercado diferentes da situação nos E.U.A.
As implantações de NB-IoT estão atrasadas há vários anos e ainda o são. Alguns operadores esperam e vêem a atitude por vários motivos. Alguns jogadores têm sido muito otimistas em relação à NB-IoT e como ela substituirá as ofertas não celulares, mas a última não acontecerá no curto prazo, como previsto há muitos anos.
Mencionaremos alguns, porque hoje eles ainda têm um impacto (ou podem ter um quando você lê isso) e, de resto, é como com todos os padrões de rede e 'guerras' que tivemos ao longo do tempo: é bom saber se você se importa , muita coisa está escrita, mas quando as coisas se esclarecem e os 'vencedores' são aparentes após alguns anos, apenas os especialistas se lembram e, para as empresas que usam os padrões / redes, isso não importa, pois a conectividade se torna onipresente e uma mercadoria.
Elementos que desempenham um papel e parecem dignos de menção:
Havia várias propostas para NB-IoT. Em uma delas, as empresas que a promoveram queriam trabalhar mais no LTE-M. Outro queria construir o NB-IoT mais ou menos do zero com uma tecnologia desenvolvida por uma empresa chamada Neul.
Ambos foram retidos, problemas de compatibilidade foram o resultado e, embora negados por alguns e enfatizados por outros, o fato é que esses desafios levaram a problemas e afetaram o mercado.
Dos 114 provedores de serviços identificados como lançando pelo menos uma das tecnologias NB-IoT ou LTE-M em outubro de 2019, quase 25% lançaram os dois
Dado o fato de que o NB-IoT (e o LTE-M) na prática para muitos ainda são relativamente novos, e também há muitas empresas envolvidas no ecossistema de componentes e hardware, houve vários problemas. De fato, de acordo com a ABI Research (junho de 2019) , os problemas com o hardware de rede e os módulos de conectividade persistiram em 2018 e ainda são abordados em 2019.
Outro desafio é o que você sempre verá no setor móvel (e outros) : dinheiro, margens e, portanto, também prioridades. As redes de área ampla de baixa potência não representam um mercado enorme em termos de gastos (os custos precisam ser baixos) .
Este não é apenas um fator que desempenhou um papel nas decisões de partes interessadas, como operadores, mas também no nascimento do ecossistema LPWAN, para começar (o não celular, ou seja)
Havia também pouca crença no setor de que não haveria uma oportunidade e operadores reais do mercado LPWAN, e o setor como um todo olhou mais para as oportunidades de receita mais significativas do momento (e futuro), o que certamente estava além da IoT. Além disso, as tecnologias celulares (caras) existentes foram usadas pelos clientes (e ainda hoje representam de longe a maioria das conexões).
No entanto, um mercado é um mercado e, mais cedo ou mais tarde, os concorrentes, nesse caso não celular, começam a construir um pequeno mercado interessante que você perde se, como player celular móvel, você não age. Por isso, por que muitos operadores oferecem uma opção de banda não licenciada por enquanto, pelo menos por agora e por que muitos podem continuar por algum tempo, diante do desafio anterior. No entanto, também é difícil para as operadoras monetizarem o NB-IoT, a menos que estejam em boa posição com parceiros, serviços e situações do mercado local. Mas, mesmo assim, continua difícil. E isso está novamente relacionado aos custos, cartões SIM e principalmente aos custos que você não vê. E, convenhamos, ainda não é como se a IoT fosse mainstream se você visse o mercado como um todo (global e incluindo PMEs).
Roaming NB-IoT: os primeiros passos
Agora que as operadoras de rede móvel estão implantando cada vez mais suas redes NB-IoT, elas também iniciam acordos de roaming entre operadoras, assim como fizeram com o roaming LTE-M .
O NB-IOT OPERA NO ESPECTRO LICENCIADO E, COMO O LTE, USA O ACESSO MÚLTIPLO POR DIVISÃO DE FREQUÊNCIA (FDMA) NO UPLINK, O FDMA ORTOGONAL (OFDMA) NO DOWNLINK E A MODULAÇÃO QPSK ( QUADRATURE PHASE SHIFT KEYING )
Um primeiro contrato de roaming foi assinado no final de outubro de 2019 pela AT&T e pela Vodafone Business, permitindo o roaming de NB-IoT nos EUA e em partes da Europa, em particular as redes da Vodafone na Espanha, Alemanha, Itália, Reino Unido e Holanda. Ainda não é realmente um roaming massivo, mas o acordo de roaming entre as duas operadoras cria a maior presença de NB-IoT em todo o mundo, disponível para clientes de ambas as operadoras desde o final de 2019.
Obviamente, mais acordos de roaming NB-IoT seguirão, permitindo operações em várias redes com um único SIM. De fato, a Vodafone Business e a AT&T, que também foram os principais iniciadores do primeiro contrato de roaming LTE-M, dizem que desejam expandir suas pegadas de roaming para ambas as grandes tecnologias celulares de IoT em um nível semelhante ao 4G em todo o mundo.
NB-IoT - o número de conexões e redes
Esta página do NB-IoT está evoluindo está longe de ser exaustiva, pois ainda abordaremos todos os detalhes técnicos e mais maneiras pelas quais o NB-IoT é usado hoje.
O NB-IoT ainda não é mainstream. Se você estiver interessado na realidade do uso de NB-IoT, é essencial diferenciar entre lançamentos de rede NB-IoT e o número de operadores que oferecem NB-IoT, por um lado, e conexões reais, por outro.
Embora isso possa parecer óbvio e ande de mãos dadas com os esforços de marketing, nesta etapa, é fundamental que você possa obter imagens muito diferentes sobre o estado da NB-IoT. Esta página será atualizada para refletir o mercado em evolução e fornecer mais informações sobre NB-IoT.
Então, quantas conexões e redes NB-IoT existem? Segundo uma atualização da GSMA, havia 34 redes LTE-M e 89 redes NB-IoT. No final de outubro de 2019, o Ericsson Mobility Report de novembro de 2019 citou dados do GSA indicando que no total existem 114 provedores de serviços que oferecem conectividade IoT massiva, com quase 25% deles lançando o NB-IoT e o LTE-M.
Como você pode ler em nosso artigo sobre IoT massiva e o relatório da Ericsson , a empresa espera que, até o final de 2025, o NB-IoT e o Cat-M / LTE-M representem 52% das conexões celulares da IoT.
GUIA DO DESENVOLVIMENTO DE IoT (ÓTIMO MATERIAL)
Tradução
ARTIGO I
ARTIGO II
ARTIGO III
AN DE DESENVOLVIMENTO
Tradução
ati9
L0.0.00.00.05.08,A.02.04
Firmware
at+cfun=4
4: disables both transmit and receive RF circuits by deactivating both CS and PS services and sets the MT into airplane mode
at+umnoprof=100
Mobile Network Operator (MNO) configuration
at+cfun=15
To reset the module
at
OK
at+cedrxs=0
use of eDRX disabled
at+cedrxs=3,2
disable the use of eDRX and reset all parameters for eDRX to factoryprogrammed values
at+cedrxs=3,4
4: E-UTRAN (WB-S1 mode)
at+cedrxs=3,5
5: E-UTRAN (NB-S1 mode)
at+cpsms=0
disable the use of PSM
at+upsv=0
0 (default and factory-programmed value): power saving disabled
at+urat=7
Indicates the radio access technology and may be:
LTE CAT-M1, B
at+ubandmask=0,134217732
VIVO ?
at+ubandmask=1,134217732
VIVO ?
at+cfun=15
To reset the module
at+cfun=4
4: disables both transmit and receive RF circuits by deactivating both CS and PS services and sets the MT into airplane mode
at+cgdcont=1,"IPV4V6","smart.m2m.vivo.com.br" <- se você recebeu um APN diferente, altere a seção destacada para o valor correto
Defines the connection parameters for a PDP context
at+cgdcont?
Check current APN
at+umnoprof?
Check selected MNO Profile
at+cedrxs?
The following command example reads the requested eDRX value
at+cfun=1
Turn on the radio
at+cmee=2
Set verbose error values
at+cereg=2
network registration and location information
at+creg=2
network registration and location information
***now wait until the module registers***
at+cops? <- this will show the carrier name
at+cgdcont? <- this will show an IP address
SARA-R4 AT commands manual (u-blox.com)
SEQUÊNCIA DE COMANDOS AT CLÁSSICA (support)
AT+CFUN=4
AT+UMNOPROF=100
AT+CFUN=15
<module will reboot>
AT+CEDRXS=0
AT+CEDRXS=3,2
AT+CEDRXS=3,4
AT+CEDRXS=3,5
AT+CPSMS=0
AT+UPSV=0
AT+URAT=7,8 <- (7 = M1, 8 = NB1)
AT+UBANDMASK=0, 134217732
AT+UBANDMASK=1, 134217732
AT+CFUN=15
<module will reboot>
AT+CFUN=4
AT+CGDCONT=1,”IPV4V6”,”kiteiot.vivo.com.br”
AT+CFUN=1
AT+CEREG=2
AT+CGREG=2
AT+CREG=2
AT+CMEE=2
AT+CEDRXS?
AT+CPSMS?
<You may need to wait a short amount of time here>
AT+COPS? should eventually show the network identifier
For example: +COPS: 0,0,"Verizon ",7
If the module does not connect, confirm the network is available:
AT+COPS=?
AT+CGDCONT? should eventually show an IP address
For example: +CGDCONT: 1,"IPV4V6","vzwinternet","100.70.56.3 38.0.16.3.176.17.105.53.0.0.0.80.181.201.129.1",0,0,0,0
TESTES DE UM CLIENTE COM CARTÃO TIM COM SARA R410
[10:33:13.483] rx: at+cgdcont=1,"IPv4v6","nbiot"
[10:33:13.516] tx:
[10:33:13.516] tx: OK
[10:33:29.083] rx: at+cgdcont?
[10:33:29.103] tx:
[10:33:29.103] tx: +CGDCONT: 1,"IPV4V6","nbiot","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
[10:33:29.103] tx:
[10:33:29.103] tx: OK
[10:33:59.930] rx: AT+CGDCONT=1,”IP”,”nbiot”
[10:33:59.951] tx:
[10:33:59.951] tx: +CME ERROR: operation not supported
[10:34:33.253] rx: AT+CGDCONT?
[10:34:33.273] tx:
[10:34:33.273] tx: +CGDCONT: 1,"IPV4V6","nbiot","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
[10:34:33.273] tx:
[10:34:33.273] tx: OK
[10:34:58.662] rx: at+cgdcont=1,"IP","nbiot"
[10:34:58.695] tx:
[10:34:58.695] tx: OK
[10:35:54.059] rx: at+cgdcont?
[10:35:54.078] tx:
[10:35:54.078] tx: +CGDCONT: 1,"IP","nbiot","0.0.0.0",0,0,0,0
[10:35:54.078] tx:
[10:35:54.078] tx: OK
O SARA-R4 possui uma interface USB que, com os drivers adequados instalados, pode fornecer seu Raspberry Pi ou, na verdade, qualquer outra máquina com interface USB para o Cat M1 / NB-IoT. Infelizmente, as interfaces UART e USB não podem ser usadas simultaneamente.
BIBLIOTECA Sodaq_nbIOT
LIB Arduino para uso com os módulos uBlox nbIOT
https://github.com/SodaqMoja/Sodaq_nbIOT
Por favor, leia isto
https://support.sodaq.com/Boards/Sara_SFF/examples/passthrough/
Mostra sequência de comandos AT para diferentes operadoras.
AT Commands
R4
General R4 Commands
Remove SIM pin
Two commands, first unlock your SIM. Then remove the SIM pin. “0000” needs to be replaced by your SIM pin.
Unlock SIM.
AT+CPIN="0000"
Remove SIM pin.
AT+CLCK="SC",0,"0000"
Disable PSM and eDRX
Disable Power Saving Mode
AT+CPSMS=0
Disable eDRX
AT+CEDRXS=0
Disable Power saving control
AT+UPSV=0
KPN NL - LTE-M
After uploading the passthrough sketch use the following commands to send a message.
These commands communicate on the LTE-M Network of KPN NL.
Reset the module.
AT+CFUN=15
Turn off echo.
ATE0
Check selected MNO Profile.
AT+UMNOPROF?
Set MNO profile. (1=automatic,100=standard europe)
AT+UMNOPROF=1
Set URAT to LTE-M.
AT+URAT=7
Enable URCs.
AT+CEREG=3
Set verbose error values.
AT+CMEE=2
Set the APN.
AT+CGDCONT=1,"IP","internet.m2m"
Autoselect the operator.
AT+COPS=0,2
Or force select an operator, use 20408 to force KPN NL.
AT+COPS=1,2,"20408"
Check Siganl strenght, repeat till you have a valid CSQ (99,99 means no signal).
AT+CSQ
Wait for attach, 1 = attached.
AT+CGATT?
Open a socket.
AT+USOCR=17
Send data over the socket.
AT+USOST=0,"YOURUDPSERVERIP",YOURUDPSERVERPORT,4,"Yes!"
Vodafone NL - LTE-M
After uploading the passthrough sketch use the following commands to send a message.
These commands communicate on the LTE-M Network of Vodafone.
Reset the module.
AT+CFUN=15
Turn off echo.
ATE0
Check selected MNO Profile.
AT+UMNOPROF?
Set MNO profile. (1=automatic,100=standard europe)
AT+UMNOPROF=1
Set URAT to LTE-M.
AT+URAT=7
Enable URCs.
AT+CEREG=3
Set verbose error values.
AT+CMEE=2
Set the APN.
AT+CGDCONT=1,"IP","live.vodafone.com"
Autoselect the operator
AT+COPS=0,2
Or force select an operator, use 20404 to force Vodafone NL
AT+COPS=1,2,"20404"
Check Siganl strenght, repeat till you have a valid CSQ (99,99 means no signal).
AT+CSQ
Wait for attach, 1 = attached.
AT+CGATT?
Open a socket.
AT+USOCR=17
Send data over the socket.
AT+USOST=0,"YOURUDPSERVERIP",YOURUDPSERVERPORT,4,"Yes!"
Vodafone NL - NB-IoT
After uploading the passthrough sketch use the following commands to send a message.
These commands communicate on the NB-IoT Network of Vodafone NL.
For Vodafone we have multiple APNs, use the correct APN! nb.inetd.gdsp –> default external APN dev.sodaq.com –> early access APN
Reset the module.
AT+CFUN=15
Turn off echo.
ATE0
Check selected MNO Profile.
AT+UMNOPROF?
Set MNO profile. (1=automatic,19=Vodafone,100=standard europe)
AT+UMNOPROF=19
Limit the bandmask to only band 20
AT+UBANDMASK="524288"
Check current URAT.
AT+URAT?
Set URAT to NB-IoT.
AT+URAT=8
Enable URCs.
AT+CEREG=3
Set verbose error values.
AT+CMEE=2
Set the APN.
AT+CGDCONT=1,"IP","nb.inetd.gdsp"
Check used APN.
AT+CGDCONT?
Turn on the radio.
AT+CFUN=1
Autoselect the operator
AT+COPS=0,2
Or force select an operator, use 20404 to force Vodafone NL
AT+COPS=1,2,"20404"
Check Siganl strenght, repeat till you have a valid CSQ (99,99 means no signal).
AT+CSQ
Wait for attach, 1 = attached.
AT+CGATT?
Check if you have a valid IP address.
AT+CGDCONT?
Open a socket.
AT+USOCR=17
Send data over the socket.
AT+USOST=[socket number],[YOURUDPSERVERIP],[YOURUDPSERVERPORT],[payload lenght],[payload] AT+USOST=0,"YOURUDPSERVERIP",8891,4,"Yes!"
T-Mobile NL - LTE-M
After uploading the passthrough sketch use the following commands to send a message.
These commands communicate on the LTE-M Network of KPN NL.
Reset the module.
AT+CFUN=15
Turn off echo.
ATE0
Check selected MNO Profile.
AT+UMNOPROF?
Set MNO profile. (1=automatic,100=standard europe)
AT+UMNOPROF=1
Set URAT to LTE-M.
AT+URAT=7
Enable URCs.
AT+CEREG=3
Set verbose error values.
AT+CMEE=2
Set the APN.
AT+CGDCONT=1,"IP","smartsites.t-mobile"
Autoselect the operator.
AT+COPS=0,2
Or force select an operator, use 20416 to force T-Mobile NL.
AT+COPS=1,2,"20416"
Check Siganl strenght, repeat till you have a valid CSQ (99,99 means no signal).
AT+CSQ
Wait for attach, 1 = attached.
AT+CGATT?
Open a socket.
AT+USOCR=17
Send data over the socket.
AT+USOST=0,"YOURUDPSERVERIP",YOURUDPSERVERPORT,4,"Yes!"
T-Mobile NL - NB-IoT
After uploading the passthrough sketch use the following commands to send a message.
These commands communicate on the NB-IoT UDP Network of T-Mobile NL.
Note
Your device must be registered as a UDP device and not as CoAP.
Reset the module.
AT+CFUN=15
Turn off echo.
ATE0
Check selected MNO Profile.
AT+UMNOPROF?
Set MNO profile. (1=automatic,100=standard europe)
AT+UMNOPROF=1
Check current URAT.
AT+URAT?
Set URAT to NB-IoT.
AT+URAT=8
Enable URCs.
AT+CEREG=3
Set verbose error values.
AT+CMEE=2
Set the APN.
AT+CGDCONT=1,"IP","cdp.iot.t-mobile.nl"
Check current APN.
AT+CGDCONT?
Turn on radio.
AT+CFUN=1
Autoselect the operator
AT+COPS=0,2
Or force select an operator, use 20416 to force T-Mobile NL
AT+COPS=1,2,"20416"
Check Siganl strenght, repeat till you have a valid CSQ (99,99 means no signal).
AT+CSQ
Wait for attach, 1 = attached.
AT+CGATT?
Open a socket.
AT+USOCR=17
Send data over the socket.
AT+USOST=0,"172.27.131.100",15683,4,"Data"
Close socket.
AT+USOCL=0
Monogoto - LTE-M
After uploading the passthrough sketch use the following commands to send a message.
These commands communicate on the LTE-M Network of Vodafone.
Reset the module.
AT+CFUN=15
Turn off echo.
ATE0
Check selected MNO Profile.
AT+UMNOPROF?
Set MNO profile. (1=automatic,100=standard europe)
AT+UMNOPROF=1
Set URAT to LTE-M.
AT+URAT=7
Enable URCs.
AT+CEREG=3
Set verbose error values.
AT+CMEE=2
Set the APN.
AT+CGDCONT=1,"IP","data.mono"
Auto select operator
AT+COPS=0
If the auto operator selection doesn't work, you can force the operator.
AT+COPS=1,2,"20404"
Check Siganl strenght, repeat till you have a valid CSQ (99,99 means no signal).
AT+CSQ
Wait for attach, 1 = attached.
AT+CGATT?
Open a socket.
AT+USOCR=17
Send data over the socket.
AT+USOST=0,"YOURUDPSERVERIP",YOURUDPSERVERPORT,4,"Yes!"
N2
General N2 Commands
You can reboot to bring it into a ‘clean’ mode by:
AT+NRB
NCONFIG settings are saved into the memory of the module.
You can check if these settings
AT+NCONFIG?
You can check your IP address. This is from a private IP range.
AT+CGPADDR
Check the firmware version:
AT+CGMR
or
ATI9
Check the IMEI Number:
AT+CGSN=1
Check the CCID, SIM card number:
AT+CCID?
Vodafone NL – UDP
Setup
Give URC's of when the Sara module has communication with the base station, useful for debugging.
AT+CSCON=1
Give URC's of the netwok registration status, useful for debugging and knowing whether you have received the power save timers.
AT+CEREG=5
Give URC's whenever the module sleeps and awakens, useful for knowing whenever you want into low power.
AT+NPSMR=1
Enable power save mode, request RPTAU of 10 seconds and request RAT of 2 seconds.
AT+CPSMS=1,,,"00000001","00000001"
Note that the above values are requested, you will receive some set timers from the network after connection, look for the last two variables with CEREG URC.
Set the Following NCONFIG settings. This only have to be done once. The settings are saved in memmory.
AT+NCONFIG="CR_0354_0338_SCRAMBLING","TRUE"
AT+NCONFIG="CR_0859_SI_AVOID","FALSE"
Turn the radio off.
AT+CFUN=0
Set vodafone PDP settings.
AT+CGDCONT=1,"IP","nb.inetd.gdsp"
Turn the radio on.
AT+CFUN=1
Set band to 20 (Vodafone uses 20).
AT+NBAND=20
Toggle the radio off and on (this appears to force a refresh and works best in practice).
AT+CFUN=0
AT+CFUN=1
Connect to Vodafone.
AT+COPS=1,2,"20404"
Now make sure you actually have connection to the base station. Periodically check for base station signal strength and whether GPRS is attached.
Wait for connection
Check for signal strength, the first or second variable should not be 99.
AT+CSQ
Check for GPRS attachment, should return 1.
AT+CGATT?
For sending an UDP package you need to open a socket after having connection.
Socket
Create a socket on port 16666 for sending and receiving datagrams (UDP).
AT+NSOCR="DGRAM",17,16666,0
Now that you’re connected, transmit a message.
Transmit
Send Hello world! , immediately stop transmitting after sending the command.
AT+NSOSTF=0,"YOUR_SERVER_IP",YOUR_SERVER_PORT,0x200,12,"48656c6c6f20576f726c6421"
Make sure to enter your own ip and port!
T-Mobile NL – UDP
Setup
Give URC's of when the Sara module has communication with the base station, useful for debugging.
AT+CSCON=1
Give URC's of the netwok registration status, useful for debugging and knowing whether you have received the power save timers.
AT+CEREG=5
Give URC's whenever the module sleeps and awakens, useful for knowing whenever you want into low power.
AT+NPSMR=1
Enable power save mode, request RPTAU of 10 seconds and request RAT of 2 seconds.
AT+CPSMS=1,,,"00000001","00000001"
Note that the above values are requested, you will receive some set timers from the network after connection, look for the last two variables with CEREG URC.
Set the Following NCONFIG settings. This only have to be done once. The settings are saved in memmory.
AT+NCONFIG="CR_0354_0338_SCRAMBLING","TRUE"
AT+NCONFIG="CR_0859_SI_AVOID","FALSE"
Turn the radio off.
AT+CFUN=0
Set T-mobile PDP settings.
AT+CGDCONT=0,"IP","cdp.iot.t-mobile.nl"
Turn the radio on.
AT+CFUN=1
Set band to 8 (T-Mobile uses 8).
AT+NBAND=8
Toggle the radio off and on (this appears to force a refresh and works best in practice).
AT+CFUN=0
AT+CFUN=1
Connect to T-Mobile.
AT+COPS=1,2,"20416"
Now make sure you actually have connection to the base station. Periodically check for base station signal strength and whether GPRS is attached
Wait for connection
Check for signal strength.
AT+CSQ
The first or second variable should not be 99. Repeat the command till you get a valid CSQ.
Check for attachment, if attached the module should return 1.
AT+CGATT?
For sending an UDP package you need to open a socket after having connection.
Socket
Create a socket on port 16666 for sending and receiving datagrams (UDP)
AT+NSOCR="DGRAM",17,16666,0
Now that you’re connected, transmit a message.
Transmit
Send Hello world!
and immediately stop transmitting after sending the command.
AT+NSOSTF=0,"172.27.131.100",15683,0x200,12,"48656c6c6f20576f726c6421"
With T-Mobile NL you always send your data to the CDP. The CDP will send the data to your north-application.
T-Mobile NL – CoAP
AT+NCONFIG="CR_0354_0338_SCRAMBLING","TRUE"
AT+NCONFIG="CR_0859_SI_AVOID","FALSE"
AT+CFUN=0
AT+NCDP="172.27.131.100"
AT+CGDCONT=0,"IP","cdp.iot.t-mobile.nl"
AT+CFUN=1
AT+NBAND=8
AT+COPS=1,2,"20416"
AT+CSQ
AT+CGATT?
AT+NSMI=1 // Send Message indicator
AT+NNMI=1 // Receive Message indicator
AT+NMGS=11,"48656c6c6f20576f726c64"
Method | Description |
---|---|
getDefaultBaudRate () | Retorna a taxa de transmissão correta para a porta serial que se conecta ao dispositivo. |
setDiag (Stream& stream) | Define o fluxo "Diagnóstico e depuração" opcional. |
init(Stream& stream, int8_t onoffPin) | // Inicializa a instância do modem. Define o fluxo do modem e os pinos liga / desliga. |
overrideNconfigParam(const char* param, bool value) | Substituir um parâmetro de configuração padrão, deve ser chamado antes de connect (). Retorna false se o nome do parâmetro não foi encontrado. Os valores possíveis para param são: AUTOCONNECT, CR_0354_0338_SCRAMBLING, CR_0859_SI_AVOID, COMBINE_ATTACH, CELL_RESELECTION e ENABLE_BIP. |
Retorna true se o modem responder aos comandos "AT" sem atingir o tempo limite. | |
connect(const char* apn, const char* cdp, const char* forceOperator = 0, uint8_t band = 8) | Liga e inicializa o modem, depois se conecta à rede e ativa a conexão de dados. Retorna verdadeiro quando bem-sucedido. |
disconnect() | Desconecta o modem da rede. Retorna verdadeiro quando bem-sucedido. |
isConnected() | Retorna true se o modem estiver conectado à rede e tiver uma conexão de dados ativada. |
sendMessage(const uint8_t* buffer, size_t size) | Envia o buffer fornecido, com o tamanho máximo de bytes. Retorna true quando a mensagem é enfileirada com êxito para transmissão no modem. |
sendMessage(const char* str) | Envia a string c terminada em nulo fornecida. Retorna true quando a mensagem é enfileirada com êxito para transmissão no modem. |
sendMessage(String str) | Envia a String especificada. Retorna true quando a mensagem é enfileirada com êxito para transmissão no modem. |
getSentMessagesCount(SentMessageStatus filter) | Retorna o número de mensagens pendentes (filtro == Pendente) ou com falha na transmissão (filtro == Erro) no modem. |
createSocket(uint16_t localPort = 0) | Crie um soquete UDP para a porta local especificada e retorne o identificador de soquete. |
closeSocket(uint8_t socket) | Feche um soquete UDP pelo identificador, retorna true se for bem-sucedido. |
socketSend(uint8_t socket, const char* remoteIP, const uint16_t remotePort, const uint8_t* buffer, size_t size) | Envie um buffer de carga útil UDP para um IP e porta remotos especificados, através de um soquete específico. |
socketSend(uint8_t socket, const char* remoteIP, const uint16_t remotePort, const char* str) | Envie uma seqüência de caracteres UDP para um IP e porta remotos especificados, através de um soquete específico. |
socketReceiveHex(char* buffer, size_t length, SaraN2UDPPacketMetadata* p = NULL) | Receba dados de soquete pendentes como dados hexadecimais em um buffer passado. Opcionalmente, passe um objeto auxiliar para receber metadados sobre a origem dos dados do soquete. |
socketReceiveBytes(uint8_t* buffer, size_t length, SaraN2UDPPacketMetadata* p = NULL) | Receba dados de soquete pendentes como dados binários em um buffer passado. Opcionalmente, passe um objeto auxiliar para receber metadados sobre a origem dos dados do soquete. |
getPendingUDPBytes() | Retorna o número de bytes pendentes, é atualizado chamando socketReceiveXXX. |
hasPendingUDPBytes() | Função auxiliar retornando se getPendingUDPBytes ()> 0. |
ping(char* ip) | Faça ping em um endereço IP específico. |
waitForUDPResponse(uint32_t timeoutMS = DEFAULT_UDP_TIMOUT_MS) | Chama isAlive () até o tempo limite excedido ou até que um pacote UDP seja recebido em qualquer soquete. |
No IDE do Arduino, navegue até Esboço > Incluir biblioteca > Gerenciar bibliotecas . Em seguida, na caixa de pesquisa, comece a procurar "SparkFun LTE Shield". Depois que sua pesquisa for reduzida, selecione a biblioteca SparkFun LTE Shield e clique em "Instalar".
Caso contrário, você pode baixar manualmente a biblioteca, navegar para o repositório GitHub e fazer o download do repositório como uma pasta ZIP (ou clicar no link abaixo):
Para instalar manualmente a biblioteca por meio de uma pasta ZIP, abra o Arduino, navegue até Esboço > Incluir biblioteca > Adicionar biblioteca .ZIP e selecione a pasta ZIP que você acabou de baixar.
Exemplo 0: Registro de Rede
O primeiro exemplo neste tutorial é o mais crítico. Aqui, demonstramos como configurar o módulo SARA-R4 se comunicar com sua rede preferida. Essa é uma configuração que geralmente precisa acontecer apenas uma vez. Depois de executar esse esboço com êxito, o seu Arduino deverá estar configurado para mensagens SMS e TCP/IP.
Para começar, carregue este exemplo em Arquivo > Exemplos > SparkFun_LTE_Shield_Arduino_Library > 00_Register_Operator .
Antes de carregar o esboço, pode ser necessário ajustar o valor de MOBILE_NETWORK_OPERATOR
e APN
. A primeira variável, enviada como parâmetro lte.setNetwork
, define a operadora de rede móvel com a qual o seu módulo LTE deve se configurar para se comunicar. Deve ser um dos valores abaixo:
// Network operator can be set to either:
// MNO_SW_DEFAULT -- DEFAULT
// MNO_ATT -- AT&T
// MNO_VERIZON -- Verizon
// MNO_TELSTRA -- Telstra
// MNO_TMO -- T-Mobile
const mobile_network_operator_t MOBILE_NETWORK_OPERATOR = MNO_SW_DEFAULT;
const String MOBILE_NETWORK_STRINGS[] = {"Default", "SIM_ICCD", "AT&T", "VERIZON",
"TELSTRA", "T-Mobile", "CT"};
O nome do seu ponto de acesso (APN) é fornecido pelo provedor do cartão SIM. Se você estiver usando um holograma SIM, isso deve ser uma string "hologram"
. Este valor é fornecido para a função lte.setAPN()
// APN -- Access Point Name. Gateway between GPRS MNO
// and another computer network. E.g. \"hologram\"
const String APN = "hologram";
Após fazer o upload do esboço, abra o monitor serial para verificar o status do registro do seu escudo. Este exemplo é interativo . Após a varredura de possíveis operadores de rede, você precisará inserir uma dentre várias opções para tentar se conectar a esse operador.
Você precisará ter um pouco de paciência após fazer o upload deste esboço. Dependendo do estado do seu módulo, pode demorar cerca de 30 segundos para inicializar. Também pode levar até três minutos para o módulo procurar operadores de rede em sua área.
Algumas vezes, sua escolha de operadora de rede será limitada a um conjunto de opções apenas numéricas - uma combinação de códigos de país para celular (MMC) e códigos de rede móvel (MNC) . Por exemplo, a AT&T no exemplo acima é uma combinação MCC/MNC de 310 e 410, respectivamente - esse é o operador que selecionamos. ("313 100" é uma rede de socorristas da AT&T e "310 260" é da T-Mobile.)
Notas sobre códigos de países móveis (MCC) e códigos de rede móvel (MNC)
Às vezes, sua escolha de operadora de rede será limitada a um conjunto de opções apenas numéricas. Essa será uma combinação de códigos de países móveis (MCC) e códigos de rede móvel (MNC) . Por exemplo, a AT&T no exemplo acima é uma combinação MCC / MNC de 310 e 410, respectivamente - esse é o operador que selecionamos. ("313 100" é uma rede de socorristas da AT&T e "310 260" é da T-Mobile.)
Se você precisar pesquisar um pouco para descobrir qual é o MMC/MNC, confira a lista abrangente e pesquisável em mcc-mnc.com e / ou The Roaming Zone .
Nota: se você deixar uma região coberta por um par de códigos de país / rede, pode ser necessário reconfigurar seu escudo usando este esboço.
O que está acontecendo na inicialização
O módulo LTE pode levar alguns segundos para iniciar, se você o conectou e não acionou o botão liga/desliga.
Ao inicializar a comunicação com o módulo, a biblioteca do Arduino deve tentar verificar se o módulo está ativada enquanto reduz a taxa de transmissão de uma taxa de transmissão potencialmente desconhecida (embora, provavelmente, 115200 bps) para 9600 bps.
Na inicialização, a biblioteca percorre as taxas de transmissão suportadas pelo SARA-R4 e tenta estabelecer comunicação. Esse processo pode levar até 5 segundos. Se o escudo não responder, a biblioteca assumirá que está desligada. Ele alternará o botão POWER e iniciará novamente o processo "autobaud".
Ao todo, esse processo pode levar até 30 segundos. Você deve terminar com um módulo SARA-R4 configurado em 9600 baud e pronto para iniciar o LTE.
Nota: Você pode reduzir esse tempo inicial ao ligar manualmente a energia do SARA-R4 (mantenha o botão POWER pressionado por ~ 3 segundos).
Inicializando a biblioteca LTE Shield
Existem algumas declarações e chamadas de função necessárias em todos os esboços da biblioteca do módulo LTE.
Definições globais
Existe, é claro, a declaração de inclusão da biblioteca:
#include <SparkFun_LTE_Shield_Arduino_Library.h>
Se você estiver usando uma porta serial de software - como os exemplos demonstram - também precisará definir um SoftwareSerial
objeto com RX no pino 8 e TX no pino 9:
// We need to pass a Serial or SoftwareSerial object to the LTE Shield
// library. Below creates a SoftwareSerial object on the standard LTE
// Shield RX/TX pins:
SoftwareSerial lteSerial(8, 9);
E, finalmente, você precisará declarar um LTE_Shield
objeto, que usaremos ao longo do esboço para envio de SMS e interações TCP/IP. Esse objeto opcionalmente aceita dois parâmetros - os pinos POWER e RESET Arduino. Por padrão, esses parâmetros devem corresponder aos padrões de blindagem, portanto, geralmente não são necessários.
// Create a LTE_Shield object to be used throughout the sketch:
#define POWER_PIN 5
#define RESET_PIN 6
LTE_Shield lte(POWER_PIN, RESET_PIN);
Requisitos de configuração
Com suas variáveis globais declaradas, inicializar a biblioteca é tão simples quanto chamar lte.begin(SerialPort)
. O SerialPort deve ser a porta SoftwareSerial que você declarou em globais, ou uma porta serial de hardware, se for suportada pela sua placa Arduino.
begin()
retornará true
com uma inicialização bem-sucedida da blindagem ou false
se a comunicação com o módulo SARA-R4 falhar.
Todos os exemplos nesta biblioteca assumem uma porta serial de software nos pinos 8 e 9. Portanto, a instrução begin abaixo deve funcionar.
if ( lte.begin(lteSerial) ) {
Serial.println("Successfully initialized the LTE shield via software serial!");
}
Se, por outro lado, você estiver usando uma porta serial de hardware (nos pinos 0/1) para se comunicar com a blindagem, a instrução begin abaixo pode ser usada:
if ( lte.begin(Serial1) ) {
Serial.println("Initialied SARA-R4 module on a hardware serial port.");
}
A biblioteca vai cuidar de todos os begin()
, write()
e read()
funções fornecidas pelo seu porta serial.
Seguem comandos AT utilizados pelos exemplos da Sparfun
const char LTE_SHIELD_COMMAND_AT[] = "AT"; // AT "Test"
const char LTE_SHIELD_COMMAND_ECHO[] = "E"; // Local Echo
const char LTE_SHIELD_COMMAND_IMEI[] = "+CGSN"; // IMEI identification
const char LTE_SHIELD_COMMAND_IMSI[] = "+CIMI"; // IMSI identification
const char LTE_SHIELD_COMMAND_CCID[] = "+CCID"; // SIM CCID
// ### Control and status
const char LTE_SHIELD_COMMAND_FUNC[] = "+CFUN"; // Functionality (reset, etc.)
const char LTE_SHIELD_COMMAND_CLOCK[] = "+CCLK"; // Clock
const char LTE_SHIELD_COMMAND_AUTO_TZ[] = "+CTZU"; // Automatic time zone update
// ### Network service
const char LTE_SHIELD_COMMAND_MNO[] = "+UMNOPROF"; // MNO (mobile network operator) Profile
const char LTE_SHIELD_SIGNAL_QUALITY[] = "+CSQ";
const char LTE_SHIELD_REGISTRATION_STATUS[] = "+CREG";
const char LTE_SHIELD_MESSAGE_PDP_DEF[] = "+CGDCONT";
const char LTE_SHIELD_MESSAGE_ENTER_PPP[] = "D";
const char LTE_SHIELD_OPERATOR_SELECTION[] = "+COPS";
// V24 control and V25ter (UART interface)
const char LTE_SHIELD_COMMAND_BAUD[] = "+IPR"; // Baud rate
// ### GPIO
const char LTE_SHIELD_COMMAND_GPIO[] = "+UGPIOC"; // GPIO Configuration
// ### IP
const char LTE_SHIELD_CREATE_SOCKET[] = "+USOCR"; // Create a new socket
const char LTE_SHIELD_CLOSE_SOCKET[] = "+USOCL"; // Close a socket
const char LTE_SHIELD_CONNECT_SOCKET[] = "+USOCO"; // Connect to server on socket
const char LTE_SHIELD_WRITE_SOCKET[] = "+USOWR"; // Write data to a socket
const char LTE_SHIELD_READ_SOCKET[] = "+USORD"; // Read from a socket
const char LTE_SHIELD_LISTEN_SOCKET[] = "+USOLI"; // Listen for connection on socket
// ### SMS
const char LTE_SHIELD_MESSAGE_FORMAT[] = "+CMGF"; // Set SMS message format
const char LTE_SHIELD_SEND_TEXT[] = "+CMGS"; // Send SMS message
// ### GPS
const char LTE_SHIELD_GPS_POWER[] = "+UGPS";
const char LTE_SHIELD_GPS_REQUEST_LOCATION[] = "+ULOC";
const char LTE_SHIELD_GPS_GPRMC[] = "+UGRMC"
PROBLEMAS
Verifique se o seu cartão SIM de holograma está ativado. Se você atingiu o limite de dados gratuito de 1 MB, será necessário aguardar o próximo mês / ciclo de faturamento ou adicionar um método de pagamento para sua conta.
Verifique sua área de cobertura. O holograma possui uma grande variedade de transportadoras contratadas, mas elas não têm cobertura em todos os lugares. Se você ou seu projeto estiverem em uma área com cobertura celular baixa ou mínima, você poderá ter problemas por causa disso.
DOCUMENTOS COMANDOS AT
https://www.u-blox.com/sites/default/files/SARA-R4_ATCommands_%28UBX-17003787%29.pdf
BIBLIOTECA TINYGSM
Ótima Lib para Arduino que permite acesso à Rede sem se preocupar com a maioria dos comandos AT
https://github.com/vshymanskyy/TinyGSM
Leia Completo, abaixo alguns pontos principais
Data connections
TCP (HTTP, MQTT, Blynk, ...)
SSL/TLS (HTTPS)
USSD
SMS
GPS/GNSS
NOTA: os chips u-blox NÃO possuem GPS incorporado - essa função funciona apenas se um GPS secundário estiver conectado ao chip celular primário por I2C
Primeiros Passos
- Usando o seu telefone: - Desative o código PIN no cartão SIM - Verifique seu saldo - Verifique se APN, Usuário e Passe estão corretos e você possui Internet
- Verifique se o cartão SIM está inserido corretamente no módulo
- Verifique se a antena GSM está firmemente conectada
- Verifique se você possui uma fonte de alimentação estável para o módulo de pelo menos 2A.
- Verifique se a conexão serial está funcionando (Serial de hardware é recomendado) Envie um comando AT usando este esboço
- Experimente o exemplo do WebClient Escrevendo seu próprio código
O fluxo geral do seu código deve ser:
- Defina o módulo que você está usando (escolha um e apenas um)
- ie,
#define TINY_GSM_MODEM_SIM800
- ie,
- TinyGSM incluído
#include <TinyGsmClient.h>
- Crie uma instância de modem TinyGSM
TinyGsm modem(SerialAT);
- Crie uma ou mais instâncias do cliente TinyGSM
- Para uma conexão simples, use
TinyGsmClient client(modem);
orTinyGsmClientSecure client(modem);
(on supported modules)
- Para várias conexões (em módulos suportados), use:
TinyGsmClient clientX(modem, 0);
,TinyGsmClient clientY(modem, 1);
, etc orTinyGsmClientSecure clientX(modem, 0);
,TinyGsmClientSecure clientY(modem, 1);
, etc- Clientes seguros e inseguros geralmente podem ser misturados ao usar várias conexões.
- O número total de conexões possíveis varia de acordo com o módulo
- Inicie sua comunicação serial e defina todos os pinos conforme necessário para alimentar seu módulo e trazê-lo para a funcionalidade completa.
- Os exemplos tentam adivinhar a taxa de transmissão do módulo. No código de trabalho, você deve usar um conjunto de bauds.
- Aguarde o módulo estar pronto (pode chegar a 6s, dependendo do módulo)
- Inicialize o Modem
modem.init()
ormodem.restart()
- o reinício geralmente leva mais tempo que o init, mas garante que o módulo não tenha conexões remanescentes
- Desbloqueie o seu SIM, se necessário:
modem.simUnlock(GSM_PIN)
- Se estiver usando WiFi, especifique suas informações de SSID:
modem.networkConnect(wifiSSID, wifiPass)
- O registro da rede deve ser automático nos módulos celulares
- Aguarde o registro da rede ser bem-sucedido
modem.waitForNetwork(600000L)
- Se estiver usando celular, estabeleça a conexão de dados GPRS ou EPS após o registro bem-sucedido na rede
modem.gprsConnect(apn, gprsUser, gprsPass)
(ou simplementemodem.gprsConnect(apn)
)- O mesmo comando é usado para conexão GPRS ou EPS
- Se estiver usando um celular XBee da marca Digi, você deverá especificar suas informações de conexão GPRS / EPS antes de esperar pela rede. Isso é verdade SOMENTE para DigB celular XBees! Para todos os outros módulos celulares, use a função de conexão GPRS após o registro na rede.
- Conecte o cliente TCP ou SSL client.connect (servidor, porta)
- Envie seus dados.
Question: "One question
To use this lib to access LTE-M/NB-IoT using SARA-R4/SARA-N4 needs some special initialization before to have access to the network ?
Some different AT COMMAND that those used to LISA ?
For example, LISA didnt need any special initialization! Works fine fist time!
Thank you!!!"
Tradução:
Uma questão
Para usar esta lib para acessar o LTE-M / NB-IoT usando o SARA-R4 / SARA-N4, é necessária alguma inicialização especial antes para ter acesso à rede?
Alguns no COMANDO diferentes daqueles usados na LISA?
Por exemplo, o LISA não precisava de nenhuma inicialização especial! Funciona bem tempo de punho!
Obrigado!!!
Answer: "There should not be any special set-up needed for the SARA R4 before using this library. In my experience, the LTE-M modules do take a long time to connect for the first time in a new location or with a new SIM so you may need to increase the length of the wait in the waitForNetwork function."
Tradução:
Não deve haver nenhuma configuração especial necessária para o SARA R4 antes de usar esta biblioteca. Na minha experiência, os módulos LTE-M demoram muito tempo para se conectar pela primeira vez em um novo local ou com um novo SIM; portanto, você pode precisar aumentar a duração da espera na função waitForNetwork.
Question: "Hi, @SRGDamia1
Well, it wont work until you do some first initializations before to use the TinyGSM lib, my opnion.
Does TinyGSM not implement this sequence (AT COMMANDS)?
at+umnoprof=100
at+cedrxs=0
at+cedrxs=3,2
at+cedrxs=3,4
at+cedrxs=3,5
at+cpsms=0
at+upsv=0
at+ubandmask=0,134217732
at+ubandmask=1,134217732
at+umnoprof?
at+cmee=2"
Tradução:
Bem, não funcionará até que você faça as primeiras inicializações antes de usar a biblioteca TinyGSM, minha opinião.
O TinyGSM não implementa essa sequência (EM COMANDOS)?
at+umnoprof=100
at+cedrxs=0
at+cedrxs=3,2
at+cedrxs=3,4
at+cedrxs=3,5
at+cpsms=0
at+upsv=0
at+ubandmask=0,134217732
at+ubandmask=1,134217732
at+umnoprof?
at+cmee=2"
Answer: "In general, this library does not attempt to customize anything for a particular network operator or SIM card provider for any of the modules. That is completely left up to the user. If your operator requires you to manually set bands and disable PSM or EDRx, that is annoying, but that is not a universal problem.
I can't say I've ever used the PSM/EDRx commands and see no particular reason they'd be necessary unless it's something your SIM provider specifies.
Depending on your SIM card, you may not need to specify the operator profile. The "SW default" (0) or "SIM ICCID Select" (1) profiles might be just fine. I believe the commands for setting the band mask are only necessary if you are using the "Standard Europe" (100) operator profile. We use AT&T for the Hologram network in the USA and don't set the band. For while we didn't bother to set the operator at all, but we found it connected faster when manually selected.
I also would use AT+CFUN=0
rather than 4 to turn off the radios between switching bands or operators. The airplane mode set with AT+CFUN=4
will persist between resets, 0 will not. (That is, if you set to 0, then reset, the module will return to full functionality (1) after reset. If you set to 4 and then reset, you have to remember to manually set back to 1 afterwards.)"
Tradução:
"Em geral, esta biblioteca não tenta personalizar nada para uma operadora de rede ou provedor de cartão SIM específico para nenhum dos módulos. Isso é totalmente deixado para o usuário. Se o seu operador exigir que você defina manualmente as bandas e desative o PSM ou o EDRx , isso é chato, mas não é um problema universal.
Não posso dizer que já usei os comandos PSM / EDRx e não vejo nenhum motivo específico que seja necessário, a menos que seja algo que o seu provedor SIM especifique.
Dependendo do seu cartão SIM, pode não ser necessário especificar o perfil do operador. Os perfis "SW default" (0) ou "SIM ICCID Select" (1) podem estar bem. Acredito que os comandos para configurar a máscara de banda são necessários apenas se você estiver usando o perfil de operador "Standard Europe" (100). Usamos a AT&T para a rede Hologram nos EUA e não definimos a banda. Por um tempo, não nos preocupamos em definir o operador, mas descobrimos que ele era mais rápido quando selecionado manualmente.
Eu também usaria AT+CFUN=0 em vez de 4 para desligar os rádios entre bandas ou operadores de comutação. O modo avião definido com AT+CFUN=4 persistirá entre as redefinições, 0 não. (Ou seja, se você definir como 0 e redefinir, o módulo retornará à funcionalidade completa (1) após redefinir. Se você definir como 4 e redefinir, lembre-se de redefinir manualmente para 1 posteriormente.) "
Question: "In wich point of source do you suggest to make a call to a specialized AT commands before the make the final attach ?"
Tradução: Em que ponto da fonte você sugere fazer uma chamada para comandos AT especializados antes de fazer a ligação final?
Answer: "If you need to set the bands, I'd do it right at the top of you program. If you're following the flow of most of the examples, you'd put it right after the modem.restart(); or modem.init().
You can use the sendAT and waitResponse library functions to send your custom commands, ie:
modem.sendAT(GF("+ubandmask=0,134217732"));
modem.waitResponse();"
Tradução: "Se você precisar definir as bandas, eu faria no topo do seu programa. Se você estiver seguindo o fluxo da maioria dos exemplos, você o colocará logo após o modem.restart(); ou modem.init().
Você pode usar as funções da biblioteca sendAT e waitResponse para enviar seus comandos personalizados, ou seja:
modem.sendAT(GF("+ubandmask=0,134217732"));
modem.waitResponse ();"
- você deve desregistrar da rede antes de alterar o MNO (AT+COPS=2)
- você deve fazer um reset após alterar o MNO (AT+CFUN=15 emite um reset silencioso com uma desconexão da rede e salvando os parâmetros NVM);
- Definir o perfil para o perfil definido atualmente não redefine os parâmetros.
- Para redefinir os parâmetros, defina um perfil diferente do atual e, em seguida, defina o perfil de volta ao original (como 0).
at "AT+COPS=2" # deregister from network at "AT+UMNOPROF=0" # set MNO to auto at "AT+UMNOPROF=3" # set MNO to Verizon at "AT+CFUN=15" # de-register from network, save NVM, and reset modem
http://trac.gateworks.com/wiki/expansion/gw16126
linux
Entenda o que é NB-IoT e LTE-M, redes dedicadas a projetos de IoT
11/12/2019
Projetos de Internet das Coisas (IoT) podem se beneficiar de redes dedicadas como NB-IoT e LTE-M para vencer os desafios de conectividade no Brasil.
Sua empresa provavelmente conhece os benefícios da Internet das Coisas (IoT): eficiência operacional, produtividade da força de trabalho, novas experiências do consumidor e novos modelos de negócio. Mas antes mesmo de você descobrir os benefícios mensuráveis e o valor comercial para os projetos de IoT, você sabe dizer qual rede dedicada é a mais adequada para a mágica acontecer?
No Brasil, a Narrowband-IoT (NB-IoT) e a LTE-M são redes que estão se popularizando entre empresas de vários setores, em especial o agronegócio. São tecnologias usadas em dispositivos de baixa complexidade, mas com um alto volume de dados. Por exemplo, sensores para monitorar a temperatura de uma estufa.
Essas duas tecnologias são suportadas pelos maiores fabricantes de equipamento, processadores e módulos. Sem contar que as redes NB-IoT e LTE-M podem coexistir com as redes móveis 2G, 3G e 4G. Ou seja, a infraestrutura das redes móveis será usada para transportar os dados dessas tecnologias voltadas para a Internet das Coisas.
Isso vai trazer alguns benefícios de segurança e privacidade como:
- Suporte à confidencialidade da identidade do usuário;
- Autenticação de entidade (dispositivos);
- Confidencialidade e integridade de dados;
- Identificação de equipamentos móveis.
Já deu para perceber que as NB-IoT e LTE-M podem ser uma solução para os desafios de conectividade que as empresas encaram na hora de desenvolver projetos de Internet das Coisas. Até então, o uso de redes GPRS/EDGE, 3G e 4G para a IoT poderiam limitar a conexão com os dispositivos por conta do custo de conexão e do grande consumo de bateria.
Por isso, o Mundo + Tech traz uma explicação sobre essas duas tecnologias para você entender qual é a mais adequada para o seu negócio.
Narrowband IoT (NB-IoT)
A NB-IoT é uma tecnologia de LPWAN (sigla para Área Ampla de Baixa Potência) que se conecta com “coisas” de baixa complexidade. Geralmente é usada em ambientes em que a conectividade (3G/4G e Wi-Fi) pode não funcionar de forma satisfatória como espaços muito fechados (estacionamentos e grandes edifícios) e na área rural.
A tecnologia melhora significativamente o consumo de energia dos dispositivos de Internet das Coisas, a capacidade do sistema e a eficiência do espectro, especialmente em cobertura interna. Outro destaque é que a NB-IoT tem bateria de longa duração e os dispositivos embarcados com a rede podem ter uma vida útil de 10 anos.
Como cita este artigo do RFiD Journal Brasil, a NB-IoT padronizada possui três operações quando implantada em outras redes:
- In-band: quando usa blocos de recursos físicos de um prestador de serviço 4G LTE;
- Banda Guard: quando regula o espectro não usado em um provedor de serviços de banda de guarda 4G LTE;
- Independente: quando implantada em um espectro dedicado.
Geralmente a NB-IoT é utilizada em dispositivos IoT que não precisam transferir grandes quantidades de dados e que não exigem baixa latência. Além disso, é uma tecnologia mais barata com melhor resposta aos dispositivos fixos (sensores, por exemplo).
LTE-M
A rede LTE-M também utiliza as frequências licenciadas pelas operadoras de telefonia. Ou seja, as empresas de telecom não precisam gastar com a construção de novas infraestruturas para suportar a tecnologia, mas somente fazer atualização de software. Outro ponto é que ela é ideal para soluções que realizem grandes transferências de dados.
Dito isso, a LTE-M é usada em aplicações que exigem mais mobilidade, como tratores em um campo ou dispositivos para rastrear veículos, porque tem um alcance de 100 quilômetros e uma taxa de transmissão de 1Mbps. Assim como a NB-IoT, a tecnologia também possui uma bateria de longa duração e um custo baixo.
Onde a LTE-M pode ser usada:
- Setor automotivo e transporte: a tecnologia suporta a transferência de dados entre células da rede enquanto um carro está em movimento. Portanto, ela é adequada para rastreamento de veículos, rastreamento de ativos e gerenciamento de frota.
- Saúde: além da mobilidade por conta da conectividade de longo alcance, a LTE-M também tem suporte a voz. Assim, a tecnologia pode ser usada com aplicações voltadas para a saúde, como o monitoramento ambulatorial e prestação remota de serviços.
- Cidades inteligentes: a LTE-M vai atender a diversas necessidades de uma cidade inteligente, como por exemplo:
• Controle da iluminação das ruas.
• Monitoramento dos horários de coleta de resíduos.
• Identificação de vagas de estacionamento gratuitas.
• Monitoramento de condições ambientais.
• Monitoramento das estradas (reparos na via, acidentes etc).
Qual tecnologia ideal para os meus projetos de IoT?
Quando você for iniciar um projeto de IoT para os seus negócios, é preciso definir alguns pontos:
- Qual o caso de uso?
- Qual a estrutura da aplicação?
- Onde ela será implantada?
- Qual o nível de complexidade do projeto?
No Brasil, as operadoras de telefonia já oferecem a NB-IoT e LTE-M com foco total para soluções IoT. Então, sua empresa já pode ter uma noção sobre qual infraestrutura vai garantir a conectividade, se a cobertura dessas redes vai satisfazer as suas necessidades e quais os dispositivos que você pode adquirir para tocar o projeto.
AT Commands (in bold) | Remarks |
---|---|
AT+UBANDMASK | Select NB-IoT Band |
OK | This is specific to your NB-IoT operator |
AT+CFUN=1 | Enable full functionality |
OK | Now we may start attaching to the network |
AT+CGATT=1 | Attach to the NB-IoT network |
OK | Attach operation begins |
AT+CEREG? | Are we registered to the NB-IoT network? |
=+CEREG:0,1 OK | 0,1 means we have been registered0,2 means we should wait a few seconds then recheck via AT+CEREG? |
AT+CGATT? | Are we attached to the NB-IoT network? |
=+CGATT:1 OK | 1 means we are attached to the NB-IoT network. Ready to transmit. |
- Atualização de firmware por AT (FOAT): Permite a atualização do firmware do módulo por meio de arquivos binários 'delta' na interface AT usando comandos AT.
- Atualização de Firmware Over The Air (uFOTA): Permite atualizar o firmware do módulo via arquivos binários 'delta' pela interface aérea com base na solução cliente / servidor u-blox (uFOTA), usando Lightweight M2M (LWM2M). Isso requer que o cliente crie uma campanha com u-blox para identificar IMEI's de modems e acesso ao servidor u-blox uFOTA
- EasyFlash é um aplicativo do Windows que permite o flash de imagens de firmware 'completas'
Ele explica as etapas para habilitar um perfil MNO. Sim, existe perfil MNO para TIM, consulte a seção C.11 do manual de comandos AT:
https://www.u-blox.com/en/docs/UBX-17003787
Consulte a seção 7 a seguir no documento de aplicação do SARA-R4 (ótimo documento RESUMO)
- não modifique parâmetros individuais dentro do perfil, como a seleção do operador, pois isso pode quebrar a compatibilidade com o seu operador
- você deve se descadastrar na rede antes de alterar o MNO (AT+COPS=2)
- você deve emitir uma redefinição depois de alterar o MNO (AT+CFUN=15 emite um reset silencioso com um "desapego" da rede e salvamento de parâmetros NVM)
at "AT+COPS=2" # deregister from network at "AT+UMNOPROF=0" # set MNO to auto at "AT+UMNOPROF=45" # set MNO to TIM BRASIL at "AT+CFUN=15" # de-register from network, save NVM, and reset modem
- Sempre baixo: Sem cobertura de rede / Não registrado em uma rede
- Ciclicamente alto por 50ms, baixo por 50ms, alto por 50ms, baixo por 2s: registrado em uma rede 3G
- Ciclicamente alto por 100 ms, baixo por 3s: registrado na rede CAT Narrowband 1 (NB1)
- Sempre alto: transmissão de dados em andamento
- Ciclicamente alto por 800ms, baixo por 200ms: transmissão de dados em andamento
- Ciclamente alto por 50ms, baixo por 50ms, alto por 50ms, baixo por 100ms: registrado em uma rede 3G
- Ciclamente alto por 100ms, baixo por 100ms, alto por 100ms, baixo por 30s: registrado na rede CAT Narrowband 1 (NB1)
AT+UHTTPC = 0,1, "/", "".
AT+URDFILE = "http_last_response_0".
Isso resultará em:
+URDFILE: "http_last_response_0",179,"HTTP/1.1 200 OK
Server: Cowboy
Connection: close
Content-Type: text/plain
Vary: Origin
Date: Tue, 05 Jan 2021 18:31:02 GMT
Content-Length: 12
Via: 1.1 vegur
3.86.104.174"
OK
- Certifique-se de que o cartão SIM suporta CAT-M1 ou NB-IoT e que haja crédito suficiente no cartão SIM.
- Verifique novamente se o seu cartão SIM não está bloqueado com o número PUK. Para verificá-lo, insira o cartão SIM no seu celular e desbloqueie-o com um número PUK fornecido por uma operadora.
- Mantenha o número PIN de 4 dígitos do seu cartão SIM NB-IoT.
- Verifique a fonte do circuito (amperagem)
- Certifique-se de ter selecionado o RAT preferido do cartão SIM que está usando.
AT
AT
OK
ATE0
ATE0
OK
AT+CMEE=2
OK
AT+CGMI
u-blox
OK
AT+CGMM
SARA-R410M-02B
OK
AT+CGMR
L0.0.00.00.05.06 [Feb 03 2018 13:00:41]
OK
ATI9
L0.0.00.00.05.06,A.02.01
OK
AT+CLCK="SC",2
+CLCK: 0
OK
AT+CPIN?
+CPIN: READY
OK
AT+UPSV?
+CME ERROR: operation not supported
AT+CCLK?
+CCLK: "80/01/06,00:00:11"
OK
AT+CGSN
352753091770360
OK
AT+COPS?
+COPS: 0
OK
AT+CEREG=2
OK
AT+CEREG?
+CEREG: 2,2
OK
AT+CEREG=0
OK
AT+CSQ
+CSQ: 99,99
OK
at+cfun?
+CFUN: 1
OK
at+cops?
+COPS: 0
OK
at+cgdcont?
+CGDCONT: 1,"IPV4V6","","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
OK
at+umnoprof?
+UMNOPROF: 0
OK
at+cpsms?
+CPSMS:0,,,"00010011","00000011"
OK
at+cedrxs?
+CEDRXS:
OK
at+urat=8
OK
at+urat?
+URAT: 8
OK
at+ubandmask?
+UBANDMASK: 0,524420,1,524420
OK
at+ubandmask=1,134217732
OK
at+ubandmask?
+UBANDMASK: 0,524420,1,134217732
OK
at+cgdcont?
+CGDCONT: 1,"IPV4V6","","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
OK
at+cgdcont=1,"IPv4v6","nbiot"
OK
at+cgdcont?
+CGDCONT: 1,"IPV4V6","nbiot","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
OK
The SARA-R410M-02B firmware can be downloaded using the following link:
The EasyFlash utility can be downloaded using the following link:
Please make sure you have following driver also installed:
Instructions on performing the update using the EasyFlash utility are as follows:
1.) Please be sure to place the *.DOF file in the EasyFlash installation folder before starting EasyFlash.
2.) Please make sure the SARA-R4 module is powered OFF/disconnected before starting EasyFlash.
3.) Please make sure to run EasyFlash using the “run as administrator” option.
4.) Select the SARA-R4 in the EasyFlash Product selection.
5.) Select USB as the EasyFlash Port selection.
6.) Press the Start button in the EasyFlash program.
7.) Power on the SARA-R4 module and connect it with the PC using USB within 30 seconds (use the USB port, not UART).
8.) The process will take around three minutes to complete. Wait for the green SUCCESS message on the bottom left of the EasyFlash window.
9.) Power down the SARA-R4 module and close EasyFlash when done.
Nenhum comentário:
Postar um comentário