ru:https://highload.today/blogs/tuk-tuk-sekretnyj-bar/ ua:https://highload.today/uk/blogs/tuk-tuk-sekretnyj-bar/
logo
Истории      23/02/2022

«Пишешь в чат “тук-тук” — и тебя впускают»: как мы за два вечера автоматизировали секретный бар в Киеве

Максим Мельник BLOG

Python Developer / BA

Наверное, это не самый стандартный формат статей, но хотелось бы рассказать довольно интересную ситуацию, которая с нами недавно произошла.

Секретный бар

Дело было вечером, мы гуляли по ПодолуИсторическая местность Киева, низинная часть исторического центра города, древний посад ремесленников и купцов, искали бар, решили заскочить в «Поток» к знакомым на Воздвиженке.

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

В общем, мы решили немного упростить ребятам жизнь. Посидели, подумали, придумали примерно следующее:

Я, как бармен, хочу иметь визуальное и звуковое оповещение о гостях, которые ждут под дверью. Не хочу дверной звонок, хочу понимать, что гость ждет, и хочу, чтобы только люди, которым я позволю, могли «постучать» в дверь.

 Обсудили с барменами, им идея понравилась, на этом и разошлись.

Наша разработка и воплощение

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

Бармен очень рад нашей затее!

Бармен очень рад нашей затее!

Ближе к вечеру у нас был готовый прототип системы.

Так как чат, куда пишут «тук-тук» и где происходит общение, уже был, просто работал в ручном режиме — нужно было придумать, как вытаскивать оттуда сообщения.

Юзербот

Изначально хотели остановиться на юзерботе на основе Pyrogram, привязанному к аккаунту бармена, чтобы выглядело естественнее, но позже сделали выбор в сторону обычного бота на aiogram.

Онлайн-курс "Асинхронне програмування" від robot_dreams.
Опануйте підходи асинхронного програмування на Python для розробки швидких та ефективних програм.Вас навчатиме Lead Python Software Engineer у SoftServe.
Детальніше про курс

Логика у бота не очень сложная: проверка сообщений на ключевые слова с учетом опечаток.

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

Нам хотелось создать что-то максимально простое и удобное

Нам хотелось создать что-то максимально простое и удобное

Мы остановились на варианте с использованием расстояния ЛевенштейнаМетрика, измеряющая по модулю разность между двумя последовательностями символов. и словаря из возможной лексики. Дополнительные навороты были отброшены за ненадобностью.

Система оповещения

С системой оповещения получилось веселее. За барной стойкой была установлена светодиодная лента, которая изначально не предполагала какую-либо интеграцию или вообще модернизацию, да и работала она по радиопульту.

Изначально мы попробовали послушать частоты и попытаться перехватить команды с пульта, чтобы потом повторять их, но или мы были слишком пьяные, или оно так не работает — мы не разбирались особо.

По итогу было принято не самое надежное, но универсальное решение: взять сервомотор, примотать его изолентой к пульту, и нажимать кнопку актуатором. План надежный, как швейцарские часы. Чтобы проверить гипотезу, этого хватит.

Кажется, сердце клиента растоплено

Кажется, сердце растоплено

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

По крайней мере, так оно должно было проработать до тех пор, пока мы не заменим пульт или не поставим светодиодную ленту «поумнее».

Когда вся система была наконец-то собрана, мы еще где-то час провели за настройкой доступа в интернет, автоматическим запуском и подобными вещами.

Онлайн-курс "Управління фінансами у бізнесі" від Laba.
Розробіть фінансову стратегію для досягнення більшого прибутку.Досвід і фідбек від лектора з 11-річним досвідом у фінансовому управлінні в N-iX, SoftServe та Nestlé.
Детальніше про курс

Результат

По итогу: у нас был чат, в который ты пишешь «пустите» или «пустрпте» или «тук-тук», и эта штука выдает сигнал на систему оповещения.

Мы довольно весело провели два вечера, чуть улучшили свои навыки в работе с хардвером, повеселились, решили «боль» бармена.

Что в итоге?

Система работает уже больше месяца, нареканий не поступало.

Наша команда за работой

На начатом останавливаться не планируем!

На этом еще не все. Проект не закрыт и запланированы некоторые доработки:

  • замена сервомотора и пульта на радиоконтроллер или полная замена светодиодной ленты на «умную»;
  • более качественная защита системы от перебоев с питанием (сейчас настроен авторебут, но работает он через раз);
  • запрограммировать поинтереснее звук на пищалку.

Несмотря на некоторые спорные технические решения, бармены настолько привыкли к этой штуке, что часто звучит вопрос: «Как мы без этого жили раньше?»

Как по мне, как раз это и маркер хорошо закрытой потребности пользователя и работы, которая проделана не зря!

Курс English For Tech: Speaking&Listening від Enlgish4IT.
Після курсу ви зможете найкраще презентувати свої досягнення, обговорювати проекти та вирішувати повсякденні завдання англійською мовою. Отримайте знижку 10% за промокодом TCENG.
Дізнатись про курс

Читайте также: Приглашал спутниц попробовать наливку, но сам — за рулем, поэтому не пил. Как я придумал портативный алкотестер

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

Онлайн-курс "Business English for HR" від Vocabulaba.
Прокачайте професійну HR-англійську.Навчіться он- і офбордити кандидатів у кроскультурних командах, а також грамотно проводити ділове листування.
Детальніше про курс

Этот материал – не редакционный, это – личное мнение его автора. Редакция может не разделять это мнение.

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: