Índice:

Envie um SMS usando um ESP8266: 5 etapas
Envie um SMS usando um ESP8266: 5 etapas

Vídeo: Envie um SMS usando um ESP8266: 5 etapas

Vídeo: Envie um SMS usando um ESP8266: 5 etapas
Vídeo: Como Programar o ESP8266 para ser um WEB SERVER - Video #3 - ESP8266 Primeiros Passos 2024, Julho
Anonim
Envie um SMS usando um ESP8266
Envie um SMS usando um ESP8266

Este manual orienta você nas etapas de envio de mensagens SMS pela Internet de uma placa de módulo NodeMCU ESP8266 para um telefone celular. Para enviar a mensagem, você precisará seguir as etapas para obter um número de telefone virtual da Twilio, uma empresa de comunicações. Nenhum cartão de crédito necessário porque Twilio tem a opção de conta de teste gratuita. Em seguida, você baixará e usará um programa Arduino IDE de amostra para enviar mensagens SMS.

O programa de amostra neste instrutível tem chamadas de função que são diretas para copiar, colar, editar e usar em seus próprios projetos.

Suprimentos

Estou usando uma placa de desenvolvimento de Internet WIFI sem fio NodeMCU ESP8266 CH340G ESP-12E. Eles são vendidos por cerca de US $ 3 no eBay de fornecedores chineses.

Etapa 1: Teste seu ESP8266 NodeMCU

Você pode testar com ou sem um breadboard. Sem o breadboard, a luz interna pisca e apaga, o que é eficaz para o teste.

Na minha amostra, eu ligo o NodeMCU no breadboard. Eu ligo o lado negativo de um LED no pino terra (G ou GND) no NodeMCU. O lado positivo do LED é conectado por meio de um resistor (500 a 5K ohm) ao pino D4 do NodeMCU. Quando o programa de amostra for executado, o LED integrado acenderá, o LED externo apagará e, em seguida, o LED interno apagará e o LED externo acenderá. As luzes LED irão alternar entre acender e apagar.

Baixe e execute o programa de teste básico do Arduino: nodeMcuTest.ino. Durante a execução do programa, a luz LED integrada acenderá por 1 segundo, apagará por 1 segundo e fará um ciclo contínuo. Além disso, são postadas mensagens que podem ser visualizadas no Arduino IDE Tools / Serial Monitor.

+++ Setup.

+ Inicializado o pino digital do LED integrado para saída. O LED está apagado. ++ Vá para o loop. + Contador de loop = 1 + Contador de loop = 2 + Contador de loop = 3 …

Depois de confirmar que seu IDE pode ser usado para programar seu NodeMCU, vá para a próxima etapa.

Observação sobre bibliotecas, instalei o seguinte para projetos ESP8266:

  • Biblioteca Arduino WiFi versão 1.2.7.
  • PubSubClient versão 2.7.0, de Nick O'Leary, para mensagens MQTT. Não é necessário para este projeto.
  • IRremoteESP8266 versão 2.6.3, para infravermelho. Não é necessário para este projeto.

Se você tiver mais informações sobre as bibliotecas necessárias, faça um comentário. O motivo de não ter detalhes é que não gravei o que instalei, desculpe.

Sobre o ESP8266 NodeMCU

Recursos,

  • Velocidade de clock de 80 MHz
  • Tensão operacional: 3,3 V
  • Memória flash de armazenamento: 4 MB, SRAM: 64 KB
  • 9 pinos GPIO digitais de uso comum identificados: D0 a D8.
  • Dos 9, 4 pinos podem ser usados para SPI e 2 pinos para I2C.
  • Interrompa os pinos GPIO D0-D8.
  • Não use os 6 pinos: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11), porque eles estão em uso.
  • Testado: entrada de botão usando D0-D02.
  • Testado: pisca o LED usando D0-D08. Para um resistor, para um LED, para o aterramento.
  • Precisa testar, UART1 (TX = GPIO2), objeto Serial1: D4 ou D7 e D8.

Detalhes do pino

NodeMCU Label GPIO pin # D0 16 GPIO leitura / gravação, apenas. Pode não ter recurso de interrupção. D1 5 GPIO digital. -------------------- D2 4 Digital GPIO. D3 0 GPIO digital. ---------- D2 4 I2C: SCL, relógio DS3231, módulos de entrada PCF8574 D3 0 I2C: SDA ---------- D4 (TX) 2 LED integrado, integrado. ---------- 3V 3v output G Ground -------------------- D5 14 Digital GPIO. D6 12 Digital GPIO. D7 (RX) 13 Funciona para entrada, por exemplo, recepção de infravermelho. D8 (TX) 15 Não funciona para entrada, por exemplo, recepção de infravermelho. ---------- D5 14 Cartão SD: SPI SCK D6 12 Cartão SD: SPI MISO D7 (RX) 13 Cartão SD: SPI MOSI D8 15 Cartão SD: CS para SPI habilita / desabilita um dispositivo. Pode usar outros pinos digitais. -------------------- RX 03 uplod do sistema do IDE, que causa a reinicialização após o upload. TX 01 Sistema uplod. G Terra 3V saída 3v

Etapa 2: abra uma conta de avaliação gratuita do Twilio e obtenha seu próprio número de telefone

Image
Image

Twilio é uma empresa de plataforma de comunicação pela Internet. Os produtos usados neste manual são mensagens programáveis Twilio e números de telefone. Twilio possui um inventário de números de telefone virtuais que podem ser usados para enviar e receber mensagens SMS para qualquer telefone celular.

Nesta etapa, você irá:

  • Abra uma conta Twilio, se ainda não tiver uma. Uma conta de teste é gratuita e não requer um cartão de crédito. Sua conta de teste terá um saldo de teste que é usado para pagar por números de telefone e trocar mensagens de texto com telefones celulares.
  • Compre um número de telefone Twilio. É gratuito porque é pago com o seu saldo de teste.
  • Envie uma mensagem do seu celular para o seu novo número de telefone.
  • Assim que o Twilio receber sua mensagem, uma mensagem de resposta automática será enviada para o seu telefone celular.
  • Use o aplicativo do site Twilio Console para visualizar seus logs de mensagens.

O primeiro vídeo acima mostra como abrir uma conta Twilio. O segundo vídeo mostra como comprar um número de telefone Twilio.

Link para o site do Twilio Console para abrir uma conta.

Link para o site do Console do Twilio para comprar um número de telefone do Twilio.

Seu novo número de telefone compatível com Twilio SMS tem uma resposta automática já configurada. Como teste, envie uma mensagem SMS do seu celular para o número do Twilio. Você receberá a seguinte mensagem:

Obrigado pela sua mensagem. Configure o URL de SMS do seu número para alterar esta mensagem. Responda Ajuda para obter ajuda. Responder Parar para cancelar a inscrição.

Agora use o console do Twilio para visualizar seus registros de mensagens do teste acima:

www.twilio.com/console/sms/logs

Mais sobre como usar o Twilio

Você pode criar sua própria resposta automática personalizada. Link para um tutorial do Studio, como fazer uma mensagem de resposta SMS personalizada. Studio é a nossa ferramenta de arrastar e soltar do Twilio Console.

Você pode usar o Twilio Console para visualizar suas mensagens de log e baixar os logs como CVS e carregá-los em uma planilha. Você pode selecionar um intervalo de data e hora, de e para números de telefone e status como: Não entregue ou Enviado. Você também tem a opção de baixar os logs como arquivos CVS. Uma vez que tem um limite de 300 registros por vez, você pode limitar a seleção por data.

Links do desenvolvedor

Link para documentação e programas de amostra para enviar mensagens.

Link para amostras de programas para listar logs de mensagens.

Link para as propriedades da mensagem do programa. A lista de propriedades que são enviadas na solicitação

Link para listar os logs de SMS por um período de tempo.

Etapa 3: enviar um SMS de seu NodeMCU

Envie um SMS do seu NodeMCU
Envie um SMS do seu NodeMCU

