Передача E-mail с помощью микроконтроллера PIC и модуля ESP8266


В одной из предыдущих статей на нашем сайте мы рассматривали подключение WiFi модуля ESP8266 к микроконтроллеру PIC, в этой же статье мы рассмотрим передачу E-mail (электронной почты) с помощью данных устройств. Для программирования микроконтроллера PIC мы будем использовать программы MPLABX и XC8, более подробно об их использовании вы можете прочитать в этой статье.

Внешний вид проекта передачи E-mail с помощью микроконтроллера PIC и модуля ESP8266

Также ранее на нашем сайте мы рассматривали передачу E-mail с помощью микроконтроллера AVR и платы Arduino.

Необходимые компоненты

  1. Микроконтроллер PIC16F877A (купить на AliExpress).
  2. Держатель микросхем на 40 контактов (купить на AliExpress).
  3. Программатор PICkit 3 (купить на AliExpress).
  4. Кварцевый генератор 20 МГц (купить на AliExpress).
  5. Регулятор напряжения 7805 (купить на AliExpress).
  6. Регулятор напряжения LM317 (купить на AliExpress).
  7. Модуль ESP8266 (купить на AliExpress).
  8. ЖК дисплей 16х2 (купить на AliExpress).
  9. Резисторы 1 кОм, 220 Ом, 360 Ом (купить на AliExpress).
  10. Конденсаторы 1 мкФ, 0,1 мкФ, 33 пФ (купить на AliExpress).
  11. Перфорированная плата и соединительные провода.
  12. Адаптер 12V для питания микроконтроллера PIC и модуля ESP8266.

Подготовка к передаче E-mail

Прежде чем приступать к сборке схемы и загрузке программы в микроконтроллер PIC, выполните ряд предварительных операций.

Шаг 1. Зайдите на сайт https://www.smtp2go.com/ и зарегистрируйтесь там в качестве нового пользователя. Введите ваше имя, адрес E-mail и пароль от адреса почтового ящика, с которого вы планируете отправлять электронные письма (E-mail).

Регистрация на сервисе smtp2go.com

В данном проекте мы в качестве адреса электронной почты будем использовать aswinthcd@ gmail.com, а в качестве пароля – circuitdigest.

Шаг 2. После нажатия на кнопку sign up сервис пошлет проверочное письмо на ваш введенный E-mail. В нашем случае это адрес aswinthcd@ gmail.com. Откройте это письмо и нажмите в нем на ссылку “ACTIVATE ACCOUNT” (активировать аккаунт).

Письмо для активации аккаунта на сервисе smtp2go.com

Шаг 3. После этого произойдет переход на адрес сервиса smtp2go.com, где вам будет необходимо ввести указанный при регистрации пароль. После этого вы войдете в свой аккаунт на сервисе smtp2go.com. С указанного вами E-mail мы будем отправлять письма с помощью модуля ESP8266.

Шаг 4. Теперь необходимо декодировать ваш E-mail и пароль к нем в формат base 64. Это можно сделать с помощью сайта https://www.base64encode.org/.

Преобразование адреса E-mail и пароля к нем в формат base 64

Декодированные таким образом значения для нашего проекта представлены в следующей таблице.

Параметр Обычный формат Формат base 64
Адрес E-mail aswinthcd@ gmail.com YXN3aW50aGNkQGdtYWlsLmNvbQ==
Пароль circuitdigest Y2lyY3VpdGRpZ2VzdA==

Теперь перейдем к аппаратной реализации нашего проекта.

Схема проекта

Схема подключения WiFi модуля ESP8266 к микроконтроллеру PIC представлена на следующем рисунке.

Схема подключения WiFi модуля ESP8266 к микроконтроллеру PICЖК дисплей включен в схему для целей отладки, его использование в данном проекте не является обязательным. Более подробно о его подключении к микроконтроллеру PIC вы можете прочитать в данной статье.

Схему проекта мы можете собрать на перфорированной или макетной плате.

Объяснение программы для микроконтроллера PIC

Полный текст программы приведен в конце статьи, здесь же мы рассмотрим его основные фрагменты.

Для передачи E-mail с помощью модуля ESP8266 мы будем использовать AT команды. Для этого нам будет необходимо выполнить следующую последовательность шагов:

  1. Установить режим работы модуля AP+STA (точка доступа и станция).
  2. Подключиться к точке доступа чтобы обеспечить соединение с сетью интернет.
  3. Разрешить множественные соединения (multiple connections).
  4. Запустить работу сервера на определенном порту.
  5. Установить TCP соединение с веб-сайтом SMPT2GO.
  6. Войти в раздел Login на веб-сайте.
  7. Ввести адрес E-mail и пароль к нему в формате base64.
  8. Войти в раздел From в E-mail.
  9. Войти в раздел To в E-mail.
  10. Ввести тему письма.
  11. Ввести тело письма.
  12. Обозначить конец письма.
  13. Передать E-mail.
  14. Завершить TCP соединение.

На первый взгляд выполнение всех этих операций может показаться очень утомительным процессом, но мы для упрощения этих процессов будем использовать специальную библиотеку для работы с модулем ESP8266. Скачать ее можно по этой ссылке, а описание ряда ее функций приведено в этой статье. Чтобы использовать функции из данной библиотеки не забудьте подключить ее заголовочный файл в начале кода программы.

В следующем фрагменте кода мы проверим установлена ли связь между микроконтроллером PIC и модулем ESP8266.

После этого установим на модуле ESP8266 режим 3. В этом режиме модуль сможет работать в качестве точки доступа и сервера.

Далее подключим модуль ESP8266 к Wifi роутеру используя имя пользователя и пароль (вам необходимо будет поменять эти параметры на значения для своего роутера).

Следующие две функции используются для разрешения множественных соединений и создания сервера на порту 80.

Далее установим TCP соединение с сервером SMPT2GO.

После того как соединение будет установлено перейдем на страницу входа (Login page) сервиса. Используем значения Email и пароля нему в формате base 64 (вам необходимо будет изменить эти значения на свои).

Затем укажем адрес электронной почты, с которого будет производиться отправка Email.

Далее укажем адрес электронной почты, на который будем отправлять Email.

С помощью следующей функции мы укажем серверу SMPT2GO что далее мы будем вводить тему и тело письма.

Затем укажем тему письма.

Далее укажем содержание (тело) письма.

После этого сообщим серверу SMPT2GO что мы закончили заполнение реквизитов (тема и содержание) письма. Это можно сделать с помощью функции:

И, наконец, завершим TCP соединение с сервером SMPT2GO с помощью функции:

Тестирование работы проекта

После того как схема проекта будет готова и программа загружена в микроконтроллер вы можете приступить к тестированию работы проекта. Если все работает так, как надо, то на ЖК дисплее должны отображаться происходящие в проекте процессы, после чего на нем должно появиться сообщение “Mail sent”, что будет свидетельствовать о том, что электронное письмо успешно отправлено. После этого проверьте папку "Входящие" (также не забудьте проверить и папку со спамом) электронного ящика, на который вы отправляли Email. Вы должны увидеть в ней письмо следующего содержания.

Электронное письмо, переданное с помощью нашего проекта

Более подробно работу проекта вы можете посмотреть на видео, приведенном в конце статьи.

Исходный код программы

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
150 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *