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

Arduino Mega. Контроллер теплицы. Хроники - 2

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

Статус темы:
Закрыта.
  1. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Пока не знаю, как сделать лучше, вариантов несколько:

    1. Забить на регистрацию универсального модуля управления фрамугами в системе, оставив его пока только проводным (как сейчас сделано с модулем Nextion - он не требует регистрации в системе, достаточно просто подцепить его к линии). В таком случае все настройки такого модуля, типа "на открытие каких форточек реагировать" - будут прямо в его прошивке забиваться;

    2. Сделать регистрацию, чтобы можно было в конфигураторе указывать, на какие номера форточек будет отзываться такой модуль.

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

    Может, ну его нафик, а? Чего-то мне кажется, что это уже как-то чрезмерно :) Да, удобно, слов нет, но если на беспроводные датчики (с которых надо только считывать информацию) я морально был согласен с самого начала, то вопрос с исполнительными модулями (неважно - 1-Wire или беспровод) - гораздо более серьёзный, и я, честно говоря, не знаю, куда он меня выведет. И выведет ли вообще.
     
    Последнее редактирование: 29.06.16
  2. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    хозяин - барин... ;) Но тут вот какое НО...
    , имхо, 1) получается, придется отдельно шить каждый "универсальный" модуль своей прошивкой? это уже не универсальность, а набор спецмодулей. 2) появляется "возможность" прощивки таких модулей противоречащими (ошибочными, дублирующимися) командами 3) теряется функция Меги как головного модуля, который "все про всех" знает... или я ошибаюсь с перегреву?
    ЗЫ.
    :faq::faq:
     
  3. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    А может рассматривать универсальные модули как те-же расширители количества портов, со всеми вытекающими?
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Понимаете, если абстрагироваться от понятий "форточки", "полив" и пр. - тогда да, можно рассматривать и так. В этом случае всю прошивку надо выкидывать, и переписывать тупо под Modbus, где есть регистры и их статус, всё.
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Вот с этим - большие проблемы сейчас. Подумайте - мега сама рулит форточками, т. е. знает, что там с ними происходит и т. п. То же самое и с поливом. Все эти параметры - кол-во форточек, кол-во каналов полива и т. п. - настраиваются прямо в прошивке меги при компиляции. Вытащить их вот так вот запросто куда-то вовне - не получится, от слова "совсем". Т. к. мега знает только то, что происходит у неё внутри.

    Да, есть эмулятор универсального модуля с датчиками, и он работает. Такой модуль надо зарегистрировать в системе, чтобы мега знала, куда с него складывать показания. Управлять им - не надо.

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

    А теперь представьте, что вы захотели вынести форточки номер 3,4 - на отдельный модуль. Откуда мега будет знать их состояние? Каким образом она должна понимать, что надо переслать туда команду, когда запросили "открыть все окна"? И это всё из-за того, что таким модулем - надо управлять, со всеми вытекающими. Более того, при текущем раскладе получается, что указывать-то кол-во окон в прошивке у меги всё равно надо, и даже если все окна сажать на исполнительные модули - пины меги будут заняты всё равно.

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

    Да, идея хорошая, но что-то внутри меня пока ей противится.
     
  6. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    статусы - это что?
     
  7. Сокол1
    Регистрация:
    22.06.16
    Сообщения:
    43
    Благодарности:
    2

    Сокол1

    Участник

    Сокол1

    Участник

    Регистрация:
    22.06.16
    Сообщения:
    43
    Благодарности:
    2
    C PH я все понял. Недавно понял, что даже управление поливочным насосом автоматически и с управлением в веб интерфейсе - для меня это уже прорыв, потому что я никак не могу найти того, кто просто может назвать цену и сделать девайс.
     
  8. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    если есть вблизи место, где продают радиодетальные плюшки - можно через продавца выйти на его постоянных клиентов - кто-нибудь может и взяться
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Это открыты или закрыты окна, вкл/выкл ли полив и т. п.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Так это уже есть в моей прошивке, вам надо только собрать девайс, и всё. Периодическое включение по таймеру - можно будет допилить со временем.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @Anatoly8853, посмотрите пожалуйста приложенное фото - что-то меня смущает уровень жидкости в датчике. Пролилась, как я понял - эталонная жидкость, баллончик которой был накручен на датчик снизу. А вот с уровнем рабочей жидкости в датчике - непонятки. Посмотрите, плз, как у вас. Уровень я отметил стрелочкой.

    IMG_2388.JPG
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Обновил на гитхабе, добавил первую версию прошивки для универсального модуля с тремя датчиками DS18B20 на борту. Влезает в Uno, Pro mini и прочее семейство. Обновил заодно и конфигуратор - поправил мелкую досадную ошибку при регистрации универсальных модулей.

    Кто хочет - может уже сейчас потестировать, как оно работает: по умолчанию линия регистрации универсальных модулей - пин 28 меги, линия, на которой может сидеть такой модуль - пин 30 меги. Надо закачать прошивку универсального модуля в Uno, например, подключить к пинам 7,8,9 (можно не ко всем, а только к одному) датчики DS18B20 (как обычно, линия данных подтянута к питанию резистором 4К7).

    Затем пин 2 модуля соединить с пином 28 меги, со стороны меги - подтягивающий к питанию резистор на 4К7 (обычное для 1-Wire дело, ну вы поняли). Дать питание на модуль, питание может быть разное с мегой. Запустить конфигуратор, выбрать пункт меню "Работа с универсальными модулями" и в выпавшем окошке нажать кнопку "Поиск". Если всё ок - то конфигуратор предложит зарегистрировать модуль в системе: назначаете индексы датчикам, интервал опроса, жмёте кнопку "Сохранить" и - всё.

    Далее перетыкаете с 28 пина шнурок на 30-й пин у меги - и в конфигураторе можно смотреть данные температурных датчиков, которые отдаёт модуль.

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

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

    Во-вторых - это как удлинитель 1-Wire: можно вместо занимания линий под жёстко прописанные в прошивке датчики DS18B20 выделить столько же линий, но - под универсальные модули, в итоге увеличив общее кол-во датчиков в 3 раза.

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

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

    Ну а со временем уже допилим до по-настоящему тонкого универсального модуля, я пока - рву мясо, за тонкостями - к @Snark, пожалуйста, он сказал, что всё будет ;)

    И да - обсуждали с ним ситуацию с беспроводными модулями, и я пока настоял, что этот вопрос педалировать не стоит до тех пор, пока всё не заработает по 1-Wire, пусть и на мясе, которое влезает в Pro mini.

    Комментариев очень жду.
     
  13. Сокол1
    Регистрация:
    22.06.16
    Сообщения:
    43
    Благодарности:
    2

    Сокол1

    Участник

    Сокол1

    Участник

    Регистрация:
    22.06.16
    Сообщения:
    43
    Благодарности:
    2
    Имелось в виду как раз управление по таймеру, в этом ключевой момент в аэропонном и продвинутом гидропонном методе выращивания культур. А его нет пока. Вот купил себе реле времени за 2900р. и радуюсь...только вот ни веб интерфейса...ни управления адыкватного..да еще и всего 255 циклов на включение и выключение потом ручной перезапуск...так что как-то так...жду когда у Вас появится возможность управлять насосом по таймеру, другого выхода у меня нет...собирать мне никто ничего не хочет..а если и хотят то за какие-то космические суммы..так что рассчитываю, что что-то появится у Вас и наконец я смогу начать использовать высокие технологии для облегчения работы.
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Ок, вам нужны таймеры, чтобы можно было для каждого таймера указать интервал между включениями и продолжительность включения, так? Ну и - указать пин меги, на который будет выводиться сигнал? Если так - можно написать модуль на несколько таймеров, сегодня займусь.
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Эх, сколько всего можно впихнуть в Мегу, оказывается :)]:aga:

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

    Выглядит это добро так:

    1.png 2.png 3.png

    Как обычно, многое настраивается, например, уровень на пине, который соответствует состоянию "таймер в состоянии 'вкл'". Пины указываются через конфигуратор и вебморду. Чтобы впустую не пропадали 7 бит (1 бит - это флаг "активен ли таймер") - прикрутил настройки работы по дням недели ещё :|: На выходе можно получить, что через указанные промежутки времени на указанном пине в указанные дни недели будет указанный уровень - самое то периодически чего-то там включать, например, какой насос для перемешивания.

    З. Ы. Скажу сразу, во избежание: этот модуль так и останется самодостаточным, т. е. я очень сильно не планирую заводить его ещё куда либо, типа в правила и т. п. Прошу отнестись с пониманием - в мозг уже с трудом вмещается вся архитектура прошивки, боюсь - расплескаю этот сложный конечный автомат, пока несу до вас :)]:aga: По-хорошему - давно пора рисовать диаграммы состояний, но это, чуется мне - уже неподъёмная вещь :(

    Кому нужен функционал таймеров - не стесняется и плюсует это сообщение ;) Чтобы я хоть понял, что не здря.
     
Статус темы:
Закрыта.