Открывашка для форточки или будни ленивца

elik745i
Идет загрузка
Загрузка
22.02.2021
2084
9
Применение

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

27

Друзья привет.

Хочу поделиться с вами моим новым устройством.

Рис 1

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

Вы когда-либо задумывались о качестве воздуха в помещении, где вы и ваша семья проводите большое количество времени? Нет не об опасном угарном газе, не о утечке газовой плиты, пыли в воздухе, нет, а банальном газе, который мы генерируем сами? Углекислый газ ничуть не менее опасен и зачастую доставляет нам больше хлопот и неудобства. От него болит голова, бывает сильная усталость и он просто отравляет наш организм если не следить за его концентрацией и не проветривать вовремя помещения.

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

Надо закрыть форточку.

Просыпаюсь утром и мысль в голове – надо бы что ни будь придумать, автоматизировать эту форточку как ни будь. Сказано сделано, но потом, после того как закончу с текущим проектом, кстати о нем, вот ссылка – «Моя Wi-Fi погодная станция Wi-Fi».

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

Рис 2

После нескольких дней 3Д проектирования детали готовы к печати на 3д-принтере. Печатаем!

Рис 3

Рис 4

Через день все готово к сборке.

  Вся электроника собрана на доступных компонентах и ее мозгом является всеми любимая плата Wemos D1 mini. Я писал ранее, но хочу повторить, настолько она мне понравилась.

Это идеальное решение для проектирования и постройки домашних систем автоматизации как говорится "IoT" устройств. В ней разведены все цифровые выводы на стандартную гребенку с шагом 2,54 мм, есть порт программирования USB, светодиод для индикации состояния платы и одна кнопка, которую можно программировать по своему усмотрению, низкая цена, да и, впрочем, она радует размерами и формами. Что особенно понравилось – плата практически не греется, думаю ей в этом помогает металлический экран ESP12-f на базе, которой она и построена. В сети уйма прошивок и документации, а также статей по практическому применению последней.

Единственные два минуса этой платы по моему мнению:

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

2. Высокое потребление энергии (60-220мА.ч), чтобы питать ее от батареи и для высокой автономности следует выдумывать разные нестандартные и не очень удобные варианты.

И так что нам нужно для открывашки из электронных компонентов:

1) Плата Wemos D1 mini

2) Кнопка, я использовал свитч 8х8 мм 

3) Баззер, использовал стандартный 12и мм-вый:

4) 5mm RGB – светодиод:

5) Модифицированный Сервопривод MG-995 – с металлическими шестеренками

6) Провода – можно использовать от LAN – кабеля, но я использую многожильные такого же сечения.

7) Два резистора на 100 и 33кОм – для делителя напряжения.

8) Батарея, я использовал литий-ионную он старого лэптопа типоразмера 18650

9) И готовый модуль зарядки для батареи с защитой 4056.

Собираем все по этой схеме:

Рис 5

Про серво – его я модифицировал он вращался непрерывно, а управление ШИМ – регулирует его скорость вращения. Как это сделать есть в сети и на этом я останавливаться не буду, например вот так.

Рис 6

После того как все собрано, переходим к программной части. Я использую систему умного дома Home Assistant поэтому буду показывать, как на ней организовать связь и интерфейс с устройством. Впрочем, любая другая система настраивается аналогично и общается с устройством через MQTT протокол.

Прошивку использую от команды разработчиков TASMOTA. Она бесплатная и поддерживает кучу устройств, если что можно запросить помощь, да и прошивка активно разрабатывается и имеет приятный веб интерфейс кроме всего прочего. Есть еще встроенная в HA система ESPEasy, она также поддерживает кучу устройств и более эргономично вписывается в систему умного дома HA, но как-то мне приятнее первая.

Скачиваем актуальную версию прошивки и заливаем подключенную плату предварительно указав правильный COM порт, к примеру используя программу ESP8266Flasher.

Рис 7

Прога до чёртиков проста, во вкладке Config выбираете прошивку тасмоты (tasmota.bin) в первой строке под адресом 0х00000, возвращаетесь на первую вкладку (Operation), выбираете правильный COM порт из выпадающего меню и жмете на кнопку Flash. Если все сделали правильно, то на плате Wemos D1 начнет подмигивать синий светодиод и пойдет загрузка прошивки. После окончания следует отсоединить кабель прошивки, скинуть внешнее питание если его присоединили и подключить заново, чтобы плата начала загрузку залитой операционки.

Обычно я открываю COM порт в ArduinoIDE и слежу за загрузкой в мониторе – удобно, так как он выдает IP адрес, когда далее будем подключаться к роутеру что бы не искать его на страничке роутера для последующей конфигурации.

Итак, после удачной загрузки плата создает временная точка доступа и его можно определить по характерному имени (tasmota – и чего-то там еще…) Подсоединяемся к нему!

