Передача Email с помощью ESP8266 и макетной платы MSP430


Технологии интернета вещей (Internet of Things, IoT) становятся все более популярными в современном мире, стимулируя развитие и других, смежных технологий. Одной из базовых задач, которые должны уметь делать устройства, функционирующие в сфере интернета вещей, является передача Email на заданный адрес электронной почты. Поэтому в данной статье мы рассмотрим обучающий проект, в котором при обнаружении огня будем отправлять Email с помощью модуля ESP8266 и макетной платы MSP430, предупреждающее об опасности.

Внешний вид проекта передачи Email с помощью ESP8266 и макетной платы MSP430

Также на нашем сайте вы можете посмотреть другие проекты, в которых рассматривалась передача Email (электронной почты) с помощью микроконтроллеров (микроконтроллерных плат):

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

  1. Модуль ESP8266 (купить на AliExpress).
  2. Макетная плата (Launchpad) MSP430 (купить на AliExpress).
  3. Датчик огня (Fire Sensor) (купить на AliExpress).
  4. ЖК дисплей 16x2 (купить на AliExpress).
  5. Потенциометр 10 кОм (купить на AliExpress).
  6. Источники питания 3.3v и 5v.
  7. Соединительные провода.
  8. Макетная или печатная плата.

Создание аккаунта для передачи E-mail

Для передачи Email с помощью Wi-Fi модуля ESP8266 и макетной платы MSP430 нам необходимо создать себе аккаунт для передачи электронной почты (email account), который может быть создан с помощью такого сервиса как https://www.smtp2go.com/. После регистрации в данном сервисе запомните адрес электронной почты и пароль к ней – они нам понадобятся далее в программе для MSP430.

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

Настройка аутенфикации в сервисе smtp2go

Также нам необходимо конвертировать адрес электронной почты (E-mail ID) и пароль в формат base 64 с помощью веб-сайта https://www.base64encode.org/.

Конвертирование данных в формат base 64

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

Схема проекта для передачи Email с помощью ESP8266 и макетной платы MSP430 представлена на следующем рисунке.

Схема проекта для передачи Email с помощью ESP8266 и макетной платы MSP430Основными элементами нашей схемы являются Wi-Fi модуль ESP8266 и макетная плата MSP430 (аналог платы Arduino, только с микроконтроллером MSP430). ЖК дисплей 16x2 (опционально, можно не использовать) применяется для отображения различных сообщений в процессе работы нашего проекта. Контакт CH_PD модуля ESP8266 подключен к 3.3V. Управляющий сигнал с датчика огня поступает на макетную плату MSP430, которая, в свою очередь, инициирует передачу Email при обнаружении огня.

Контакты Rx и Tx модуля ESP8266 непосредственно подключены к контактам P1_4 и P1_3 макетной платы MSP430. Контакты rs, RW и en ЖК дисплея подключены к контактам P2_4 и P2_3 макетной платы. Контакты данных ЖК дисплея D4-D7 подключены к контактам P1_5, P2_0, P2_1, P2_2 макетной платы. ЖК дисплей запитывается от напряжения 5v и его земля (ground) подключена к земле (GND) макетной платы MSP430. Датчик огня подключен к контакту P2_5 макетной платы.

Внешний вид собранной конструкции проекта показан на следующем рисунке.

Внешний вид собранной конструкции проекта

Ниже показаны внешний вид и распиновка модуля ESP8266.

Внешний вид модуля ESP8266 Распиновка модуля ESP8266

Если вы только начали изучение данного модуля, то советуем прочитать статью про начало работы с модулем ESP8266.

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

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

Первым делом в программе нам необходимо подключить библиотеки для работы с ЖК дисплеем и библиотеку SoftwareSerial для создания порта последовательной связи программным способом – этот порт будет нам необходим для обмена данными с модулем ESP8266. Также инициализируем контакт для работы с датчиком огня и объявил ряд необходимых нам массивов и переменных.

Далее запрограммируем функцию connect_wifi, которая будет использоваться для подключения модуля ESP8266 к сети Wi-Fi. В эту функцию мы будем передавать три аргумента: команду, ответ и время для считывания ответа. Код программы внутри этой функции будет последовательно выполняться до тех пор пока модуль ESP8266 будет подключен к сети Wi-Fi.

После этого в функции setup мы инициализируем последовательную связь для целей отладки и последовательную связь с модулем ESP8266 и зададим режим работы для контакта, к которому подключен датчик огня (на ввод данных). Далее мы инициализируем ЖК дисплей и выведем на него приветственное сообщение, затем инициализируем Wi-Fi и подключимся к роутеру.

После успешного подключения к роутеру Wi-Fi мы переходим в функцию loop, в которой будем ждать события (триггера) чтобы передать Email. Этим триггером будет сигнал с датчика огня при обнаружении им пламени.

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

Нам необходимо вводить адреса электронной почты отправителя и получателя в формате base64encoded, мы их ранее конвертировали в этот формат с помощью сервиса https://www.base64encode.org/.

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

Примечание: многие Email серверы не принимают электронные письма с IP адресов, выпущенных неизвестными серверами.

Пример, когда Email распознано как спам

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

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

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

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

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