Como usar o módulo GSM SIM808 com Raspberry Pi

Já mostramos aqui no Arduino e Cia como usar o módulo GSM SIM808 com Arduino, enviando SMS e recebendo dados da localização GPS. Hoje vamos mostrar como usar esse mesmo módulo GSM SIM808 com Raspberry Pi, conectando a placa na internet.

Nos testes vamos usar uma Raspberry Pi 4, mas você pode usar outros modelos de placa como a Pi 3, Pi Zero, etc.

Mesmo que as placas mais recentes da linha Raspberry Pi tenham conexão wifi, é possível que a placa seja instalada em um local sem acesso à rede wireless, então o uso de um modem GSM como o SIM808 pode ser uma opção interessante se você precisa enviar dados de sensores, por exemplo, para um banco de dados na internet.

Preparação do Raspbian

Para a configuração inicial da sua Raspberry Pi, sugiro a leitura do post Raspberry Pi Imager: um jeito fácil de instalar o Raspbian. Seguindo as instruções desse post em poucos minutos você configura o cartão SD e instala o sistema operacional na sua placa Raspberry Pi.

Com a sua placa pré-configurada, vamos primeiro atualizar o Raspbian. Use os comandos abaixo em uma janela de terminal:

sudo apt-get update
sudo apt-get upgrade

O processo de atualização pode demorar alguns minutos para finalizar. Depois disso, vamos habilitar a serial por hardware na GPIO da Raspberry Pi usando o raspi-config:

sudo raspi-config

Na tela principal do raspi-config, selecione a opção 3 Interfacing Options e em seguida a opção P6 Serial.

A primeira pergunta é se você deseja habilitar o login shell para acesso via interface serial. Selecione NO (Não):

Em seguida a pergunta é sobre habilitar a interface serial. Selecione Yes (Sim):

Reinicie a sua placa Raspberry Pi para que as alterações tenham efeito.

Instalando o pppconfig na Raspberry Pi

O pppconfig é um utilitário onde você automatiza o processo de conexão utilizando menus e uma interface gráfica. Com ele você pode criar em poucos segundos conexões para diferentes ISP (Internet Service Providers), definindo a porta do modem, servidor DNS, velocidade de conexão (baud rate), etc.

No nosso exemplo, estamos usando um chip da VIVO, então se você for utilizar um chip de outra operadora verifique os parâmetros de conexão como nome de usuário, senha e método de conexão.

Para instalar o pppconfig use o comando abaixo:

sudo apt-get install pppconfig

Com o pppconfig instalado, vamos à configuração da conexão.

Configurando a conexão usando o pppconfig na Raspberry Pi

Execute o pppconfig:

sudo pppconfig

Na tela principal do pppconfig, selecione a opção Create – Criar uma conexão:

Nas telas seguintes você vai configurar os parâmetros de conexão, lembrando que estamos usando um chip da VIVO.

Provedor: nessa tela você configura o nome da conexão. Sugiro usar um texto que lembre o ISP que você está usando. Nesse campo usei vivo

DNS: Na tela seguinte você vai configurar os endereços DNS (Domain Name Server). Optei por colocar endereços estáticos com o DNS do Google, então selecione Static (Utilizar DNS estático) e nas telas seguintes coloque os endereços 8.8.8.8 para o primeiro endereço e 8.8.4.4 para o segundo

Método de autenticação: Nessa tela selecione CHAP Protocolo automático de Handshake Criptografado

Nome de usuário: nesse campo coloque o nome de usuário fornecido pelo seu ISP. No caso do ISP que estou usando o usuário é vivo

Senha: coloque a senha do usuário. Aqui não fez muita diferença para a minha conexão. Coloquei 123456

Velocidade: o próximo parâmetro é a velocidade de conexão. Para o SIM808, vamos usar a velocidade de 115200 para a porta serial

Modo de tom: Tone

Número do telefone: *99#

Porta de configuração do modem: o último parâmetro é a porta de configuração do modem. O pppconfig faz uma procura automática mas no meu caso a porta do modem não foi detectada, então tive que setar manualmente. Para a Raspberry Pi 4, usei /dev/serial0

Por fim é apresentada a tela com as informações que colocamos. Se algo estiver errado, basta selecionar o campo e corrigir. Minha tela ficou assim:

Para finalizar, selecione a opção Finished – Salvar arquivos e retornar ao menu principal. Depois disso você já pode sair do pppconfig.

Conectando o SIM808 na Raspberry Pi

Para conectar o módulo SIM808 na Raspberry Pi temos que levar algumas coisas em consideração, e a primeira delas é o uso de uma fonte externa para alimentação do SIM808, já que os pinos da Raspberry não fornecem corrente suficiente para que o modem funcione.

Eu optei por usar uma fonte para protoboard, com alimentação de 12V/1A, suficiente para os testes que eu fiz aqui.

Também precisamos de um conversor de nível lógico, já que os pinos do SIM808 trabalham com nível de sinal de 5V e a Raspberry Pi trabalha com 3.3V. Se ligarmos o modem diretamente na GPIO da Raspberry, corremos o risco de danificar as portas.

Com esses componentes o nosso circuito então ficou assim:

Preste muita atenção nos jumpers da fonte da protoboard, onde um está em 5V e o outro em 3.3V, que são as tensões de referência usadas para o conversor lógico.

Testando a conexão a internet com SIM808 e Raspberry Pi

Para testar a conexão, vamos agora ligar tudo isso. Ligue primeiro a Raspberry Pi e em seguida a fonte da protoboard.

Ao energizar o circuito o led STA do módulo SIM808 deve permanecer ligado, enquanto o led NET pisca a cada 3 segundos.

Abra uma janela de terminal na Raspberry e digite o seguinte comando:

sudo pon vivo

Aguarde alguns segundos e o led NET começa a piscar rapidamente, indicando que a conexão foi efetuada com sucesso. Para testar, desligue o wifi da Raspberry Pi e digite o comando hostname -I que vai mostrar o IP que foi atribuído a placa pela operadora:

Faça então um teste de ping, para verificar se está tudo ok:

O limite de velocidade do módulo SIM808 é 115200 bps, então isso acaba reduzindo um pouco a possibilidade de navegação, mas a conexão serve perfeitamente para envio de dados de sensores, atualizações de bancos de dados e outras tarefas relacionadas.

Bônus: para desligar a conexão GSM, use o comando sudo poff vivo 🙂

Gostou de usar o módulo GSM SIM808 com Raspberry Pi? Confira outros posts usando módulos GSM aqui mesmo no Arduino e Cia!

5/5 - (2 votos)

Related posts

Use o Blynk para controlar o Arduino por bluetooth

by Arduino e Cia
7 anos ago

Comunicação Arduino e Raspberry Pi usando I2C

by Arduino e Cia
6 anos ago

Programe o módulo bluetooth HC-05 com conversor FTDI

by Arduino e Cia
9 anos ago
Sair da versão mobile