Рис 8

Если вы подсоединились через комп, то с большой вероятностью автоматически откроется веб интерфейс тасмоты, но если такого не произошло, то его можно найти по адресу 192.168.4.1

Рис 9

В открывшейся странице задаем ваш SSID беспроводной сети и пароль, при желании можно указать и второй SSID, если у вас есть, скажем, где-то репитер и у него SSID отличается от того, что на роутере, жмем сохранить и после перезагрузки подключаемся к нашей плате уже по новому IP адресу. Помните, я сказал, что слежу за сообщениями в мониторе порта ардуино – вот там можно найти новый IP, либо на страничке роутера…кому как удобно.

Рис 10

Далее переходим во вкладку Конфигурация и загружаем подготовленный заранее файл конфигурации: (найдете в описании видео, который я загружу на своей страничке в ютюб, как и все файлы частей корпуса на страничке thingiverse)

После очередной перезагрузки должен открыться интерфейс управления открывашкой окна:

Рис 11

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

Как это сделать:

1) Следует в первую очередь снять зубчатую планку с устройства.

2) Перейти во вкладку Console

3) И вписывать и нажатием на Enter посылать команды в устройство: PWM1 . Находятся два значения, подбираются они такими, что бы вас устраивала скорость, а направление вращения были противоположны. У меня, к примеру для открытия значение получилось такое – PWM1 330, а для закрытия 300. Открывашка полностью открывает форточку за 3 нажатия и закрывает за два.

4) Далее в консоли вводите модифицированные правила. Для открытия правило 1:

Rule1 ON Power1#state=1 DO Backlog Pwm4 0; Pwm3 0; Pwm2 100; Buzzer 1,1,1; Pwm1 330; RuleTimer1 1 BREAK ON Rules#Timer=1 DO Backlog Pwm2 0; Pwm3 0; Pwm4 100; Buzzer 1,1,1; Power1 0; Pwm1 0 ENDON

Выделенное число то, что вы получили для своего серво!

И соответственно для закрытия:

Rule2 ON Power2#state=1 DO Backlog Pwm4 0; Pwm2 0; Pwm3 100; Buzzer 2,1,1; Pwm1 300; RuleTimer1 1 BREAK ON Rules#Timer=1 DO Backlog Pwm2 0; Pwm3 0; Pwm4 100; Buzzer 2,1,1; Power2 0; Pwm1 0 ENDON

5) Возвращаемся в интерфейс управления и тестируем устройство уже со вставленной зубчатой планкой.

 вы можете также увидеть этот процесс на видео.

Далее монтируем устройство на окно (см Рис 1).

Переходим в Home Assistant.

В конфигурации выбираем интеграции и устанавливаем (если не установлено) интеграции TASMOTA и MQTT. Подробнее про установку и настройку вы можете почитать на официальной страничке, а я приведу скрипты и файлы конфигурации, которые покажут на вашей страничке правильные кнопки и данные с устройства:

В configuration.yaml вписываем следующее:

sensor:
  - platform: mqtt
    name: mqtt_wtiltopener02_battery
    state_topic: "tele/WTiltOpener02/SENSOR"
    value_template: "{{((((value_json['ANALOG'].A0)|float/224 - 2.5)*100)/(4.2-2.5))|round(1)}}"
    unit_of_measurement: '%'
    device_class: battery
  - platform: template
    sensors:
      wtiltopener02_last_update_time:
        friendly_name: "WindowTiltOpener02 MQTT Last Update Time"
        value_template: "{{as_timestamp(states.sensor.mqtt_wtiltopener02_battery.last_updated) | timestamp_custom('%A %d-%b-%y, %H:%M:%S')}}"

Первый «mqtt_wtiltopener02_battery» переводит значение батареи (кстати отсюда можете его и калибровать если что, удобно что бы не копаться в прошивке устройства)

Второй код будет вам показывать, когда в последний раз данные были получены с устройства – удобно иметь их в случае автономного устройства и особенно если мы собираемся активировать в нем алгоритм глубокой спячки ради экономии энергии в будущем!

В файле scripts.yaml вписываем вот это:

# -------------------Window Tilt Opener 02 Controls--------------------#
wtiltopener02_open: #
  alias: Open window tilt opener 02 #
  sequence: #
    - service: mqtt.publish #
      data: #
        topic: cmnd/WTiltOpener02/Power1 #
        payload: 1 #
    - service: mqtt.publish #
      data: #
        topic: cmnd/WTiltOpener02/STATUS #
        payload: 10 #
wtiltopener02_close: #
  alias: Close window tilt opener 02 #
  sequence: #
    - service: mqtt.publish #
      data: #
        topic: cmnd/WTiltOpener02/Power2 #
        payload: 1 #
    - service: mqtt.publish #
      data: #
        topic: cmnd/WTiltOpener02/STATUS #
        payload: 10 #
wtiltopener02_stop: #
  alias: Stop window tilt opener 02 #
  sequence: #
    - service: mqtt.publish #
      data: #
        topic: cmnd/WTiltOpener02/Power3 #
        payload: 1 #
    - service: mqtt.publish #
      data: #
        topic: cmnd/WTiltOpener02/STATUS #
        payload: 10 #
#----------------------------------------------------------------------#

Далее после перезагрузки домашнего ассистента в Lovelace создаем новый виджет с вписанными выше значениями. У меня получилось вот так:

Рис 12

Далее все это тестируем:

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

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

Думаю, классно получилось, хоть упаковывай и рассылай подписчикам. На этом пока все, и до скорой связи…

Элик

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

27
Комментарии к статье

Комментарии

23.02.2021 в 19:17
1

Ух круто! Ждём вторую серию!.

Я тоже ОПЯТЬ работаю над приводом закрывания окна на "штатную ручку", и не я один.

24.02.2021 в 09:55
3

Много слов и примеров это конечно хорошо и интересно. Но громадное НО:

 Отсутствие прижимного механизма, для пластиковых окон это важный момент. Без него можно просто повернуть ручку на 45° и получить щелевое проветривание. Либо испортив уплотнители присобачить клапан, а уж к нему можно и добавить двигатель.

Предвижу вопрос "но если надо открыть окно посильнее". 

Надо, открой, проветри и оставь на щелевом. 

Целесообразно было поставить механизм на ручку, который будет закрывать окно.

А так, прикольненько, но не для пластиковых окон

24.02.2021 в 18:26
0

Спасибо за комментарий! Я очень ценю здоровую критику - это важно!

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

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

24.02.2021 в 21:28
0

Супер. Буду ждать продолжения

25.02.2021 в 11:10
0

Полезно во всех отношениях.

А что всем этим управляет в конечном счёте?

Есть какой-то сервер?

Я вот запустил один сервер на 3B+малине, но чисто под видеонаблюдение...а вот под автоматику думаю свой писать придётся, чисто на веб интерфейсе конечно. В пространстве изменчивого интернета полагаться на какие-то сервисы умного дома... какие проблемы свой написать, так запустил свой второй сервер на этой-же малине, но чисто хэловорлд, он не нужен, но это пока что. А так думаю что он будет всем управлять тут потом, тут ему не так много-то.

25.02.2021 в 12:41
0

Я упомянул в статье о системе умного дома, который меня пока что устраивает и есть потенциал для развития, не буду хвалить, но очень интересное решение. По началу лет 10 назад я сам с нуля написал код, который трудился на ардуино мега, организовал вебсервер и управление моим немногочисленным хозяйством, потом умные мира сего подхватили идею (не мою) и начали активно развивать эту тему. Потом я перенес свою разработку на ESP8266 (ESP-1) и добавил виртуальные штучки, далее уперся в стабильность. Далее - пару лет назад наткнулся на статью про OPENHUB, попробовал ее на своей малинке 3 плюс, был очень впечатлен, пользовался ею ровно год, правда пришлось месяцами ее доводить, писать и искать решения для тех и иных устройств, те, что не находил писал сам, нудная работа, потом уперся в проблемы с интеграцией моих RTSP UDP камер, начал искать решения и наткнулся на соперника в лице Home Assistant, очень не хотелось все настраивать заново, но как вариант загрузил ее. Домашний ассистент оказался очень удачным решением, интегрировать в нее что либо очень легко. Сейчас использую его и очень доволен пока что! 

Можете посмотреть ревью в конце моего последнего видео на ютюбе, да и на моем канале можете найти видео и про другие системы, да и в целом на ютюбе их довольно много: https://youtu.be/j3tqJU9MK_M

25.02.2021 в 22:36
0

Я для наблюдения вот этот сервер установил, работает (белый айпи никак не сделаю, а так он заходит с скрипта в DNS сервис хостера, прописывает сам IP в глобальной сети. вообще что приятно - что всё запускается само, выключили свет - включили, всё само включится и запустится, настраивать правда пришлось, но я уже это и забыл как-то, главное что всё работает), там он автоматику может сам включать. Веб интерфейс.

Если будет надо - сделаю на одной малинке два сервера, а можно и на скриптах всё... по разному можно.

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Теория на обсуждение: почему так получается что 100500-ая "некая фигурка женсчины" -набирает кучу плюсов, а реально сложный аппарат-нет.

Инструмент (циркуль) для резки кругов из бумаги, картона и т.д.

Dr. Egon Spengler

MeCreator2 #define POWER_SUPPLY или не желание работать с PSU_CONTROL.

Скидка! Товар недели - PETG Серый!

КОМПАС-3D. Моделирование и печать реечной передачи.