Ferramentas do usuário

Ferramentas do site


sim800l-simple-validation-serial-port

Usando o Módulo 2G SIM800L

Datasheet

Pinagem do SIM800L

O SIM800L é um módulo que contém todos os elementos necessários para comunicação através de redes de celular 2G. Este módulo pode ser utilizado com diversos microcontroladores ou até mesmo conectado diretamente à porta serial de um PC por meio de um adaptador USB.

Atenção:

As redes 2G e 3G no Brasil estão sendo desativadas, e a expectativa é que até 2028 já não estejam mais em operação no país. Portanto, soluções criadas com o SIM800L deixarão de funcionar quando isso ocorrer.

Alimentação

A principal dificuldade ao utilizar o SIM800L é que ele requer uma fonte de tensão não superior a 4,2 V e não inferior a 3,7 V. Ou seja, não pode ser conectado diretamente a um Arduino UNO (que opera a 5 V), nem a um ESP32 (que opera a 3,3 V), por exemplo.

Além disso, o módulo exige uma fonte capaz de fornecer corrente com picos de até 2 A, necessária durante os momentos de comunicação com a rede celular.

Por isso, é essencial uma fonte externa estável, configurada para 4 V e corrente de até 2 A.


Comunicação Serial

O SIM800L é controlado por meio dos chamados comandos AT, muito comuns em dispositivos de telecomunicações. Essa interface é feita através de uma porta serial (Rx/Tx) entre o módulo e uma controladora externa, que pode ser um Arduino ou até mesmo um PC.

É importante sempre observar as diferenças de tensão entre o controlador e o SIM800L.

Apesar do SIM800L receber alimentação entre 3,7 e 4,2V, os pinos de lógica como o Rx/Tx/RST não devem receber sinais lógicos com tensão superior a 2,8V. Por exemplo, ao utilizar um ESP32 na comunicação serial com o SIM800L, não conecte o sinal Tx do ESP32 diretamente ao Rx do SIM800L. Ao invés disso, use um divisor de tensão para baixar a tensão de 3,3V para 2,8V. Mais detalhes no datasheet, páginas 29 a 32.

A conexão entre o Rx no ESP32 e o Tx no SIM800L pode ser conectado diretamente visto que quem gera o sinal é o SIM800L, já em 2,8V e o ESP32 não terá problema em interpretar este sinal lógico.

Se o microcontrolador que você está usando é de 5V, considere usar um Level Shifter, o que possivelmente irá requer também o uso de um regulador de tensão de 2,8V.

Observar que o mesmo se aplica ao pino de RESET (RST) do SIM800L. De acordo com o datasheet (página 26/27) o sinal não deve ser superior a 2,9V.

Cálculo do divisor de tensão

Há diversos calculadores online para isso. Nos meus testes eu usei um resistor de 1,8K e um de 3,9K para abaixar a tensão no pino Tx do SIM800L de 4,1V para aproximadamente 2,8V, deixando-o compatível com o nível de tensão no meu adaptador serial.

Calculadora online de divisor de tensão.

Calculadora da Digikey

Velocidade da comunicação serial / Boud rate

Com relação a velocidade de comunicação (boud rate) o SIM800L é capaz de se auto-configurar. Em meus testes utilizo a velocidade de 9600 por conveniência.


Enviando SMS com o módulo SIM800L

Adaptador Serial-> USB no PC

Implementação

Para testar e aprender a usar o módulo SIM800L, foi utilizada a quantidade mínima de componentes:

  • Um chip SIM de operadora, com adaptador para micro SIM;
  • Um módulo SIM800L (preferencialmente com antena externa);
  • Uma fonte externa ajustada para 4,1 V / 2,5 A;
  • Um adaptador USB FTDI para comunicação serial (operando a 3,3 V);
  • Resistores de 1 kΩ e 5,6 kΩ para o divisor de tensão;
  • Uma protoboard;
  • Fios e cabos de conexão.
Instalação do chip SIM

O cartão SIM deve ser inserido com os contatos voltados para a PCB e a aba para cima, conforme a imagem ilustrativa.

Inserção do cartão SIM

Significado do indicador LED

Observe que o módulo possui um LED indicador, com os seguintes significados:

  • Piscando 1x por segundo: módulo ligado, mas não conectado à rede. Se não houver conexão mesmo após alguns minutos, teste o SIM em um aparelho de celular e verifique se funciona ali.
  • Piscando 1x a cada 2 s: módulo conectado à rede 2G, mas sem garantia de envio de SMS.
  • Piscando 1x a cada 3 s: módulo conectado à rede 2G e pronto para envio de SMS.
Exemplo de teste em protoboard

Teste SIM800L conectado diretamente na porta serial do PC

Exemplo de fonte de alimentação de bancada

Fonte externa 4,1V com limite de corrente a 2,5A


Resultados

Uma vez ligado, utilize o monitor serial da IDE do Arduino:

  1. Configure para enviar o caractere CR (carriage return) ao pressionar ENTER;
  2. Envie o comando 'AT', a resposta deve ser OK;
  3. Envie 'AT+CMGF=1' para configurar o modo texto;
  4. Envie 'AT+CMGS=“+55XX99999999”', substitua o número pelo destinatário;
  5. Digite o texto da mensagem (até 160 caracteres);
  6. Envie o caractere EOF (CTRL+Z). Veja o artigo *CTRL-Z* para mais detalhes;
  7. Se tudo estiver correto, o telefone celular do destinatário deverá receber a mensagem SMS.

Demonstração

SMS no telefone


Usando um Arduino Pro Mini

[por fazer]

sim800l-simple-validation-serial-port.txt · Última modificação: por jjo