Как мы сделали колокольчик, который звенит при поступлении оплаты за размещение вакансий

Инструкция старшего электрика vc.ru.

В избранное

В избранном

В конце 2017 года на vc.ru появился сервис «Вакансии». Работает он так: пользователь заполняет форму вакансии и оплачивает банковской картой 5 тысяч рублей за размещение объявления. После этого деньги замораживаются на счету, пока модератор не одобрит вакансию.

Во время одного из обсуждений Владислав Сергеевич пошутил, что было бы круто сделать устройство, которое будет уведомлять о новых заявках — чтобы предупредить модератора, да и вообще, чтобы в офисе радостнее было работать.

В голове сначала нарисовалась картина из будней Уолл-стрит, когда трейдер звонит в колокол при удачной сделке.

Однако колокол — слишко громко и громоздко. Поэтому я вспомнил о настольном колокольчике, которые устанавливают на ресепшенах в отелях. Его я и взял за основу конструкции.

Что еще нужно

Помимо колокольчика, который я купил в «Комус», нужен был компьютер, который бы мог отвечать за всю логику. У нашего арт-директора как раз был Raspberry Pi, который он однажды дал мне для экспериментов и который я специально забыл ему вернуть.

Далее нужен двигатель, который бы приводил в действие колокольчик. Для этих целей прекрасно подходит соленоид — в отличие от обычных моторчиков у него поступательное, а не круговое движение, и работает он в режиме включен или выключен. Кроме того, соленоид маленький по своему размеру и прекрасно помещается внутри настольного колокольчика. То, что нам нужно.

Еще нужен диод, транзистор и резистор для того, чтобы соединить соленоид с Raspberry. Но об этом чуть позже.

Сначала заказал не тот соленоид — слишком мощный. Но потом исправился.

1. Готовим Raspberry Pi

На Raspberry я установил стандартную операционную систему Raspberry NOOBS. У нее есть привычный графический интерфейс, который не понадобится, и предустановленные приложения, которые почти не будут использоваться. Главное, что пригодится — терминал.

ОС Raspberry Pi

Так как устройство будет находиться в Москве, а сам я пока живу в Петербурге, сразу после установки операционной системы настроил инструменты для удаленного управления Raspberry:

  1. VNC — позволяет подключаться к рабочему столу Raspberry Pi через облако. Установлен по умолчанию, достаточно только зарегистрироваться.
  2. Dataplicity — доступ к командной строке Raspberry через интернет. Устанавливается при помощи одной команды, которая генерируется при регистрации на сайте Dataplicity.
  3. Git — для того, чтобы удобно загружать написанный код на Raspberry. Устанавливается при помощи команды sudo apt-get install git. Сам код я разместил на Github. Для того, чтобы скопировать его на Raspberry, нужно ввести команду git clone и URL-адрес хранилища Github. В моём случае git clone http://github.com/kontsarenko/raspberry-bell. Для последующего обновления кода — git pull.

2. Берем паяльник в руки

В моем случае подзаголовок немножко другой: покупаем паяльник и гуглим, как им пользоваться.

Мне повезло: в интернете я нашел готовую схему с Raspberry Pi и небольшим соленоидом, который не требует дополнительного источника питания и полностью работает на мощностях микрокомпьютера.

Перерисовал схему так, чтобы было понятно таким гуманитариям, как я:

Что на схеме:

  1. Резистор 1 кОм.
  2. Транзистор TIP120 Darlington NPN.
  3. Диод 1N4004.
  4. Соленоид 5V.

GND, 5V и GPIO — это выходы на плате Raspberry Pi, к которым подключается вся схема. Для моей модели B расположение выходов на компьютере выглядит вот так:

У каждого GPIO-выхода есть свой номер. Я подключил схему к контакту номер 18 (просто потому, что могу). Если не вдаваться в технические подробности, то вся схема работает так: на выход GPIO мы с помощью специального скрипта отправляем сигнал, он «включает» схему и приводит в действие соленоид. Затем отключаем сигнал на GPIO, соленоид возвращается на своё место.

Сначала я собрал схему на монтажной плате, чтобы можно было проверить её работу:

2. Пишем бота для анализа Slack

Чтобы не отвлекать отдел разработки на важную и приоритетную бизнес-задачу по созданию колокольчика, я решил сделать всю систему на основе бота.

Каждый раз, когда пользователь оплачивает вакансию, к нам в Slack приходит уведомление типа »

©  vc.ru