Giter Site home page Giter Site logo

jorik041 / lazyrolls Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ace1046/lazyrolls

0.0 0.0 0.0 3.28 MB

Automatic motorized roller blinds project

Home Page: http://imlazy.ru/rolls/

License: MIT License

CSS 4.43% OpenSCAD 6.94% C++ 59.63% C 24.69% Batchfile 0.03% PHP 1.23% JavaScript 3.04%

lazyrolls's Introduction

LazyRolls

Automatic motorized roller blinds project.

Моторизированный привод для рулонных штор. Управление по Wi-Fi. Питание внешнее. Возможна интеграция в системы умного дома.

Ссылки

Описание проекта: https://mysku.ru/blog/diy/62110.html
Файлы для печати: https://www.thingiverse.com/thing:2857899
Видео работы: https://www.youtube.com/watch?v=lvBh_m7pOAI

Плагины для систем умного дома

Domoticz
Hubitat Elevation (Автор yix)
Home Assistant (встроенная поддержка через MQTT Discovery с версии 0.09)

Структура директорий

Firmware - готовые прошивки
Curtains - скетч для Ардуино
Curtains\data - файлы для SPIFFS. Иконка, css-стили, java scripts
Board - файлы схемы и платы для DipTrace
Board\Gerbers - gerber files для заказа плат на фабрике
3D_parts - OpenSCAD и stl для печати

Changelog

05.04.2018 v0.01 beta

  • Более-менее рабочая версия с настройками. Не всё доделано, многого не хватает.

07.04.2018 v0.02 beta

  • Автосоздание файлов CSS и favicon в SPIFFS при их отсутствии/обновлении.

28.04.2018 v0.03 beta

  • Исправлен баг с закрытием шторы после перезагрузки.
  • Добавлена работа по расписанию.

22.02.2019 v0.05 beta

  • Управление двигателями идёт в прерывании, увеличилась плавность работы двигателя и отзывчивость интерфейса.
  • Номера пинов 4 и 5 исправлены, теперь типичное подключение ABCD. Настройки менять не надо.
  • Концевик можно инвертировать (нормальнозамкнутый - нормальноразомкнутый). Актуально для датчика Холла вместо концевика.
  • Добавлен http-запрос /set?pos=X (X = 0 - 100, в процентах).
  • Состояние можно получить в виде XML по адресу /xml.
  • Прошивка откомпилирована с поддержкой модулей с флеш памятью PUYA.
  • Отображается размер SPIFFS, ссылка на форматирование появляется при ошибке файловой системы.

16.03.2019 v0.06

10.04.2019 v0.07

  • Добавлена встроенная в esp8266 подтяжка пина концевика. На платах NodeMCU и тому подобных, отпадает необходимость во внешнем резисторе, R8 по схеме.
  • Добавлена настройка безопасного порога, количество шагов, при которых штора игнорирует концевик, пока не выползет из зоны его действия. Для герконов и датчиков Холла можно установить значение больше стандартных 100.

02.06.2020 v0.08

  • Сделан плавный пуск двигателя. Это чуть повысило мощность мотора и максимальную скорость, но незначительно. Пока в черновой реализации и без какой-либо настройки.
  • Прошивка проверена и скомпилирована с Arduino core for ESP8266 v2.7.1. Исправило отваливание wi-fi сети в некоторых случаях.
  • Исправлен баг в JavaScript, из-за которого иногда лагал веб интерфейс, при загрузке страниц и сразу после.
  • Во время движения по MQTT в формате JSON сообщается не только текущее положение, но и точка назначения (destination, в процентах).
  • Синий светодиод теперь используется. Он кратко моргает при подаче питания. После каждой неудачной попытки подключиться к основной сети зажигается на 1 секунду. Если к сети подключиться с трёх попыток не вышло, светодиод горит непрерывно, значит создана собственная WiFi сеть. (Оранжевый светодиод программно не управляется, подключен напрямую к питанию. Его можно только отпаять/откусить/заклеить.) В нормальной работе функцию диода можно указать в настройках, а также менять по http/mqtt. Более подробно imlazy.ru/rolls/led.html.
  • Отображается напряжение питания для новых плат. На старых, при желании, можно допаять два резистора. Цепочка Vin - 150K - esp_adc - 10K - GND.
  • Исправлен баг с максимальным количеством шагов игнорирования концевика при опускании шторы. Теперь работают значения более 255. До 65000. Актуально для герконов и датчиков Холла. Спасибо acu73.
  • Исправлен баг с невозможностью указать порт MQTT сервера более 9999. Спасибо George Tkachenko.

