Рубрики
Схемы на PIC

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

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

Также ранее на нашем сайте мы рассматривали передачу 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).

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

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

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

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

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

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

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

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

Схема подключения 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. Вы должны увидеть в ней письмо следующего содержания.

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

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

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

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

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

Ваш адрес email не будет опубликован.