Рубрики
Проекты на ESP8266

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

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

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

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

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

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

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

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

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

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

Основными элементами нашей схемы являются Wi-Fi модуль ESP8266 и макетная плата MSP430 (аналог платы Arduino, только с микроконтроллером MSP430). ЖК дисплей 16×2 (опционально, можно не использовать) применяется для отображения различных сообщений в процессе работы нашего проекта. Контакт 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.

Объяснение программы для макетной платы 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 не будет опубликован. Обязательные поля помечены *