- PVSM.RU - https://www.pvsm.ru -

Когда я имел удовольствие побывать в мастерской у моего товарища — блогера Джимми DiResta — прошлой осенью, то прихватил оттуда один из множества трафаретов его логотипов. Честно сказать, ума не приложу, почему мне это взбрело в голову — эта штуковина оказалась в моем рюкзаке каким-то загадочным образом. Даже не знаю, как она туда попала.
Поначалу я призадумался, как этот трафарет вообще применить. Но, оказавшись у себя в мастерской, решил собрать до нелепости раздражительную WiFi-систему оповещения, которая при каждой загрузке Джимми нового видео на YouTube будет мигать красной надписью DIRESTA и издавать ушераздирающий сигнал. Получившая название DiRestAlarm, эта система стала одной из глупейших вещей, когда-либо мной собранных. Я был очень горд.
Здесь же я приведу для вас инструкцию по сборке упрощенной версии. Обладая базовыми знаниями по работе с Raspberry Pi и имея такой с подключением к интернету, вы сможете собрать собственный оповещатель, который будет уведомлять вас о загрузке любимым блогером нового видео на YouTube.

Рис. A
Схема для упрощенной версии оповещателя откровенно проста (Рис. А). Красный светодиод вместе с его резистором подключается к вводу-выводу Raspberry Pi через контакт 18, а зеленый светодиод через контакт 23. Кнопка, которая будет служить для сброса оповещения, подключается к контакту 17.

Рис. В

Рис. С
Готовая схема, показанная на рис. В и С, представляет всю необходимую основу.
Чтобы подготовить Pi к получению уведомлений с YouTube нужно настроить для него собственный аккаунт Google. Назвать можете его на свое усмотрение. В результате у вас появится и уникальная учетная запись Gmail, и логин для YouTube.
Авторизуйтесь на YouTube с помощью созданной учетной записи Google и подпишитесь на интересующий вас канал. Проверьте, чтобы колокольчик рядом с кнопкой «Подписаться» был установлен на «Все» уведомления.
Затем перейдите в Настройки – Уведомления – Уведомления по электронной почте и включите «Уведомления о последних действиях на моем канале». Также убедитесь, что в пункте «Ваши настройки» включена опция «Подписки».
Теперь вы будете получать email-уведомления на новый аккаунт Gmail о каждой публикации видео на выбранном канале.
Для упрощения парсинга электронной почты мы задействуем библиотеку IMAPClient, которую нужно будет установить на ваш Raspberry Pi с Raspbian. Для установки будет достаточно ввести в терминале:
pip install imapclient
Если что, документация по IMAPClient тут [1].
Самое же сердце оповещателя – это Python скрипт MakerAlarm.py, который потребуется загрузить на Raspberry Pi. Весь код бесплатно доступен для скачивания в виде архива по адресу makezine.com/go/ytmakeralarm.
В этом скрипте вам нужно обратить внимание на несколько переменных.
FROM и SUBJECT – это атрибуты, по которым скрипт будет производить поиск при проверке вашей почты. Все прочие сообщения будут игнорироваться. MAIL_CHECK_FREQ определяет частоту проверки писем. По умолчанию это будет происходить раз в 600 секунд.
В целях тестирования можете изменить переменные FROM и SUBJECT, если хотите отправлять на Pi тестовые письма с личного почтового ящика. Только не забудьте поменять их обратно, когда нужно будет переключаться на проверку реальных уведомлений YouTube.
Помимо этого, нужно будет настроить USERNAME и PASSWORD. USERNAME будет просто представлять адрес созданной в начале почты. А вот PASSWORD будет не паролем для аккаунта Google, а уникальным паролем, который вы создадите на следующем шаге.
Прежде, чем ваш Pi сможет проверять созданный аккаунт Gmail, ему потребуется специальный пароль, который Google называет «паролем приложения». Для его настройки авторизуйтесь в созданном аккаунте Google, выберите «Управление аккаунтом Google» и перейдите в меню «Безопасность».
В разделе «Вход в аккаунт Google» выберите «Двухэтапная аутентификация». Это нужно сделать, чтобы получить возможность создавать пароли приложений. Просто следуйте инструкциям и введите код для подтверждения, что это вы.
Возвращайтесь на страницу «Безопасность», где теперь у вас появится возможность выбрать «Пароли приложений». В опции «Выберите приложение» укажите «Почта», в опции «Выберите устройство» укажите «Другое» и введите нужное имя, например «YouTube-оповещатель». В завершении кликните «Сгенерировать». Google создаст 16-символьный пароль, который можно использовать исключительно для оповещателя. Скопируйте пароль, прежде чем продолжать, так как сервис больше его не покажет.
Теперь вставьте пароль в переменную PASSWORD файла MakerAlarm.py и сохраните изменения. Вот, собственно, и все.
Для использования оповещателя необходимо, чтобы Pi был подключен к интернету. Если все нормально, откройте терминал, перейдите в каталог с загруженным скриптом и введите:
python3 MakerAlarm.py

Рис. D

Рис. E
Когда программа запустится, произойдет две вещи: загорится красный светодиод, и Pi проверит свой аккаунт Gmail. Если он не найдет непрочитанные уведомления от YouTube, то светодиод продолжит гореть (Рис. D), а скрипт отобразит в терминале таймер, отсчитывающий время до следующей проверки (Рис. Е).

Рис. F

Рис. G

Рис. H
Если же уведомление будет обнаружено (Рис. F), тогда несколько раз промигает зеленый светодиод, после чего продолжит гореть (Рис. G) в качестве напоминания о новом видео на канале. Когда вы это видео посмотрите, просто нажмите кнопку сброса, чтобы вернуть оповещатель обратно в красное состояние (Рис. H). До этого момента скрипт фоново продолжит проверять поступление новых уведомлений, и в случае обнаружения непрочитанных будет активировать оповещение.
Теперь, когда вы наладили основу будущего оповещателя, вам наверняка захочется его полноценно доработать – возможно, напечатать красивый корпус на 3D-принтере или выпилить его из дерева. Вы также можете усилить эффект оповещения, добавив больше световых элементов или пьезодинамик.
Конечно, если вы захотите сделать нечто радикально привлекающее внимание, то можете последовать моему примеру и подцепить оповещатель к громкому мотоциклетному гудку. (Для этого потребуется источник питания на 12В и реле).
Но я не рекомендую вам делать это, если устройство будет использоваться у вас в мастерской, где вы работаете с опасным оборудованием!

Автор: Дмитрий Брайт
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/blog-kompanii-ruvds-com/371870
Ссылки в тексте:
[1] тут: http://imapclient.readthedocs.io/en/2.1.0
[2] Источник: https://habr.com/ru/post/648977/?utm_source=habrahabr&utm_medium=rss&utm_campaign=648977
Нажмите здесь для печати.