Recents in Beach


Receba o meu conteúdo GRATUITAMENTE


ESP32 SIM7600SA E GNSS gps por satélite e triangulação da operadora

 


Intenção dessa aula

Incluir o serviço de GNSS (Global Navigation Satellite System) na aplicação soquete com SIM7600SA.
 

Materiais Utilizados

      Módulo SIM7600SA T-PCIE series da LilyGo

      Módulo ESP32 SIM Card T-PCIE da LilyGo

      SIM Card de rede compatível com:

      LTE-TDD: B40/B66

      LTE-FDD: B1/B2/B3/B4/B5/B7/B8/B28

      UMTS/HSPA+:B1/B2/B5/B8

      GSM/GPRS/EDGE:850/900/1800/1900MHz

      Computador com acesso a internet

      Módulo de relés

      Sensor de temperatura e umidade HTU21D

 

Sobre esta aplicação 


 

Continuando o desenvolvimento da aplicação de uma conexão via soquete do SIM7600SA com um servidor desenvolvido em QT, instalado em uma estação de rede, vamos incluir o serviço de GNSS (Global Navigation Satellite System) ou sistema de navegação global via satélite.

 

Este sistema global pode ser servido por algumas constelações de satélites como NaviStar GPS (norte americano), o GLONASS (russo), o BeiDou (chinês), Galileo (união europeia).

Sistemas regionais como NavIC (indiano) e QZSS (japonês) não serão tratados aqui.

 


No modo standalone, o dispositivo pode obter as informações necessárias para o cálculo do posicionamento diretamente dos satélites, mas devido a baixa taxa de transferência (50bits/s) e sensibilidade a obstáculos e “multipath”, o que retarda muito a iniciação do sistema e o torna instável em regiões urbanas, o modo assistido foi desenvolvido.

Chamado de A-GNSS (GNSS assistido ou aumentado), este sistema pode fornecer uma série de serviços que podem aumentar desde a rapidez na iniciação até a precisão do posicionamento.

A assistência pode ser disponibilizada em duas categorias:

-Baseado em Estação Móvel: A rede fornece dados de iniciação a taxas de transferência mais altas, permitindo que o dispositivo inicie e fique disponível mais cedo. A rede também pode fornecer informações de tempo mais precisas, melhorando também a precisão do posicionamento.
-
-Estação móvel assistida: Neste caso, o dispositivo captura as informações que pode e transmite-as para um servidor. Este, com um poder computacional maior e recepção de sinais dos satélites de melhor qualidade, calcula o posicionamento e o reenvia ao dispositivo. Além disso, o servidor pode utilizar informações extras, como as obtidas pelas torres o que permite um posicionamento muito superior às categorias anteriores.
-

Nem todos os servidores oferecem o modo de Estação móvel assistida devido a seu maior custo computacional e de manutenção. O avanço dos dispositivos também tem tornado o modo Baseado em Estação suficiente para muitas das aplicações.

 

CIRCUITO 

 Sobre o ESP32 SIM Card T-PCIE board

 


 

Não será necessário nenhuma alteração no circuito utilizado anteriormente, fica a seguir o que temos até então:
Ao lado temos o pin out do módulo ESP32 SIM Card T-PCIE da LilyGO.
Além disso, a imagem mostra também a compatibilidade com outros módulos da LiliyGO baseados em SoCs da SimCom, como o SIM700G, os SIM7600A, AS e E.
Na parte posterior do ESP32 SIM Card T-PCIE existe um conector para as placas que contém os SoCs da SimCom.
 


 A conexão do ESP32 SIM Card T-PCIE com o módulo HTU21D e mostrada na tabela abaixo.
 
 

A conexão do ESP32 SIM Card T-PCIE com o módulo de relés é mostrada na tabela abaixo.

 
 
A conexão do ESP32 SIM Card T-PCIE com o módulo SIM da operadora escolhida é mostrado ao abaixo.
 
A conexão do ESP32 SIM Card T-PCIE com o módulo SIM7600SA  é mostrado abaixo.
 
COMANDOS AT
Para uso com GNSS

Para utilizar o GNSS, vamos incluir alguns comandos AT na aplicação. Estes comandos estão sucintamente descritos na tabela abaixo e, para maiores informações, consulte o manual disponibilizada no vídeo anterior.


Portas UART e os interpretadores

 Comunicação - Entre os módulos

 

 

