Enviando correspondência do Beaglebone Black (Parte 9/15)

Envío de correo negro de Beaglebone (Parte 9/15)

Este tutorial explica cómo enviar correo electrónico desde Beaglebone black utilizando el protocolo SMTP. SMTP significa Protocolo simple de transferencia de correo. El principal objetivo de este tutorial es obtener notificación por correo sobre determinada actividad. BBB enviará un correo electrónico con un mensaje predefinido a la dirección de correo electrónico registrada cuando ocurra cualquier actividad. Se requiere conectividad de red (Internet) para este tutorial. También puedes adjuntar algún archivo al correo. El programa está escrito en script Python con biblioteca SMTP y biblioteca GPIO adafruit.

Herramientas necesarias :

  • Hueso de beagle negro
  • presionar el botón
  • CONDUJO
  • resistencia de 1 kΩ
  • resistencia de 330Ω

tablero de prueba

  • Conectores hembra a hembra

Configuración del entorno de software

Instale la última versión de Python en BBB como se explica en el tutorial Cómo crear el primer programa de Python con Beaglebone Black. La biblioteca Adafruit python –GPIO ya está instalada, pero también puede instalar manualmente la biblioteca llamada adafruit_BBIO. La biblioteca SMTP se instala con Python, pero verifíquela una vez antes de aplicarla.

Laboral

En este tutorial, se envía una notificación de alerta simple a una ID de correo electrónico específica. Antes de ejecutar la aplicación, es necesario establecer una conexión a Internet con el Beaglebone black. Puede elegir una conexión Ethernet o un dispositivo WI-FI. Este tutorial utiliza un cable Ethernet para proporcionar conexión a Internet. Cuando se presiona el botón, el correo electrónico se envía a una ID de correo electrónico específica con un mensaje predefinido. Cuando el script se está ejecutando, el programa entra en un bucle continuo. El LED se enciende cuando se presiona el botón y se apaga después de enviar el correo electrónico BBB.

Cuando se envía el correo electrónico, aparece el siguiente mensaje en el símbolo del sistema:

El correo electrónico ha sido enviado

Presione Ctrl+C para detener la ejecución del programa en la terminal de comando SSH.

Abra el buzón del destinatario y verifique si el mensaje fue recibido o no.

Captura de tela de e-mail enviado de Beaglebone Black

Fig. 1: Captura de pantalla de la correspondencia enviada desde Beaglebone Black

Descripción

Primero preparemos la conexión del circuito. Tome una placa de pruebas y suministre VCC y tierra desde BBB a la línea de la placa de pruebas. Conecte la alimentación de 3,3 V desde el pin número 3, tercio del cabezal P9 y tierra desde el pin número 2 y el cabezal P8. Conecte el terminal negativo del LED a tierra y el positivo a la resistencia de 330 ohmios. Conecte el otro extremo de la resistencia al pin número 10 del cabezal P8. El pulsador tiene dos terminales. Cualquiera de ellos se conecta a tierra. Suministre una resistencia VCC de 3,3 V a 1 k ohm a otro terminal de botón. Conecte el extremo común de la resistencia y el botón con el pin número 11 del encabezado P8. Suministre energía al Beaglebone negro conectándolo a la PC mediante un cable USB. Ahora tu circuito está preparado.

Abra la terminal de comando y acceda a Beaglebone black a través de SSH como se explica en Introducción a Beaglebone black. Cree un nuevo archivo usando el comando reproducir con extensión .py (es decir, led.py). Abra el archivo con cualquier editor de texto (es decir, nano, vim, etc.) y escriba el código en lenguaje Python.

Configuración SMTP

Puede enviar correo electrónico mediante SMTP a través de Internet, que administra el servicio a través de la red TCP/IP. Se requieren dos cosas para establecer una conexión con el servidor de correo electrónico:

  1. dirección del servidor de correo
  2. Número de puerto

La biblioteca SMTP tiene una función incorporada para configurar la configuración de envío de correo electrónico. Configure la dirección de correo electrónico y el número de puerto según la siguiente función:

smtplib.SMTP (“smtp.gmail.com”, 587)

Aquí utilicé el servidor de Gmail con el número de puerto apropiado para enviar correo electrónico. El primer argumento es la dirección del servidor de correo y el segundo argumento es el número de puerto.

Después de conectarse al servidor de correo electrónico, BBB (actuando como cliente) identifica y establece una conexión segura siguiendo las funciones respectivamente.

ehlo: habilita e identifica la conexión a un servidor de correo electrónico

starttls: proporciona una conexión segura para la transferencia de datos

Configure el ID de correo electrónico del remitente, la contraseña, el ID de correo electrónico del destinatario y el mensaje que desea enviar al destinatario.

Para = "ID de correo electrónico del destinatario"

De = "ID de correo electrónico del remitente"

Contraseña = “Contraseña de ID de correo electrónico del remitente”

mensaje = “¡¡¡Alerta!!! El botón está presionado”

Puede escribir un mensaje según su deseo.

Inicie sesión en el servidor con una identificación y contraseña específicas. Envíe el mensaje en el ID de correo electrónico del destinatario y cierre la conexión.

Configuración GPIO

Ya os expliqué la configuración GPIO en Switch Interface con Beaglebone negro.

Ejecute el script en la terminal:

Ingrese el siguiente comando con el nombre del archivo en el símbolo del sistema:

nombre del archivo python.py

es decir, python sendmail.py

Código fuente del proyecto

###


 importar smtplib
tiempo de importación
importar Adafruit_BBIO.GPIO como GPIO LED = "P8_10" BOTÓN = "P8_11" Configuración de GPIO (LED, GPIO.OUT) GPIO.setup (BOTÓN, GPIO.IN) Salida.GPIO (LED, GPIO.BAJO) mientras que Verdadero: Button_State = GPIO.entrada (BOTÓN) si Button_State == 0: Salida.GPIO (LED, GPIO.ALTO) hora de dormir (1) servidor = smtplib.SMTP("smtp.gmail.com", 587) servidor.ehlo servidor.starttls servidor.ehlo Para = "(correo electrónico protegido)" De = "(correo electrónico protegido)" Contraseña = "Contraseña" mensaje = "¡¡¡Alerta!!! Botón presionado" server.login (de, contraseña) server.sendmail (De, A, mensaje) servidor.salir print("El mensaje fue enviado") Salida.GPIO (LED, GPIO.BAJO)

###

Diagramas de circuito

Diagrama de circuito-Beaglebone-Negro

Vídeo del proyecto

Volver al blog

Deja un comentario

Los comentarios deben ser aprobados antes de su publicación.