1 2 3 4 5 6 7 8 9 10 6.5/10 6,40оценок: 5

Контроллер для теплицы на Arduino - 2

Тема в разделе "Теплицы и парники", создана пользователем Cofessor, 27.04.18.

  1. Saasha
    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747

    Saasha

    Живу здесь

    Saasha

    Живу здесь

    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747
    Адрес:
    Москва - Тула
    @Cofessor, Обогрев почвы, парник - для помидорок, перцев, баклов)
    В прошлом году зеленых помидор осенью было 6 кило, в позапрошлом - 16.
    Расту!
     
  2. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.323
    Благодарности:
    8.482

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.323
    Благодарности:
    8.482
    Адрес:
    Брянск
    Последний месяц программированим почти не занимался, решил плотнее занялся огородными делами. Автоматизация у меня никогда не была самоцелью, а лишь средством, когда иными способами уже ничего улучшить нельзя.
    Зелень на стол с середины марта уже стала обычным делом. Надеюсь ещё увеличить сезон с помощью автоматики, так что теперь уже её не заброшу.

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

    Забавно, что в итоге понадобилось добавить в скетч всего 2 строчки кода. Испытал на старой диаграмме Google Charts - картинка вставилась, но меня это уже не устраивает, потому что библиотеки находится в интернете.

    Наивно полагал, что я уже сделал диаграмму с динамическим выводом на локальной библиотеке ChartJS, затем понял, что это всего лишь HTML-шаблон, а весь рендеринг происходит на веб-сервере.
    Т. е., чтобы загрузить диаграмму с сервера с картинкой, библиотеку тоже нужно поместить в память контроллера. Однако эта библиотека - это целая куча каталогов, будет ли работать - пока не пробовал, но процесс понемногу идёт.
     
  3. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.323
    Благодарности:
    8.482

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.323
    Благодарности:
    8.482
    Адрес:
    Брянск
    Приобрёл готовую плату для контроллера теплицы 2.0 на чипе ESP32. :aga:
    Обратил внимание, насколько она похожа по компоновке на самодельную плату на основе чипа ATmega328P, собранную мною 6 лет назад:

    upload_2025-4-13_8-28-55.jpeg

    Даже по пропорции и размерам почти одинаковы, разве, что моя конструкция немного меньше.
    А так, и и краевые клеммы почти так все расположены, блок питания на 220 V в обоих слева, в обоих по 4 реле, чипы тоже одинаково расположены - в верхнем правом углу. Это видно на фото, которое я размещал здесь ранее, на 27 странице:

    upload_2025-4-13_8-39-45.jpeg upload_2025-4-13_8-40-37.jpeg

    Правда, в отличие от фабричного контроллера, на моей плате установлены дополнительно дисплей, кнопки, чип RTC, аккумулятор и разъём для подключения программатора, а в новом контроллере придётся впаивать переходник к 6 контактам, что на схеме прямо под модулем ESP32.

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

    Кстати, практика показала, что клеммы, использованные мною, недостаточно практичны (мелковаты), это я уже давно понял в ходе эксплуатации своих конструкций, так что на будущее уже давно закуплены более крупные, точно такие же, как и на модели нового контроллера.
     
    Последнее редактирование: 13.04.25
  4. Saasha
    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747

    Saasha

    Живу здесь

    Saasha

    Живу здесь

    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747
    Адрес:
    Москва - Тула
    Только вчера выбирал модуль реле и рассматривал в т. ч. эту плату.
    Не понял зачем на ней 3-х контактный разъем DC питания - зачем оно, если стоит БП от 220В.
    relay.png
    Кетайцы документацией на такие вещи особо не балуют(
    В общем очканул и заказал просто модуль реле, а сама ESP32 уже в пути.
    Проникся обновлением прошивки по воздуху.
    В процессе настройки с ноутбуком не набегаюсь.
    Еще вчера в коробочке для рассады/гидропоники сдох 1 канал 4-х канального реле.
    Твердотелка обычная, на 1А. Половина освещения (ватт на 100) перестала гореть.
    Сделано у меня в минималистичном исполнении, так что залезть к клеме реле без полного разбора невозможно.
    Пересматриваю проект управления парником для того, чтобы избежать такого геморроя)
     
  5. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.323
    Благодарности:
    8.482

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.323
    Благодарности:
    8.482
    Адрес:
    Брянск
    Некоторые панически боятся заводить 220V в теплицу.
    Действительно удобно - засоряет скетч всего тремя строчками.
    В минималистическом, как я понял, в данном случае имеется в виду не минимизация схемы, а минимизация размеров? В смысле что компоновка сверхплотная?
     
  6. Saasha
    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747

    Saasha

    Живу здесь

    Saasha

    Живу здесь

    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747
    Адрес:
    Москва - Тула
    Тоже не хотел сначала.
    Собирался обойтись 2 линиями 220в для нагревателей воздуха.
    Потом посчитал километры проводов, потери в 5в линии на питание моторов открывания дверей и забил)

    Это про ArduinoOTA. h?
    Вроде оно самое маленькое.
    Мне не зашло - оно не работает при запущенном на другом порте сервере.
    Остановился на ESP8266httpUpdate в виде клиента.

    Да, затолкал в щиток на 8 элементов 3 розетки на дин рейку, Ардуину УНО, БП ардуины и модуль реле 4-х канальный.
     
  7. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398
    Адрес:
    Ногинск
    Посмотрите на https://github.com/ayushsharma82/ElegantOTA
    Там и ESP32 и ESP8266 поддерживаются. Из + для меня:
    1. можно прошить и прошивку и файловую систему.
    2. перед прошивкой сравнивается HASH переданного и загруженного файла что исключает прошивку битого файла.
    3. Есть аутентификация.

    Из минусов - в лайт версии есть реклама, ранее просто пыталась клянчить деньги на кофе разработчику, сейчас не знаю что хочет :)
    Но если что это лечится, причем и пролеченные версии гдето выкладывали.

    Я просто посмотрел как сделано, в принципе неплохо, но загрузчик писал сам, там ничего нет сложного, не три строчки конечно.

    Для Esp32 https://github.com/espressif/arduino-esp32/tree/master/libraries/Update/examples тут разные примерчики есть если захочется сделать самому.
     
  8. Saasha
    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747

    Saasha

    Живу здесь

    Saasha

    Живу здесь

    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747
    Адрес:
    Москва - Тула
    Судя по гифке оно поднимает сервер на esp. Не знаю как на esp32, а на 8266 у меня сервер обновлений не работал когда я запускал свой сервер.
    С загрузкой клиентом с сервера и разобрался.
    Осталось проверку версии организовать чтобы не обновлялось бесконечно на одно и тоже.
    Как заставить Апач выдавать ошибку 304 я так и не разобрался(

    А вот это в тему!
    UPD: посмотрел примеры, в моем случае все то же самое, как 8266.

    Но не 3 (ТРИ!) строчки)
     
    Последнее редактирование: 13.04.25
  9. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398
    Адрес:
    Ногинск
    Не могу сказать, на ESP8266 у меня нет самоделок с OTA. Но есть модули со сторонними прошивками и там ОТА в WEB работает. Тут вот если что есть документация - https://arduino-esp8266.readthedocs.io/en/latest/ota_updates/readme.html

    Для веб сервера использую https://github.com/ESP32Async/ESPAsyncWebServer/wiki
    Удобная штука но жрет много памяти конечно. Пока все помещается.

    Автоматическое обновление? У меня не настолько много устройств и не так много обновлений чтобы автоматом обновлять.
    А апач зачем?
     
  10. Saasha
    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747

    Saasha

    Живу здесь

    Saasha

    Живу здесь

    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747
    Адрес:
    Москва - Тула
    Пытался на гитхабе и всяких форумах эту инфу искать, а вот оно где!

    Я все ручками-ручками)

    Тоже пришел к выводу, что нужно просто кнопку на странице выдаваемой сделать.

    Я остановился на обновлении, которое есп загружает с сервера.
    У такого обновления 3 результата:
    1. Ошибка - нет файла обновления.
    2. Нет свежего обновления.
    3. Все зашибись, но оно не выдается ибо есп перезагружается после заливки новой прошивки.
    №2 выдается когда сервер выдает есп-шке ошибку 304.
    Я хз как настроить апач чтобы он выдавал 304.
     
  11. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398
    Адрес:
    Ногинск
    Понятно, я так понимаю когда будет больше десятка устройств, тогда проще уже закидывать прошивку и пусть устройства сами решают надо обновляться или нет, но как это реализовать не думал. Да и пока нету меня однотипных устройств.
    Причем перешел на ESP32 потому как возможностей больше, а в цене не большая разница. Но возникает вопрос с миниатюрными БП для них.
     
  12. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.323
    Благодарности:
    8.482

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.323
    Благодарности:
    8.482
    Адрес:
    Брянск
    Там не 3 строчки, однако на практике можно убрать всё кроме
    #include<ArduinoOTA.h>
    ArduinoOTA. begin(); и
    ArduinoOTA. handle();
     
  13. Saasha
    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747

    Saasha

    Живу здесь

    Saasha

    Живу здесь

    Регистрация:
    03.04.13
    Сообщения:
    459
    Благодарности:
    747
    Адрес:
    Москва - Тула
    Мне такие нравятся:
    bp.png
    https://aliexpress.ru/item/4001068798705.html?sku_id=12000033946180841

    У меня такой способ обновления не работает с запущенным сервером(
     
  14. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398
    Адрес:
    Ногинск
    Я брал поменьше размером
    https://aliexpress.ru/item/1005001970797548.html?spm=a2g2w.orderlist.0.0.2e614aa64tmmBs&sku_id=12000018270798953
    https://aliexpress.ru/item/4000391310693.html?spm=a2g2w.orderlist.0.0.2e614aa64tmmBs&sku_id=10000001599752639

    Но все равно великоваты.
    ESP8266 работает с неизолированным БП на BP2525, но говорят он не тянет ESP32, прикупил их пяток, но нет времени попробовать.
    Так же сделал БП на TNY284DG работает отлично, надо будет платы сделать, поставить на испытания.
     
  15. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398
    Адрес:
    Ногинск
    Не помню уже, но тоже что то не заработало, либо доп плюшки не смог прилепить, поэтому тоже использовать не стал.