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 км от Краснодара
    В принципе, когда буду доделывать дни недели - то можно эту настройку положить на место часа начала работы, а час начала работы - положить в другое место, у меня в хвостике каждой структуры ещё 6 байт свободных, оставил в EEPROM на всякий ;)

    Но - при таком раскладе настройка часа начала работы у всех правил, уже сохранённых в EEPROM - поплывёт. В принципе - совсем некритично, достаточно один раз перезаписать все правила и всё.

    Ок, тогда сегодня постараюсь чего-нибудь придумать с часом начала работы ;)
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Пока ничего не выкладывал, гоняю на локале, проверяю. К вечеру, надеюсь, что-то будет уже.
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Т. е. достаточно чуть-чуть поправить правила - и всё должно работать как и прежде (надеюсь). Код проверки активности правила переписан, по идее, должно по прежнему корректно обрабатывать переход через день недели (та ситуация, когда правило активно с 23:30, скажем, и продолжительность его работы пару часов). Но этот функционал я жёстко не тестировал, поэтому - всё возможно ;)

    В конфигураторе и вебморде в окошке добавления/редактирования правила появилась новая кнопочка "Дни", которая, собственно, и отвечает за новую настройку дней недели для правила.

    Буду рад отзывам по любым замеченным косякам/недочётам - уже одному не охватить всё сразу ;)
     
    Последнее редактирование: 07.06.16
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

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

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

    Заранее всем благодарен за участие в проекте :hndshk:
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    На гитхабе обновил.
     
  6. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Пытался сегодня запустить долгожданный М590.
    Танцы с бубном ни к чему не привели (в смысле результата),но, опыт, сын ошибок трудных, появился.
    Дабы не возникало лишних вопросов, сразу поясню, симка в телефоне прекрасно шлет и принимает СМС.
    Более того, при звонке на контроллер вызов идет, т. е. симка в М590 сетью видится.
    Но ничего не происходит.
    При дальнейших копаниях выяснилось, что контроллер на М590 запрос шлет, при этом отклика в мониторе порта нет вообще никакого, жди не жди...
    Скрин прилагаю.
    Neoway.png
    Дальнейшие изыскания привели к следующему...
    По схеме подключения М590 19 пин Меги через резистивный делитель подключается в выводу RX М590.
    Но!
    19 пин Меги это сигнал RX1 !
    Т. е, получается, RX Меги подаем на RX М590,соответственно с TX-сами.
    В итоге должны получить битую М590.
    Завтра привезу в "дэрэвню осицилеграфф" и исследую результат.
    Благо есть в запасе "исчо одын" М590.
    Могу ошибаться.
    Советы принимаются. :hello:
     
    Последнее редактирование: 07.06.16
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    1. Модем на какую скорость настроен? Должен быть на 57600 - это делается в любой терминалке, подключаем модем через USB-TTL-конвертер, и перепрошиваем его на скорость 57600. Если этого не хочется делать - устанавливаем в Globals. h нужную скорость работы с модемом. Видимо, он у вас на другой скорости работает.

    2. Не поверите, но на моей китайской меге пин 19 помечен как TX1, а 18 - как RX1, собственно, я так и подключал сразу. Судя по вот этому - https://www.arduino.cc/en/uploads/Hacking/PinMap2560big .png - да, там по другому, не знаю, кому верить теперь :)

    3. Битый Neoway вы вряд ли получите, если соедините два RX. Вот два TX - это да :)

    Честно говоря, у меня даже в мыслях не было, что с пинами будет путаница - я не сильно вникал, срисовывал номера пинов со своей меги, и всё. Подключал к тем номерам пинов, которые указаны на схеме - и работало, если помните, Neoway у меня пару месяцев висел подключённым. Видимо, у меня перепутаны надписи на пинах, сейчас переделаю схему, лучше укажу там номера USART вместо номеров пинов.
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Причём самое интересное: такие же метки напротив пинов и на второй меге, благо покупал у одного продавца :) Что странное - подключал Neoway по картинкам из инета сперва, т. к. было неясно, где у платы RX, а где TX. Причём подключал плату модема сначала к конвертеру, и баловался из терминалки, чтобы понять, рабочий ли девайс. Потом эти же проводки ткнул в мегу, руководствуясь надписями напротив пинов - и всё заработало. К конвертеру тоже перекрёстно подключается ведь - RX-TX и TX-RX, подключал так и Neoway, и Nextion, и ESP.

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

    З. Ы. На гитхабе схему обновил, от греха поставил на всех USART обозначения, вместо номеров пинов :)
     
    Последнее редактирование: 08.06.16
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Блин, сегодня пришлось открывать спор, потому что сдвиговые так и не дошли (осталось 4 дня до конца защиты покупателя). Обычно это дело долгое, но вот сейчас прям упала СМС о возврате денег. Чорт, мне не нужны девяносто два цента, мне нужны сдвиговые регистры :mad:

    З. Ы. О как, продавец чего написал:
    И чего мне теперь делать? Ждать, придёт-не придёт, заказывать снова (а вдруг те придут?), как вообще происходит возврат денег вот в таком вот случае? Не хочется продавца обманывать - я не из тех, которые покупают кучу Nextion за копейки только потому лишь, что продавец ошибся с ценой: на чужом горе счастья не построишь, как известно.
     
    Последнее редактирование: 08.06.16
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Вот и подтверждение того, что надписи на пинах перепутаны у моей китайской меги:

    https://forum.arduino.cc/index.php?topic=367398.0

    В общем, хорошо, что выяснилось, пока не вечер :) @olegmak3 - спасибо вам огромное за пытливость :super::hndshk:
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    И да - когда-нибудь я всё-таки сделаю рефакторинг серьёзный: уж больно в некоторых местах код стал избыточным и некрасивым, непорядок :)
     
  12. DiaZoN
    Регистрация:
    01.11.10
    Сообщения:
    8.815
    Благодарности:
    10.256

    DiaZoN

    Живу здесь

    DiaZoN

    Живу здесь

    Регистрация:
    01.11.10
    Сообщения:
    8.815
    Благодарности:
    10.256
    Адрес:
    Казань
    Покупаешь у продавца тот же товар. В комментарии пишешь что это возврат денег за посылку, ничего не отправляй.
     
  13. Anatoly8853
    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45

    Anatoly8853

    Живу здесь

    Anatoly8853

    Живу здесь

    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45
    Адрес:
    Пятигорск
    Если ни кто не хочет излагать свои мысли или свое видение на теплицу будущего, изложу я свое мнение.

    1. Имеем теплицу.

    2. Емкость для подготовки воды (обязательно без этого нет смысла ставить теплицу) во первых вода будет там отстаиваться от хлорки, нагреваться насыщаться кислородом если надо или углекислым газом, плюс подготовка воды заданный PHи EC, а так же это очень спасает когда у вас дают воду по расписанию или еще какие перебои с водой. Так же напор воды в водопроводе может манятся (в друг сосед в это время как дали воду поливает свои владения) и тогда каждый день будет полив происходить разным количеством воды, а это есть не правильно.

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

    4. Датчик температуры воды в баке чтоб можно было еще подогреть ведь ледяной водой не стоит поливать.

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

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

    Ну и работу каждого узла можно обсудить, и мне не понятно для чего вам нужны дни недели, весь процесс должен происходить автоматически в зависимости от показаний датчиков, а так можно купить недельные таймера и пускай включаются, когда вам надо и выключаются.
     
  14. Anatoly8853
    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45

    Anatoly8853

    Живу здесь

    Anatoly8853

    Живу здесь

    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45
    Адрес:
    Пятигорск
    На счет универсальных модулей предлагаю за основу взять такую схему.
     

    Вложения:

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

    DIYMan

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

    DIYMan

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

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

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

    Зачем? У вас есть вводные - показания с датчиков. У вас есть первоначальный функционал, который позволяет по этим действиям чего-то предпринимать. Что тут обсуждать? Я не ставлю перед собой задачи сделать решение, которое удовлетворило бы каждого - это фантастика. Я поставил задачу, чтобы настройки прошивки можно было менять, в зависимости от потребностей пользователя, и этим рулить функционалом.

    Чего именно, кроме контроля pH (который будет в будущем) вам сейчас не хватает в функционале прошивки? Раздельное управление каналами полива? Есть. Неограниченное кол-во датчиков любого поддерживаемого типа, пока хватит пинов? Есть. Управление периферией? Есть. Правила, с помощью которых в зависимости от входящих факторов можно что-то предпринимать? Есть.

    Честно говоря, я не совсем понял, что в вашем видении теплицы будущего важно с точки зрения отсутствующего в прошивке функционала. Если разжуёте мне этот аспект - с удовольствием прислушаюсь.
     
    Последнее редактирование: 08.06.16
Статус темы:
Закрыта.