Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Привет и добро пожаловать в мой первый учебник.
Я покажу вам, как отправлять электронные письма с любого модуля Wi-Fi ESP8266 с помощью сервера Gmail.
Это руководство полагается на ядро Arduino для чипа ESP8266 WiFi, что делает из него автономный микроконтроллер (нет необходимости в AT-командах и мастер-устройствах).
Вы можете подключить датчики и получать уведомления по электронной почте об изменениях.
Обновление 2018:
Вот более новый код, написанный как arduino lib. Он поддерживает несколько получателей. Также нет необходимости кодировать логин и пароль в base64, теперь он использует ESP core base64 lib. github
Обновление 2019:
- Этот код не работает с ядром ESP8266 для Arduino версии 2.5.0!
- Временное решение с использованием ядра версии 2.4.2
Прежде чем мы начнем
Требуемое оборудование:
- Любой ESP8266 (я использую ссылку ESP8266-07 на ebay).
- В моем случае плата USB UART (я использую модуль адаптера последовательного интерфейса FT232RL FTDI на ebay). Не требуется, если на вашей плате есть порт USB.
- Некоторые соединительные кабели.
- WIFI роутер конечно.
Список может быть неполным.
Необходимое программное обеспечение:
- Программное обеспечение Arduino
- Ядро Arduino для чипа ESP8266 WiFi
- Эскиз с проектом и тестовым кодом (ESP8266_Gmail_Sender.zip).
Шаг 1. Настройка учетной записи Gmail
Мы собираемся использовать SMTP для отправки сообщений.
Используя SMTP-аутентификацию, мы предоставляем только адрес электронной почты и пароль, по умолчанию Google использует более сложные методы проверки, поэтому нам нужно изменить настройки.
Зайдите в настройки своей учетной записи Google и включите «Разрешить менее безопасные приложения» внизу страницы.
Это означает, что приложениям нужны только ваш адрес электронной почты и пароль при входе в вашу учетную запись Gmail.
Если вас беспокоит безопасность, просто используйте другую учетную запись
Шаг 2: отредактируйте эскиз
Я написал небольшой скетч, который отправил одно тестовое сообщение, чтобы проверить, все ли работает должным образом
Когда все программное обеспечение загружено и установлено:
- Разархивируйте ESP8266_Gmail_Sender.zip
- Найдите и откройте ESP8266_Gmail_Sender.ino
- Задайте имя точки доступа Wi-Fi (SSID) и пароль. Должно быть так:
const char * ssid = "MyWiFi";
const char * пароль = "12345678";
В функции setup () найдите
if (gsender-> Тема (тема) -> Отправить ("[email protected]", "Тест настройки"))
Первый параметр функции Send () - это адрес электронной почты получателя, второй - текст сообщения.
Измените получателя с [email protected] на свой адрес электронной почты, на который будет отправлено сообщение.
Я получаю много писем каждый день, потому что некоторые из вас, ребята, невнимательны, ПОЖАЛУЙСТА, НЕ ЗАБУДЬТЕ ИЗМЕНИТЬ ЭЛЕКТРОННУЮ ПОЧТУ ПОЛУЧАТЕЛЯ
Функция темы не обязательна! Тема задается один раз и сохраняется до тех пор, пока вы ее не измените.
Вы можете отправлять письма без темы или если она уже установлена
gsender-> Отправить (кому, сообщение);
Теперь откройте вкладку Gsender.h
Нам нужен адрес электронной почты в кодировке Base64 и пароль учетной записи Gmail, которая будет использоваться для отправки писем
Вы можете использовать base64encode.org для кодирования, результат должен быть примерно таким:
const char * EMAILBASE64_LOGIN = "Y29zbWkxMTExMUBnbWFpbC5jb20 =";
const char * EMAILBASE64_PASSWORD = "TGFzZGFzZDEyMzI =";
Теперь установите поле FROM
const char * FROM = "[email protected]";
На этом все.
Шаг 3. Загрузка и тестирование кода
Сохранить изменения. Не забудьте установить свою доску в меню инструментов.
Загрузите скетч на свою плату ESP8266.
Откройте последовательный монитор, плата распечатает сообщения журнала.
Это все, что я надеюсь, вы получите "Сообщение отправлено". Спасибо…