Como enviar alertas SMS do ESP32 sem modem GSM

Como enviar alertas SMS do ESP32 sem modem GSM

Imagine enviar alertas SMS a partir de um microcontrolador sem interface com um módulo GSM/GPRS. Agora é possível, graças à Internet das coisas e às placas microcontroladoras compatíveis com IoT. As placas de desenvolvimento IoT podem acessar a internet e enviar SMS para um número cadastrado por meio de serviços web. Um desses serviços da web é o Twilio.

Twilio é uma API de comunicação para SMS, chamadas de voz, mensagens de vídeo, Whatsapp, e-mail e autenticação. Possuir esta API terá um custo, mas há uma avaliação gratuita.

Para este projeto, programaremos o ESP32 — uma popular placa de desenvolvimento de IoT — para enviar alertas SMS por meio do aplicativo Twilio. Não é necessário um módulo GSM ou GPRS ou um cartão SIM. Porém, é necessário adquirir um número de telefone Twilio para enviar alertas SMS.

Agora, vamos começar.

Componentes

  • ESP32 DEVKIT V1 x1
  • Cabo microUSB para carregar o esboço para ESP32 x1

Programas

  • IDE do Arduino

Conexões de circuito
Nenhuma conexão de circuito é necessária para este projeto. Basta programar o ESP32 para acessar a API Twilio para enviar alertas SMS para um número registrado.

O que é Twilio?
Twilio é um serviço web global baseado em nuvem que permite a comunicação digital por meio de diversas plataformas, incluindo SMS, chamadas de voz, Whatsapp, e-mail e vídeo.

Twilio oferece uma interface de programação de aplicativos (API) que se integra facilmente a qualquer aplicativo ou software móvel. Bibliotecas e módulos estão disponíveis para integrar a API com microcontroladores e plataformas embarcadas. Isto é particularmente útil para placas de desenvolvimento de IoT, pois elas podem acessar o serviço para enviar alertas de mensagens SMS ou Whatsapp sem interface com um módulo GSM/GPRS ou hardware adicional.

Criando uma conta de teste no Twilio
Embora o Twilio não seja gratuito, uma versão de teste está disponível para testar suas funcionalidades. Crie uma conta de teste no Twilio aqui.

Você precisará inserir seu nome e e-mail e criar uma senha. Em seguida, aceite os Termos de Serviço e clique no botão enviar para iniciar seu teste gratuito.

Você será solicitado a verificar seu e-mail antes de usar o Twilio.

Posteriormente, você será solicitado a inserir um número de telefone para verificação dupla. Insira um número de telefone válido e clique no botão ‘Enviar código de verificação’.

A Twilio solicitará que você preencha uma breve pesquisa para personalizar suas configurações e abrirá o console da Twilio.

Adicionando identificadores de chamadas
Depois de configurar uma conta Twilio, é possível visualizar e adicionar identificadores de chamadas verificados.

No console do Twilio, navegue até: Números de telefone-> Gerenciar -> Identificadores de chamadas verificados. Você verá que o número de telefone fornecido para criar a conta de teste já está listado.

Você pode editar o “Nome amigável” para substituir o número de telefone por um nome legível.

Clique no botão ‘Adicionar um novo identificador de chamadas’ para adicionar mais números de telefone. Como antes, é necessário confirmar os números através de um código de verificação recebido por SMS ou voz.

Apenas identificadores de chamadas verificados podem receber um alerta por SMS. O SMS será enviado através de um número de telefone Twilio que deve ser adquirido.

Enviando SMS
Para enviar alertas SMS, você deve primeiro comprar um número de telefone Twilio.

Para começar a usar mensagens, navegue até Mensagens -> Experimente -> Prepare-se.

Clique no botão ‘Iniciar configuração’ e digite um nome para o serviço de mensagens. Estamos chamando-o de 'Alertas SMS ESP32'. Depois de inserir o nome do serviço de mensagens, clique no botão ‘Criar serviço de mensagens’.

A Twilio fornecerá automaticamente um número de telefone, deduzindo US$ 1,15 do balancete de US$ 15,50. Você terá a opção de escolher um número de telefone diferente. Assim que o número de telefone for confirmado, clique no botão ‘Provisionar e este número’.

Depois de configurar com êxito o serviço de mensagens, você será redirecionado para uma página que mostra o SID do serviço de mensagens, o SID da conta e o token de autenticação. Eles são necessários ao programar o ESP32 para acessar a API Twilio.

Para experimentar o serviço de mensagens SMS, clique no botão ‘Experimentar SMS’.

Em seguida, você será solicitado a inserir o número de telefone para o qual deseja enviar SMS. Pode ser qualquer identificador de chamada verificado já adicionado à sua conta. Selecione o número do remetente nas opções provisionadas do Twilio e crie uma mensagem SMS. Depois de concluído, clique no botão ‘Enviar SMS de teste’.

