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

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

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

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Итак, что-то даже заработало: посадил порт, на котором висит ESP, на serialEvent, т. е. по прерыванию работаю. Неизвестно, правда, как теперь быть с SMS-модулем: там, по хорошему, тоже надо переводить на прерывания, придётся переписывать помалясь, а у меня контакт, по ходу, на макетке плохой где-то - не видит GSM-модуль иногда прошивка. Ковырять - пока не буду, потому как на двух стульях не усидеть (это я про WI-FI).

    В общем, пока вот так получается:

    screen.png

    То есть, как видите - просто мост Wi-Fi - UART. Проблемы, по-прежнему, есть: иногда модуль не отзывается на команду рестарта AT+RST, и приходится дёргать питание. Грешу, опять же, на питание, которое у меня. На худой конец есть железный пин RESET у модуля, и по хорошему, его надо дёргать при старте прошивки.

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

    Пока с SD-картой возиться не буду - надо жёстко тестировать код на предмет отсутствия зависаний и ошибки в логике - сильно говорливый модуль Wi-Fi, и сыпет по делу и нет сообщениями в порт, не спросясь. Такая говорливость только мешает, потому как данные, которыми он сыпет, влезают не туда, куда нужно - бывает, я жду ответа на переданную команду, а он мне, такой: "Диман, я переконнектился к роутеру!". Тьфу, мля, чтоб тебя! Не видишь, я в этот момент жду ответа запрос пересылки данных? Накой ты тут влез со своей болтовнёй? Короче - веселуха.

    Очень, очень, очень сильно назрел вопрос нормального макетирования! Сейчас всё на соплях, и из гамна и палок. А тестировать мне надо, будучи уверенным, что все соединения - надёжны. Зашиваюсь, короче. А тут ещё GSM-модуль чего-то отказывается работать совместно с Wi-Fi - питания, видимо, не хватает.

    Так что придётся опять всё перебирать и паять уже на макетке, благо заказал их несколько штук. Хоть запаяно в критичных местах будет.
     
  2. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Да, о другом.
    Планирую развязать управление фрамугами на 4 части.
    Одна работает как у Вас.
    На трех остальных каналах оставить по одному реле на канал.
    Привязка к часам есть. Скажем, по таймеру (к примеру), или по какому то другому событию, реле включилось, и стоит включенным (в Вашем варианте включено определенное время, задаваемое конфигуратором) до наступления другого события. Событие наступило-выключили.
    Примерно так.
    В каком направлении копать, подскажите.
     
  3. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    К ESP не мешало бы поставить внешнего дога, на 555 таймере или что-то подобное, чтоб если что дергать по питанию. Бывает зависает так что спасает только ребут по питанию.
    Какой дисплей Вы планируете внедрять?
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Лучше тут вот смотрите: https://github.com/Porokhnya/GreenhouseProject/wiki
    Там для каждого модуля есть страница с документацией, какая-никакая, зато актуальная.
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Смотрите здесь: https://github.com/Porokhnya/GreenhouseProject/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-ALERT

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

    Вот навскидку, правило, которое включает полив, если температура внутри больше 25 градусов:

    CTSET=ALERT|RULE_ADD|N1|STATE|TEMP|0|>|25|0|0|_|CTSET=WATER|ON

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

    CTSET=ALERT|RULE_ADD|N1|STATE|TEMP|0|>|25|0|0|_|CTSET=PIN|21|1

    по наступлению события. Главное, чтобы правила уместились в оперативку - они там разворачиваются. ну и чтобы в EEPROM для них хватило места - пока они развесистые, позже буду этим делом плотнее заниматься.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    DIYMan

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

    DIYMan

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

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

    Между тем - ESP-01 ведёт себя нестабильно - то подвисает, то просыпается. Грешу на отсутствие правильной обвязки, надо делать нормальную, а не абы как, лишь бы работало. Очень хочется верить, что Wi-Fi всё-же будет работать нормально. Потому как исправлять зависания модуля ватчдогом - считаю не совсем идеологически правильным.

    Короче, всё тестирование ещё впереди - вполне возможно, что придётся полностью переписывать весь модуль работы с SMS, если будет засада с неуспеванием приёма данных из порта, как это случилось с ESP-01. Работка та ещё, короче. Сейчас у меня Neoway M590 вообще в сети не регистрируется - есть плохой контакт на макетке, плюс, видимо, питалово. Так что пока не буду трогать то, что работает, а если в полном фарше (со всеми модулями в прошивке) что-то пойдёт не так - буду уже смотреть.

    Наверное, на сегодня всё, да и на ближайшие дни, видимо, тоже - послезавтра на работу, надо перед ней немного отдохнуть. Хотя - не зарекаюсь, вдруг приспичит опять отписаться :)]:aga:
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Всё, нашёл себе работку: выкинул SMS-модуль из компиляции, и запросы по Wi-Fi перестали подвисать. Вывод: нечего ждать в бесконечном цикле данных из порта. Придётся переписывать всю работу с SMS на прерывания. Работы на несколько дней, зашибись :mad:
     
  9. Мацарэлла
    Регистрация:
    17.07.09
    Сообщения:
    365
    Благодарности:
    194

    Мацарэлла

    Живу здесь

    Мацарэлла

    Живу здесь

    Регистрация:
    17.07.09
    Сообщения:
    365
    Благодарности:
    194
    Адрес:
    Минск
    Альтернатива связке Arduino+ESP8266 - это Wemos D1
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Нашёл проблему с питанием: от БП я завёл 5В на макетку, с макетки - на GSM-модуль и Мегу, +5В заводил на Vin меги. Стоило перевесить его на 5В пин - и, о чудо: GSM-модуль стал надёжно регистрироваться в сети. Видимо, на стабе меги падало большое напряжение, и просаживало сеть вообще. Ещё раз убеждаюсь, что питание - это наше всё!

    Переписал модуль SMS на полностью асинхронную работу, вроде пашет (ттт). Осталось поженить всё это дело с вай-фаем и протестировать. Тьфу-тьфу-тьфу сто раз! И пожелайте мне успеха, плз.

    З. Ы. И кстати - код после переписывания получился даже лаконичней и красивше :|: Так что не зря взялся :)
     
    Последнее редактирование: 20.02.16
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    А без поддержки нашего форума - я бы, наверное, и не рискнул столько написать: давно бы уже остановился на каком-то функционале, и всё. Так что спасибо вам всем:hello:
     
  12. Voron74
    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227

    Voron74

    Живу здесь

    Voron74

    Живу здесь

    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227
    Адрес:
    Магнитогорск
    Отпишусь о тестах: 1. подключил 2 DHT-11, показания идут только с одного, второй показывает 0% и 0` в Глобале выставил 2 датчика и пины к ним. менял местами дхт`шки - бестолку. Как запустить несколько штук?
    2. Ни как не могу разобраться с настойками полива. В автомате почему то всегда включен полив, а если выставлять по времени, или не включается, или наоборот не выключается. Как все таки корректно запустить полив по времени (нехватает минут во времени 21:00 23:46)
    3. реле на окна в ручном режиме срабатывают отлично, привод стеклоподъемника крутится до концевиков и разрывается цепь, даже если реле еще работает. (нехватает открытия до какого то определенного уровня. Промежуточного. хотя и этими настройками можно побаловаться до нужной высоты)

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

    DIYMan

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

    DIYMan

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

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

    #define SUPPORTED_DHT_SENSORS 2
    #define DHT_SENSORS_PINS 10, 11
    У меня всё работает. Для того, чтобы знать, почему у вас не работает - надо знать, какие настройки вы выставили в конфигураторе. Там есть управление всеми каналами сразу, есть - раздельное управление каналами.

    Радостная весть ;)

    И это правильно :super:

    З. Ы. Насчёт полива: дело такое, что настроек масса, код уже достаточно объёмный, и я не могу сразу отследить все зависимости. Скажем, я не знаю, что будет на голой Меге, если туда прошить прошивку с нуля. Я уже столько раз туда/сюда чего-то гоняю - что вполне возможно, где-то может быть косяк. Давайте так: сделайте скрины конфигуратора - как у вас настроен полив, и я попробую повторить это добро у себя.
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    screen.png

    З. Ы. На вкладочку "Wi-Fi" не обращаем внимания - суслика ещё нет :)
     
  15. SportMaster
    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961

    SportMaster

    Живу здесь

    SportMaster

    Живу здесь

    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961
    Адрес:
    Петрозаводск
    В нескольких статьях встречал информацию, что в связке Arduino + Ethernet shield
    Связано с архитектурой микропроцессора, но тогда не понятно как реализован Arduino Mega Server ...
     
Статус темы:
Закрыта.