Não haverá também nenhuma alteração na topologia utilizada anteriormente para a comunicação entre os módulos. Somente nos tratamentos dados pelos interpretadores.


 
Código-fonte ESP32 
Código-fonte Declarações

No código-fonte, a primeira alteração que faremos será a inclusão de uma constante para a URL do servidor AGPS e uma constante para manter disponível as informações obtidas do GNSS.

 

Código-fonte: configuraModem()  

Vamos incluir também as configurações necessárias para o funcionamento do GNSS 

 

Código-fonte: interpretador1  

Por fim, vamos alterar a função interpretador1() para que responda a solicitação de lertodos incluindo as informações do GNSS.

Pontualmente, passaremos a solicitar informações do GNSS no comando lertodos;

 

 

E ao receber a resposta ao comando CGNSSINFO, montamos a string de resposta e enviamos ao servidor de soquete:

 

 

 Código-fonte Servidor (QT)

 

Códigos-Fonte: Interface do servidor de soquete

 

A maior parte da alteração ocorreu no servidor de soquete, que agora deve lidar com mais informações na resposta.

As respostas incluídas do GNSS possuem 16 campos.

+CGNSSINFO:[<mode>],[<GPS-SVs>],[<GLONASS-SVs>],[<BEIDOU-SVs>],[<lat>],[<N/S>],[<log>],[<E/W>],[<date>],[<UTC-time>],[<alt>],
[<speed>],[<course>],[<PDOP>],[<HDOP>],[<VDOP>]

Campos estes que precisam ser tratados e foram incluídos na interface.

Também foi incluído sinalizadores gráficos indicando o estado dos relés e se a houve alteração na respostado das informações do GNSS.

A maior parte dos dados informados pelo GNSS são intuitivos, com exceção:

Modo - 2D FIX (Latitude e Longitude), 3D FIX (Latitude, Longitude e Altitude) e NO FIX (Posição indeterminada).
DOPs (Diluition Of Precision) – A diluição da precisão é uma avaliação da propagação de erros causados por diversos fatores, mas principalmente pela distribuição dos satélites válidos dos quais as informações são usadas na determinação do posicionamento. Pode ser aplicado independentemente para Vertical, Horizontal, posicionamento tridimensional, tempos e etc.
 

Capturas

Serial Motor 

 

As informações de iniciação do MoDem passaram a incluir também:

 

-Um retorno indicando o servidor AGPS definido como padrão.

-E as informações obtidas em uma consulta GNSS. Note que a iniciação do serviço GNSS pode levar de alguns segundos a dezenas de segundos, dependendo da disponibilidade de dados iniciais, modo de operação, qualidade e quantidade de sinais válidos de satélites. No exemplo nenhuma informação estava disponível e os campos são retornados vazios.

-As mensagens de erros referem-se às tentativas de conexão e envio para o servidor, que no momento da iniciação não está disponível.

 

A iniciação do servidor também não sofreu nenhuma mudança.

Mas após um comando de ‘conectar’, no qual o SIM7600SA conecta-se ao servidor e envia os dados de informação, o servidor não só sinaliza a conexão do cliente, como atualiza o estado dos relés e preenche os respectivos campos com os dados fornecidos pelo GNSS, se disponíveis.

No terminal serial temos também um retorno da comunicação realizada e os dados obtidos pelo GNSS.

A operação continua igual ao demostrado anteriormente, ao clicar em qualquer um dos botões de comandos, as solicitações são enviadas ao SIM7600SA e tratadas pelos interpretadores. Em seguida, uma resposta é enviada com o estado atual dos relés, dados de temperatura e umidade e os dados GNSS.

A string de resposta pode ser vista na barra de status.


 

 

Anexo Código-fonte Servidor (QT)

 

 

Postar um comentário

4 Comentários

  1. Muito legal, mas poderia ver o ina do código ? Obrigado

    ResponderExcluir
  2. Boa noite Professor.

    Sou membro e não sei com acessar para pegar o PDF dessa matéria, conforme comentado no vídeo.

    ResponderExcluir
    Respostas
    1. MESMO PROBLEMA ...SOU MENBRO E OS PDF´s SUMIIIIIIIIIIIIIIIIIIIRAMMMMMMMMMMMMMMMMMM

      Excluir
  3. Olá, você vai voltar a posta vídeo no seu canal youtube?

    ResponderExcluir