Se tudo for digitado corretamente, o SMS será entregue no identificador de chamadas selecionado.

Alertas SMS para um número registrado do ESP32
Um microcontrolador ou microcomputador compatível com Arduino pode acessar a API Twilio se estiver executando códigos JavaScript ou Python. Como o ESP32 possui recursos WiFi e pode se conectar a qualquer rede disponível, ele pode acessar facilmente o serviço web Twilio.

Há uma biblioteca cliente ESP32 para API Twilio que simplifica essa tarefa.

Biblioteca Arduino
Primeiro, instale o complemento ESP32 no Arduino IDE (saiba mais aqui).

Para acessar a API Twilio do ESP32, você precisará adicionar o ESP32 Twilio Client ao Arduino IDE. Esta é outra biblioteca Arduino que permite ao ESP32 acessar o serviço web Twilio.

Navegue até Ferramentas -> Gerenciar Bibliotecas e pesquise 'Twilio ESP32 Client'.

Em seguida, vá até a biblioteca ‘Twilio-ESP32-Client’ escrita por Adam Demuri e clique no botão ‘Instalar’ para instalar a biblioteca.

Esboço do Arduino
Após instalar a biblioteca, carregue o seguinte esboço para ESP32. Lembre-se de inserir o SSID e a chave de rede da sua rede WiFi, o SID da conta, o token de autenticação, o número de telefone do remetente Twilio e o número de telefone do destinatário da sua conta de teste.

#incluir “twilio.hpp”
static const char *ssid = “”;
static const char *senha = “”;
static const char *account_sid = “”;
static const char *auth_token = “”;
static const char *from_number = “”;
static const char *to_number = “”;
static const char *message = “SMS enviado do ESP32 via Twilio”;

Twilio *twilio;

configuração vazia {
Serial.begin(115200);
Serial.print(“Conectando à rede WiFi;”);
Serial.print(ssid);
Serial.println(“'…”);
WiFi.begin(ssid, senha);
enquanto (WiFi.status ! = WL_CONNECTED) {
Serial.println(“Conectando…”);
atraso(500);
}
Serial.println(“Conectado!”);
twilio = novo Twilio(account_sid, auth_token);
atraso(1000);
Resposta de sequência;
bool sucesso = twilio->send_message(to_number, from_number, mensagem, resposta);
se (sucesso) {
Serial.println(“Mensagem enviada com sucesso!”);
} outro {
Serial.println(resposta);
}
}

loop vazio {
}

O código
O esboço começa importando a biblioteca 'twilio.hpp'. A biblioteca fornece acesso às funções necessárias para enviar mensagens SMS ou solicitações HTTP.

As variáveis ​​são definidas para armazenar o SSID e a chave de rede da conexão WiFi, SID da conta, token de autenticação, número do remetente (com código do país) e número do destinatário (com código do país). A variável 'message' armazena o conteúdo de texto da mensagem SMS. Uma variável de ponteiro Twilio é então instanciada.

Na função setup , a taxa de transmissão para comunicação serial é definida como 115200 bps. A conexão com a rede WiFi é inicializada chamando o método WiFi.begin . O status da conectividade WiFi é monitorado até que o ESP32 se conecte à rede usando o SSID e a chave de rede fornecidos.

Um objeto da classe Twilio é instanciado. Uma variável do tipo string é definida para capturar a resposta HTTP. A mensagem SMS é enviada chamando o método send_message da classe Twilio. O método retorna o status da entrega da mensagem, que é armazenado em um 'status' booleano. Se o status for verdadeiro, uma mensagem indicando a entrega bem-sucedida da mensagem SMS será impressa no console.

A função loop está vazia. Todo o código está na função setup pois o SMS só deve ser enviado uma vez.

Como funciona
ESP32 se conecta à rede WiFi usando a biblioteca WiFi. Ele usa a biblioteca cliente Twilio ESP32 para acessar o serviço web Twilio para enviar SMS. O SMS é enviado para um identificador de chamada verificado por meio da solicitação HTTP.

Resultados
Após enviar o esboço para o ESP32, clique no botão 'Ativar' da microplaca e abra o monitor serial do Arduino – com a taxa de transmissão definida para 115200 bps.

O código na função setup será executado e uma resposta relevante será impressa no monitor serial.

A mensagem SMS será entregue ao número do destinatário selecionado.

Conteúdo Relacionado

ESP32-CAM é um módulo de câmera compacto que combina...
Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
Torna al blog

Lascia un commento

Si prega di notare che, prima di essere pubblicati, i commenti devono essere approvati.