«Думаете, я маньяк?». Как белорусский разработчик строит подземную мусорку

23 января 2018, 13:23

Минский разработчик Александр Богданович увлечён автоматизацией рутины и модным IoT. Накопив солидный опыт за 10+ лет работы в ИТ-сфере, он решил выплёскивать творческую энергию в создание новых устройств, которые будут работать так, как хочется, а не так, как прописано в руководстве (да и кто его читает!). В сегодняшней колонке на dev.by Александр рассказывает о строительстве подземной мусорницы для своего дома.

Читать далее...

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

Как и зачем я строю подземную мусорку

У каждого на этот счёт будет своё мнение. На практике же расклад следующий: мусор из нашего посёлка, согласно договору, вывозят раз в неделю. Что с этим делать? Каждый день вывозить мусор на машине в городские мусорки — в корне неверно и неэтично. Оставлять в гараже — плохо, появляется запашок. Особенно летом.

Из этих размышлений, затем положенных на бумагу в виде чертежей, и родился проект «подземная мусорка». Проектирование сделано в Google SketchUP без каких-либо суперточных значений, так как это не продакшн. Сначала надо было чётко и точно понять, как будет работать механизм. Первичные чертежи перешли в версию 1.0, потом в версию 2.0. 

Сегодняшняя версия 3.0 — результат доработок тех ошибок и погрешностей, которые не были учтены. На пользу дела пошло также замечание Дмитрия Гуманюка из EPAM, который внёс предложение перенести двигатель повыше для более лёгкого обслуживания. Спасибо, Дима, предложение будет принято.

Жаль, в человеческом распоряжении нет 72-х часов в день. Поэтому все эти проекты создаются на ходу, придумываются во время прогулок, а реализация складывается из крошечных свободных кусочков временного пространства. Думаете, я маньяк автоматизации? Наверняка. Видели бы вы, как я мышь ловил с помощью датчика движения и 5-литровой пластиковой бутылки.

Подземная мусорка состоит из каркаса, поднимающейся платформы, двигателя и блока управления. Все основные части собираются параллельно и проверяются. Я начал с платформы подъёма и нашёл несколько косяков, которые будут исправлены в следующей итерации.

Как видно на эскизах проекта, вагонетка будет ездить по рельсам вверх и вниз. Я купил китайские колёса в строительном магазине, взял сварку и всё это дело сварил. Вагонетки и каркас не окрашены, так как всё ещё в процессе сварки. 

Методы управления и интерфейсы

Ещё летом, всё в том же в любимом Китае, я заказал себе изготовление плат за 7$. Собственных плат: любую плату можно спроектировать прямо в онлайне. Пример.

В итоге прилетело 5 плат, которые я использую в своих проектах. Сочные, красивые, удобные и полезные платы без соплей. 

Изготовить такие платы дома — очень сложный технологический процесс. Особенно если плата двухсторонняя, как в моём случае. Интересно, почему у наших производителей ценники в 3-5 раз больше, а процесс заказа в 3-5 раз сложней? Не могу понять: заказываю за 7000 км, всё просто, понятно и вовремя, ещё и какой-нибудь подарок впридачу. 

Предназначение: подключение esp8266 и всеми нелюбимый Arduino Nano. Плата сделана универсальной, чтобы можно было собирать разные варианты.

Для управления мусоркой я решил использовать esp8266 с 3.3 вольтовой логикой с подключением двух реле.

Будет всего два вида питания: 

  • 5V для nodeMCU esp8266 (esp8266 с обвязкой)
  • 12V для самого двигателя, который будет поднимать платформу с мусоркой при помощи троса

Двигатель от омывателя стёкол МАЗА хорошо подходит по своим тяговым характеристикам для подъёма платформы.

Двигатель хорош тем, что при смене полярности он делает обратный ход (реверс). Как раз то, что надо.  Изначально думал реализовать на Arduino c применением специального драйвера для управления двигателем. Но потом понял, что эту задачу легко решить с помощью двух реле и esp8266, которая напрямую подключается к сети через Wi-Fi.

Подключение двигателя осуществляется 6-ю проводами. С помощью двух реле мы кодируем состояния управления двигателем.

У реле бинарные состояния 0 — выкл, 1 — включено. Контактная клемма перемещается от одного входа к другому. Основа всего, что нас окружает — 0 или 1, вот в чём вопрос.

Для управления реле подключено к nodeMCU, в которую залита прошивка на языке Wiring (C-подобный язык, быстрее, чем скриптовый LUA, и легко заливается из Arduino IDE).

Esp8266 подключается к домашнему MQTT-серверу, который крутится на домашнем железе в виде старого «корча». Nginx сервер проксирует все входящие запросы и передаёт Flask | Python. Серверная часть работает на Python под управлением supervisord. Изучение Ruby-on-Rails чётко дало понять: сервис надо будет переписать и оптимизировать, добавив гибкости интерфейсам.

Обработка входящего запроса от часов\Google Assistant и переброс их в MQTT-канал управления, на который подписан ESP-модуль.

Добавляя новые API, мы добавлям возможность управлять с любого устройства. Также будет предусмотрена локальная кнопка подъёма и спуска платформы.

На видео ниже показан процесс управления двигателем омывателя МАЗА. Google Home упорно не хотел воспринимать «trash bin» произношение. Так что приходилось подыскивать более правильные звуковые модели.

Чип esp8266 хорош тем, что на борту сразу есть Wi-Fi модуль.

Кстати, на офисе нашлось удобное применение данному чипу для обхода RFID-карт авторизации на входной двери. Зная одно магическое движение перед видеокамерой, можно открыть дверь, если вдруг забыл карту доступа. В связке с системой видеонаблюдения XEOMA получилось хорошее решение, упрощающее доступ для сотрудников в рабочее время. 

Недавно появилась одна интересная идея: разработать онлайн-сервис для пользователей Google Home\Alexa, который позволит легко добавлять возможность вызывать сторонние API при произношении определённой фразы. Если есть желание присоединиться к разработке, буду рад вас услышать и поработать вместе. Дома мой Google Home используется для управления светом, воротами, автополивом. Специально записал небольшой обзор.

На этом пока всё. Мусорка ожидает своей платформы, а платформа ожидает доработки.

подписка на главные новости 
недели != спам
# ит-новости
# анонсы событий
# вакансии
Обсуждение