Baixe o programa: HttpTwPost.ino e carregue-o em seu IDE do Arduino. No programa, insira seu ID de rede WiFi e senha. Insira seu próprio SID de conta Twilio, token de autenticação e número de telefone. O SID da conta Twilio e o token de autenticação podem ser visualizados no painel do Console do Twilio. Clique em Auth Token "show" para visualizar o token de autenticação.

// Seu SSID de rede e senhaconst char * ssid = "YourNetworkId"; const char * password = "YourNetworkPassword"; const char * account_sid = "YourTwilioAccountSID"; const char * auth_token = "YourAuthToken"; String from_number = "+16505551111"; // Depois que a codificação for adicionada, adicione "+". String to_number = "+16505552222"; String message_body = "Olá do NodeMCU.";

Observação do Twilio: ao usar números de telefone com o Twilio, é melhor formatar os números como números de telefone formatados em E.164. Os números de telefone formatados em E.164 começam com "+" e o código do país. O número de telefone não contém espaços, hifens ou colchetes. Exemplo: +16505551111.

Execute o programa. Quando o programa for iniciado, ele enviará uma mensagem de texto SMS para o número do seu celular. Além disso, são postadas mensagens que podem ser visualizadas no Arduino IDE Tools / Serial Monitor. As mensagens do monitor incluem a resposta de Twilio.

+++ Configuração. + Conecte-se ao WiFi. … + Conectado a WiFi, endereço IP: 192.168.1.76 + Usando impressão digital 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + Conectando a api.twilio.com + Conectado. + Publique um pedido HTTP de envio de SMS. + Conexão fechada. + Resposta: HTTP / 1.1 201 CRIADO Data: Thu, 16 Jul 2020 20:39:49 GMT Content-Type: application / xml Content-Length: 878 Connection: close Twilio-Concurrent-Requests: 1 Twilio-Request-Id: RQe4fbdd142fca4b2fab24697e74006837 Twilio-Request-Duration: 0,116 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Aceitar, Autorização, Content-Type, If-Match, If-Modified-Since, If-None-Match, If- Unmodified-Since Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS Access-Control-Expose-Headers: ETag Access-Control-Allow-Credentials: true X-Powered-By: AT-5000 X-Shenanigans: nenhum X-Home-Region: us1 X-API-Domain: api.twilio.com Strict-Transport-Security: max-age = 31536000… + Iniciando o loop.

Você pode ver os registros de mensagens do Twilio para ver a mensagem enviada.

Etapa 4: Botão para enviar um SMS

Image
Image

O vídeo acima mostra um NodeMCU ESP8266 usado para enviar mensagens para um telefone móvel. No vídeo, o NodeMCU já está inicializado e conectado à rede WiFi. Quando o botão é pressionado, a luz do LED onboard acende. A solicitação de mensagem SMS é enviada ao serviço Twilio Messaging. O serviço envia um SMS para o meu celular. A mensagem é recebida. O serviço também responde ao NodeMCU que a mensagem foi enfileirada para ser enviada. A essa altura, a mensagem já havia sido recebida pelo telefone. Depois que o NodeMCU recebe a resposta do Twilio, a luz interna se apaga. O circuito está pronto para enviar outra mensagem.

A seguir está como implementar o circuito no vídeo. Esta etapa requer uma placa de ensaio, botão e fios. Adicione um botão na placa de ensaio. Um lado do botão se conecta ao pino NodeMCU D1. Ligue o outro lado do botão ao pino de aterramento NodeMCU (pino G na minha placa).

Baixe o programa: HttpTwSendSms.ino e carregue-o em seu Arduino IDE. Da mesma forma que na etapa anterior, no programa, insira seu ID de rede sem fio e senha. Insira seu próprio SID de conta Twilio, token de autenticação e número de telefone.

Quando o programa é executado, o NodeMCU se conecta à rede sem fio. Quando o botão é pressionado, uma mensagem é enviada para o número do celular.

Etapa 5: SMS de um NodeMCU é uma ótima ferramenta de IoT

Agora você pode usar o código de amostra e sua conta Twilio para enviar mensagens SMS por WiFi.

Saúde, Stacy David

Recomendado: