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

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

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

Статус темы:
Закрыта.
  1. Voron74
    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227

    Voron74

    Живу здесь

    Voron74

    Живу здесь

    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227
    Адрес:
    Магнитогорск
    • Остальные команды этого модуля просто лень описывать. Если кто-то вообще дочитает до этого места и попросит меня дописать - допишу.

    я дочитал. :)]:)]:)]:)]:)]:)]:)]:)]
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Есть какой-то конкретный интерес по командам? Или мне дописывать просто так? :))
     
  3. Voron74
    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227

    Voron74

    Живу здесь

    Voron74

    Живу здесь

    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227
    Адрес:
    Магнитогорск
    Неее, дописывать не надо, и так всё понятно. :)]:)]:)] Прото говорю, что я дочитал до туда. :um::um::um:
     
  4. Old-Admiral
    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153

    Old-Admiral

    Живу здесь

    Old-Admiral

    Живу здесь

    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153
    Здравствуйте, коллеги!
    Выпал я из обоймы. Видимо, так сложились звёзды - болею. Как встану снова постараюсь вернуться в тему.
    Поздравляю с переходом 200+ страниц - значит, тема живёт и процветает!)
     
  5. Chuk31
    Регистрация:
    16.04.12
    Сообщения:
    54
    Благодарности:
    16

    Chuk31

    Участник

    Chuk31

    Участник

    Регистрация:
    16.04.12
    Сообщения:
    54
    Благодарности:
    16
    Адрес:
    Тарасково МО
    Забыл, а кто обещал написать инструкцию по использованию? - это я на правила намекаю:nono:

    и чтоб там обязательно с примерами разными! :nono:
     
    Последнее редактирование: 09.06.16
  6. Voron74
    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227

    Voron74

    Живу здесь

    Voron74

    Живу здесь

    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227
    Адрес:
    Магнитогорск
    Вот диплом защитю:)], и возьмемся дружно за книжечку, которую никто не читает. "Краткая инструкция..."
     

    Вложения:

    • 79435410165742_wiki.jpg
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Убрал порядка 500 строк - представляете, сколько избыточного повторяющегося кода было написано? :ogo::um: Рефакторинг - вещь архиважная, я, как перфекционист, без него не могу :)]:aga:

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

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

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

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

    Что там на другой стороне - вопрос интересный, но тоже решается: подтверждение получить там, или ещё чего. Правда, тут всё несколько сложнее, т. к. ступорить работу всей меги, дожидаясь, пока придёт ответ по радио - мы не можем: исполнитель может быть банально недоступен. Этот нюанс надо продумывать.

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

    Вкусно звучит, признавайтесь? Самому нравится :|:
     
  8. Chuk31
    Регистрация:
    16.04.12
    Сообщения:
    54
    Благодарности:
    16

    Chuk31

    Участник

    Chuk31

    Участник

    Регистрация:
    16.04.12
    Сообщения:
    54
    Благодарности:
    16
    Адрес:
    Тарасково МО
    да пока настроишь соберешь и изучишь - трижды сорок раз слюнкой захлебнуться можно:super:
     
  9. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Расскажу про свою борьбу с М590 ,может кому полезно будет.
    Два дня танцев с бубном ни к чему толковому не привели.
    Перелопачена была инфа в интернете.
    Полемику Дмитрия на Ардуино. ру по этому поводу прочел.
    Молчит в терминалке как партизан на допросе.
    И вот, на подключенный к терминалке модуль со вставленной симкой, тупо звоню и вижу кракозябры.
    Ура, модуль после двух дней экспериментов жив, оказывается!
    Методом научного тыка в терминалке подбираем скорость порта до превращения кракозябр в осмысленные выражения.
    Дмитрий! Вы были правы, по умолчанию стояла другая скорость.
    Выход ТХ соединен на прямую, вход RX в начале эпопеи был сделан по Дмитрию, затем по дайташиту- не работало.
    Снова переделал с дайташита на вариант Дмитрия, только изменил соотношение плеч резистивного делителя.
    Бинго.
    У Дмитрия соотношение примерно 1/2, у меня заработало 1/1,2.
    Причем, верхний уровень сигнала Rx, как раз и есть необходимые по ДШ 2,85 вольта ("ОСИЦЕЛОГРАФА" рулит!).
    Оказалось, критичная вещь, этот самый RX !
    Именно сейчас модуль в сети не зарегистрирован, но это другая часть марлезонского балета, просто могли свет отрубить в деревне.
    Буду бесперебойник приделывать.
    По поводу нового варианта конфигуратора.
    Глубоко не копал- М590 был первостепенной задачей.
    Но вчера первый вариант конфигуратора с измененным временем вот отсюда https://www.forumhouse.ru/posts/16095812/ выдал следующее (см. скрин).
    Новый конфигуратор.png
    Полностью переписывать вручную правила времени не было, вернулся на предыдущий вариант.
    Завтра продолжу изыскания.
     
    Последнее редактирование: 09.06.16
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Щас поправим :) Где у вас 334 в значениях? В правилах где-то, я так понял? Пойду править - я там сознательно try/catch не ставил, чтобы посмотреть - прокатит ли :) Виновен, каюсь. Значит, миграция не так легко пройдёт, как хотелось бы.

    Как поправлю - отпишусь.

    Правка: понял, это время начало работы так вычиталось, очень интересно, однако.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @olegmak3, обновил конфигуратор, попробуйте. Обращаю внимание, что новый конфигуратор работает с новой версией прошивки. И если указанной ошибки больше не появится, то следует перешерстить настройки всех правил, т. к. из-за смены очерёдности записи полей правил в EEPROM там может быть несоответствие.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Кстати спросить - какой у вас? Потихоньку задумываюсь о приобретении, вещь-то нужная, как ни крути. Может, к дню варенья получится чего...
     
  13. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    DIYMan, погонял я прошивку контролера по воздуху на uno. Проект esp-link, работает. Выглядит это следующим образом: прошиваем esp, подключаем ее к rx-tx tx-rx, gpio esp на выбор к reset, на компе создаем виртуальный com порт - ip, в ardyino-ide указываем на этот порт, и "загрузка". Uno прошивает
    С мегай нужна ваша помощь. У меня свободны TX1 RX1, Neoway пользоваться не планирую, Подключил к ним, и естественно тишина.
    https://github.com/jeelabs/esp-link
     
  14. Essetre
    Регистрация:
    10.08.12
    Сообщения:
    8
    Благодарности:
    4

    Essetre

    Участник

    Essetre

    Участник

    Регистрация:
    10.08.12
    Сообщения:
    8
    Благодарности:
    4
    Адрес:
    Москва
    Уфф…. Наконец-то дочитал. Всегда считал что чудес на свете не бывает.
    Ан нет, оказывается бывают. Идея, её воплощение, атмосфера форума, да ещё всё в открытом доступе!
    Браво! Молодцы!
    С удовольствием поучавствую в качестве тестера или, а как?, а куда?, да не работает не фига! ,. А не пустите всё равно подсматривать буду. :)] Уж больно это дело меня зацепило. :um:

    P. S.
    Может быть кому интересно будет.
    Из опыта эксплуатации подобной системы.

    Конфигурация:
    Две теплицы по 18 кв. м., две бочки по 200 л., два грязевых насоса с производительностью 10-12 литров в минуту, трубы – металлопласт.
    Клапана - два моторизированных, два электромагнитых.
    Контроллер – мега с прошивкой от дачника.
    Актуаторы делал сам.

    Условия эксплуатации и хранения – тяжёлые (высокая влажность, низкие температуры зимой).

    Срок эксплуатации – 3 года (сезона).

    Место устоновки контроллера – внутри теплицы.
    Защита – ни…ка…кой. IP65 и рядом не валялся.
    Собрано в боксе АВВ для вводных автоматов.
    Соединено всё ардуиновскими разъёмами и проводками.
    Питание - китайский импульсный блок 12В. 5А.
    Электросеть скачет от 190 – 230В.
    Питание меги – 6В. Иначе начинаются глюки при просадке сети.

    Хранение зимой – не отапливаемый сарай.

    Работа.
    Первые два сезона ни одного сбоя или отказа.
    В этом году сразу же заменил батарейки CR2032 в часах. Разрядились обе.
    Через пару недель отказал модуль часов. Переодически сбрасывается к заводским настройкам. Заменил. Обратил внимание на состояние модулей.
    Штырьки слегка потемнели, но контакт хороший. Внешний вид модулей не изменился. Нарушений в пайке не наблюдается. Ну разве что немного помутнел лак.
    Слетела прошивка в одном из контроллеров. Тут сам дурак.
    Включил сварку в линию питания. Перезалил.
    Смотрим дальше.

    Хотелки.
    Хотелось бы предусмотреть лёгкость замены батарей, модулей, перепрошивки. Исходя из опыта, думаю что всё таки монтаж должен быть на разъёмах (вынул, вставил и полетел дальше).
    В советские времена бы такой термин – ремонтопригодность.

    Ну как то вот так.
    Спасибо за внимание.
     
  15. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Залил на роутер последнюю версию веба, работает. Правила пока не гонял, времени не хватает.
     
Статус темы:
Закрыта.