Введение
Никакого ноу-хау. E-Mail информатор как устройство, вещь не новая. В сети есть аналогичные устройства. Так что в плане идеи ничего нового.
Для чего оно мне?
На работе и дома я пользуюсь электронной почтой. В принципе, на компьютере есть всплывающие сообщения о новых письмах, как у почтовых клиентах, так и у WEB-версиях почтовых клиентов. Но! Во первых – уведомление не висит постоянно, а во вторых, я далеко не всегда нахожусь возле компьютера, или бывает еще хуже – я просто забываю запустить почтовый клиент. В общем, есть способ прозевать важное письмо! И не редко мои коллеги лично сообщают мне о письмах.
Концепт велосипеда
Зачем изобретать? Сначала я решил поискать готовое устройство или программную реализацию и повторить. Сходу не нашел. Ну как сходу? Пару дней порылся в интернете и ничего толково описанного или приемлемого для себя не нашёл. Ну и забросил это дело. Позже, один мой приятель указал мне на библиотеку для работы с почтой. Я попробовал библиотеку, она оказалась вполне работоспособной, и идея собрать информатор снова задышала!
На чем будем делать? Из названия уже понятно, что сердцем устройства является ESP32. В моём случае это плата ESP32-PICO- KIT, которая была у меня в запасе. Индицировать будем светодиодом WS2812B, а точнее обрезком ленты из четырёх светодиодов. Из компонентов собственно всё. Всё это будет расположено в небольшой коробочке стилизованной под конверт. О коробочке чуть позже.
Функции
Мой информатор будет читать четыре ящика. Каждый из четырёх светодиодов будет отвечать за свой ящик. Настройка параметров осуществляется через WEB-интерфейс.
При подаче питания, информатор плавно вспыхивает всеми светодиодами белым цветом. Если информатор не находит точку доступа или точка доступа еще не была прописана, то информатор вспыхивает желтым цветом. При успешном подключении к точке доступа, информатор вспыхивает зелёным цветом.
При первом включении, информатор работает в режиме точки доступа.
Параметры точки доступа информатора:
Набрав в адресной строке браузера 192.168.4.1 будет предложено ввести имя пользователя и пароль.
- имя пользователя: admin
- пароль: notifier2020
после чего откроется страничка информатора.
На страничке указываются адреса, сервера и пароли ваших почтовых ящиков. Цвет свечения светодиода для каждого ящика. Интервал опроса ящиков в минутах.
Кнопки:
«Save accounts» – сохранение параметров ящиков
«Force read» – принудительное чтение
«Test LED» – тестирование светодиодов. При включенном тесте светодиодов – активируется FTP-сервер. FTP-сервер требуется для отладочных целей, например: изменения HTML-странички информатора.
Далее идут настройки точки доступа, к которой информатор будет подключен. Требуется указать SSID и пароль вашей домашней точки доступа.
Вот и всё про функционал. Указали параметры ящиков, цвет светодиода, интервал чтения и поехали!
Корпус
Как я уже и говорил – корпус стилизован под конверт, напечатан на 3D-принтере.
Корпус состоит из четырёх печатных частей:
- Передняя часть – смоделирована и напечатана с первой попытки.
- Средняя часть – перегородка, панель светодиодов. Удалась со второй попытки. В первой версии я сделал слишком тонкие перегородки секторов, которые быстро сломались.
- Задняя часть – отсек для ПП контроллера ESP32
- Рассеиватель – напечатан из прозрачного пластика. Сначала, в качестве рассеивателя я использовал кусок прозрачного оргстекла заматированного наждачной бумагой, но рассеивание было так себе. У печатного варианта рассеивание шире. Вероятно из-за ячеистого заполнения, но возможно при печати сплошным заполнением тоже будет хорошо.
Корпус скреплен шурупами. После я его окрасил матовой черной краской. Краска отчасти скрывает артефакты печати.
Вот так собирается корпус:
Включение
Финал
Вот так удобно разместился информатор на коробе для розеток.
Резюмируя, скажу, что устройство для меня оказалось очень полезным. Радует глаз, ожидаемый эффект получен – письма теперь не пропускаю.
В планах:
- Переделать хранение аккаунтов. Сейчас аккаунты хранятся на SPIFFS микроконтроллера, доступ к которому осуществляется через FTP-сервер.
- Улучшение WEB-интерфейса, адаптация к мобильной версии. Требуется помощь сообщества, в HTML я профан.
Файлы и ссылки
Исходники на github
Детали корпуса для 3D-печати
Очевидно же, что устройство проектировалось для конкретного применения, без претензий на многофункциональность.
З.ы. а вот аккумуляторов не хватает и мелодичных звуковых оповещений — можно даже приятным женским голосом. ))
Женский голос вполне реализуемо, но мне не нужно :-)
Думаю, что на странице библиотеки, вы найдёте больше информации.
github.com/mobizt/ESP32-Mail-Client
Там нет забора почты. Программа периодически спрашивает у сервера, сколько непрочитанных писем есть в Inbox. Если непрочитанные есть — сигналит лампочкой.
Работает только по протоколу IMAP и только в шифрованном варианте (поскольку номер порта 993 прописан в исходнике). POP3 не поддерживается.
Да, только imap
Насколько я понял из описания использованной библиотеки, при строке критериев «UID SEARCH <чего-то-там>» с сервера будут запрошены только идентификаторы (UID) этого <чего-то-там>.
Ну, и то, о чём я ниже написал.
Клиент у себя просто хранит номер этого последнего.
У IMAP есть фундаментальный недостаток: письма обязаны храниться на сервере. Невозможно сделать так, чтобы они осели на клиентской машине, а с сервера удалились.
Это в NNTP можно запросить только сообщения, пришедшие после определённого. А в POP3 нужно хранить идентификаторы.
Нет, стандарт явно требует, что UID каждого сообщения от сессии к сессии не менялся.
Иначе как можно было бы обеспечить поочерёдную работу с почтовым ящиком с разных мест? Ведь удаление хотя бы одного сообщения одной программой неизбежно ломало бы работу другой.
Не, это всё несложно реализовать, но делать такое на мелком устройстве — так себе удовольствие, особенно, если есть гораздо более удобный протокол IMAP.
POP3 ведь изначально делался с учётом возможности работы с нескольких точек — и не через telnet ;-) А без UIDL каждый новый сеанс все старые письма приходилось бы принимать заново.
На клиенте — да, надо.
Вот именно. И строго в рамках этого подхода можно было бы потребовать, чтобы идентификаторы шли в нарастающем порядке, и это резко упростило бы приём новых писем. В NNTP, например, сделано именно так, а ведь это одних лет протоколы.
Список и сейчас приходится поддерживать. А удалять — желательно не на автомате, а по явно отдаваемой пользователем команде, чтобы удаление письма в одной программе не приводило к его исчезновению в другой.
А я не про это устройство говорю, а про работу с почтой нормальными клиентами.
Выглядит очень презентабельно и информационно. Бросил в закладки.
тут есть сам проект
А так получается оповещатель спама и уведомлений с форумов и соцсетей
Кстати, чем телефон не устраивает? Вполне себе уведомляет и настроек много
Телефон не устраивает тем же чем и компьютер. Он бывает целыми днями валяется в куртке, в машине.
Кому удобно 10 ящиков, кому удобно 1
Чисто моё мнение. Извините, если кого задело.
вот иногда ждёшь ждёшь _важное_ письмо по работе, сидишь проверяешь почту перед компом, никуда не идёшь — как раз напоминаею сам себе дрессипованную обезьянку.
что характерно, если отвлечешься другим да забудешь проверить — окажеться что письмо давно прислали, но вечером по нему работать уже поздно, а завтра другие срочные дела… в результате рабочий вопрос перемещается а целый день… это неприятно.
с нынешней ситуацией когда то никто не пишет то появляется толпа клиентов и всем что-то срочно.
но единственное для этого не надо такой девайс просто телефон посту проверяет регулярно, а когда он пискнет — да бежишь отвечать. ну точнее по телефону посмотреть что не спам можно, и это только с рабочей почтой такой режим.
Я себе такой сделал (фото не моё, лень в кабинет идти):
Если интересно, вот ссылка на Вещьленную — www.thingiverse.com/thing:3057483
learn.adafruit.com/gmailbox
Но вообще вещь действительно любопытная, хотя почтовый ящик показанный выше смотрится более эффектно :)
и это после того как явный спам удален.
2. При таком количестве непрочитанных и «нужно регулярно читать/разбирать», вам этот девайс ещё не скоро пригодится. :D
2) я про то и писал, что клевая штука, но есть момент. это как я себе браслет купил, чтобы месаги в телеге не пропускать, толку мало оказалось, хорошо архив сделали ибо там 27к сообщений из разных каналов, которые я точно никогда не прочитаю. только поиском когда нить, может быть.