Este tutorial explica como enviar e-mail do Beaglebone black usando o protocolo SMTP. SMTP significa protocolo de transferência Simple Mail. O principal objetivo deste tutorial é obter notificação por correio sobre determinada atividade. O BBB enviará o e-mail com mensagem predefinida para o e-mail cadastrado quando alguma atividade ocorrer. A conectividade de rede (Internet) é necessária para este tutorial. Você também pode anexar algum arquivo ao correio. O programa é escrito em script python com biblioteca SMTP e biblioteca GPIO adafruit.
Ferramentas necessárias:
- Beaglebone Preto
- Botão de apertar
- LIDERADO
- Resistor de 1 kΩ
- Resistor de 330Ω
Tábua de ensaio
- Conectores fêmea para fêmea
Configuração do ambiente de software
Instale a versão mais recente do python no BBB conforme explicado no tutorial Como fazer o primeiro programa python com Beaglebone Black. A biblioteca Adafruit python –GPIO já está instalada, mas você também pode instalar manualmente a biblioteca chamada adafruit_BBIO. A biblioteca SMTP é instalada com python, mas verifique uma vez antes de fazer a aplicação.
Trabalhando
Neste tutorial, uma notificação de alerta simples é enviada para um ID de email específico. Antes de executar o aplicativo, você precisa estabelecer uma conexão com a Internet com o Beaglebone black. Você pode escolher uma conexão Ethernet ou um dispositivo WI-FI. Este tutorial usa cabo Ethernet para fornecer conexão à Internet. Quando o botão é pressionado, o e-mail é enviado para um ID de e-mail específico com uma mensagem predefinida. Quando o script está em execução, o programa entra em um loop contínuo. O LED acende quando o botão é pressionado e apaga após o envio do e-mail do BBB.
Quando o e-mail é enviado, a seguinte mensagem é exibida no prompt de comando:
O e-mail foi enviado
aperte o Ctrl+C para interromper a execução do programa no terminal de comando SSH.
Abra a caixa postal do destinatário e verifique se a mensagem foi recebida ou não.
Fig. 1: Captura de tela da correspondência enviada do Beaglebone Black
Descrição
Vamos primeiro preparar a conexão do circuito. Pegue uma placa de ensaio e forneça VCC e aterramento do BBB até a linha da placa de ensaio. Conecte a alimentação de 3,3 V do pino número 3terceiro do cabeçalho P9 e aterramento do pino número 2e do cabeçalho P8. Conecte o terminal negativo do LED ao terra e o positivo ao resistor de 330 Ohm. Conecte outra extremidade do resistor ao pino número 10º do cabeçalho P8. O botão de pressão possui dois terminais. Qualquer um deles se conecta ao solo. Forneça o resistor VCC de 3,3 V a 1k ohm para outro terminal do botão. Conecte a extremidade comum do resistor e do botão com o pino número 11º do cabeçalho P8. Forneça alimentação ao Beaglebone preto conectando-o ao PC através de um cabo USB. Agora seu circuito está preparado.
Abra o terminal de comando e acesse o Beaglebone black através do SSH conforme explicado em começando com Beaglebone preto. Crie um novo arquivo usando tocar comando com .py extensão (ou seja, led.py). Abra o arquivo com qualquer editor de texto (ou seja, nano, vim etc.) e escreva um código em linguagem python.
Configuração SMTP
Você pode enviar e-mail usando SMTP pela Internet, que administra o serviço pela rede TCP/IP. Duas coisas são necessárias para estabelecer conexão com o servidor de e-mail:
- Endereço do servidor de correio
- Número da porta
A biblioteca SMTP possui função embutida para definir a configuração de envio de e-mail. Defina o endereço de e-mail e o número da porta conforme a seguinte função:
smtplib.SMTP (“smtp.gmail.com”, 587)
Aqui usei o servidor Gmail com número de porta apropriado para envio de e-mail. O primeiro argumento é o endereço do servidor de correio e o segundo argumento é o número da porta.
Após conectar-se ao servidor de e-mail, o BBB (atuar como cliente) identifica e estabelece uma conexão segura seguindo as funções respectivamente.
ehlo – Habilita e identifica conexão com servidor de email
starttls – fornece conexão segura para transferência de dados
Configure o ID de e-mail do remetente, a senha, o ID de e-mail do destinatário e a mensagem que você deseja enviar ao destinatário.
To = “ID de e-mail do destinatário”
De = “ID de e-mail do remetente”
Senha = “Senha do ID de e-mail do remetente”
mensagem = “Alerta!!! O botão está pressionado”
Você pode escrever uma mensagem conforme seu desejo.
Faça login no servidor com ID e senha específicos. Envie a mensagem no ID de e-mail do destinatário e feche a conexão.
Configuração GPIO
Já expliquei a configuração do GPIO em Interface do switch com Beaglebone preto.
Execute o script no terminal:
Digite o seguinte comando com o nome do arquivo no prompt de comando:
nome do arquivo python.py
ou seja, python sendmail.py
Código fonte do projeto
###
importar smtplib
###
Diagramas de circuito
Diagrama de Circuito-Beaglebone-Preto |