29.01.2021 v0.09

  • Исправлен баг со сбивающимся временем.
  • Пресеты для точного позиционирования шторы. Актуально для штор день/ночь. Положения задаются в настройках. Могут использоваться в расписании.
  • Добавлены команды для MQTT. "=NNNNN" (без кавычек) - позиционирование шторы в шагах. "@N" - переход к пресету N.
  • Добавлен http-запрос /set?steps=NNNNN (NNNNN = 0 - 65000, в шагах мотора).
  • Добавлен http-запрос /set?preset=N (N = 1 - 5). Переход в заданное положение.
  • Добавлено автоматическое перенаправление на страницу настроек при подключении к шторе в режиме точки доступа (первоначальная настройка).
  • Добавлены MQTT-комманды open и close. Равнозначны on и off. Для удобства интеграции с HA.
  • Добавлен MQTT Discovery для Home Assistant. Включается в настройках, автоматически добавляет штору в HA.
  • Библиотека для работы с MQTT изменена с AdaFruit на PubSubClient (by Nicholas O'Leary).
  • Концевик может быть установлен на полностью закрытое положение, вместо открытого. Например, для жалюзи.
  • Проценты в MQTT командах и статусах можно поменять на обратные, т.е. 0% значит закрыто, 100% - открыто. Так по умолчанию считает Cover в Home Assistant.

30.03.2021 v0.10

  • Исправлен баг с количеством шагов игнорирования концевика. Фактическое было в 8 раз меньше указанного в настройках.
  • Повышена точность измерения напряжения, на платах с резисторами на ADC.
  • Добавлена поддержка драйверов Step/Dir моторов (например, NEMA17). Можно подключать двигатели и драйвера от 3D принтеров. Распиновка пока фиксированная, En 4, Step 13, Dir 12.
  • Минимальное время шага уменьшено до 50 мкс (было 100). Этого должно хватить, чтобы крутить обычный NEMA17 на практически максимальной скорости при 1/16 шага.
  • В MQTT добавлен топик присутствия (alive/живой). В него отправляется "online" при подключении к MQTT и "offline" при отключении, в т.ч. аварийном, по "завещанию" (LWT). В Home Assistant используется как availability topic, для определения состояния привода.
  • В настройках можно изменить количество шагов, которое привод прокручивает вверх в поисках концевика после предполагаемого нуля. Если поставить 0, запаса не будет. Если поставить большое число, будет дольше крутить вверх, пока не сработает концевик. Но в случае проблем с концевиком, может привести к перегреву мотора или поломке шторы. Менять не рекомендуется.
  • Добавлена возможность подключения кнопки для управления. Подключается на Gnd и один из пинов GPIO 0(DTR)/2/3(RX), который выбирается в настройках. При движении нажатие кнопки останавливает штору, двойное нажатие - останавливает и перезапускает в противоположном направлении. Долгое нажатие (1 секунда) - отправляет в первый пресет или во второй, если штора уже в первом.
  • Синий диод можно настроить на мигание при нажатии на кнопку.
  • Легкий редизайн внешнего вида, в первую очередь мобильной версии. JS-код вынесен в отдельный файл в spiffs.
  • Статичные файлы сжаты gzip'ом.
  • Обновлена страница /update, добавлены подсказки по перепрошивке.

Authors

lazyrolls's People

Contributors

ace1046 avatar siorinex avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.