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

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

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

Статус темы:
Закрыта.
  1. Snark
    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424

    Snark

    Живу здесь

    Snark

    Живу здесь

    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424
    Адрес:
    Лобня
    Все, временно откладываю дальнейшую расботу с подключением Ethernet. Нет пока времени.

    Получившийся на данный момент модуль для Seed Ethernet Shield 1.1 (на W5100) - прилагаю.

    Получился, кстати, отвратительный уродец, у которого есть только одна положительная черта - он работает!

    Из недоделок:
    - работает с любым количеством клиентов но на запрос одного отвечает сразу всем, этакий бродкаст. Буду разбираться через пару недель, или подожду правильный модуль от @DIYMan ;)
    - нет команд конфигурации (IP, MASK, GATEWAY), это несложно, но просто не успел. Всем желающим - велком в хардкод. Файл W5100Support.cpp строки 17 - 20.

    Подключение железа:
    Ethernet Shield от Seeed не ставится на Arduino Mega обычным способом! Поэтому соединяйте все (шесть) контактов разъемов ICSP а так же 4 и 10 пины меги с одноименными пинами шилда.

    Подключение к системе.
    Просто телнет на 23 порт. Адрес по умолчанию 192.168.1.178

    @DIYMan Вы не хотите, по быстрому, в конфигуратор прикрутить коннект не только на COM порты но и в telnet? Оно же и для WiFI пригодится.

    Весь проект тоже прилагаю, на всякий случай.
     

    Вложения:

  2. Voron74
    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227

    Voron74

    Живу здесь

    Voron74

    Живу здесь

    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227
    Адрес:
    Магнитогорск
    Как в 1948 году выглядели 2 килобайта оперативной памяти
     

    Вложения:

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Вы имеете в виду, чтобы мог и через TCP/IP общаться? В принципе, Мега уже сейчас понимает TCP/IP, через ESP - я писал как-то, что можно из PuTTY так же пихать туда команды, как если бы это был COM-порт.

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

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

    Я уже давно откладываю этот вопрос, к слову. Потому что мне тоже хочется иметь возможность подключаться не только по COM-порту, но и по IP к меге, прямо из конфигуратора. Но, чтобы сразу не напороть косяков - до сих пор думаю, в общем.

    З. Ы. Сейчас ещё работка наклюнулась непростая - пару недель буду занят плотно. Если не кинут и оплатят - в дальнейшем тоже буду занят плотно :)
     
  4. Snark
    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424

    Snark

    Живу здесь

    Snark

    Живу здесь

    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424
    Адрес:
    Лобня
    Ну естественно, со своим Ethernet модулем я так и работаю сейчас.

    Может не надо смешивать? Пусть будут две разные функции. Для Ethernet то это точно не нужно.
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Короче, без натурных тестов на натурных железяках я ничего пока не могу написать, сами понимаете. У меня даже витой пары обжатой нету ещё :)
     
  6. Snark
    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424

    Snark

    Живу здесь

    Snark

    Живу здесь

    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424
    Адрес:
    Лобня
    А нет нынче разницы. Разве что - если у вас древняя сетевая карта на ноуте (без поддержки Auto MDI-X) - тогда понадобится кроссовер кабель. С точки зрения софта (хоть в конфигураторе хоть в меге)- Вас это вообще не касается.
     
  7. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.769
    Благодарности:
    2.285

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.769
    Благодарности:
    2.285
    Адрес:
    Екатеринбург
    Обнова spl-файла. Сводим все в единую картину.
    Общая картина соединений на листе "MEGA".
    NewPlan_kiv_04_03_mega.JPG
    На листе "печатка" рисуются элементы в реальном размере, что позволить провести подготовку к изготовлению печатной платы.
    NewPlan_kiv_04_03_pp.JPG
    Можно продолжать рисовать другие модули в реальном размере, для этого нужна хорошая фотография модуля в виде сверху и снизу и реальные размеры модуля (хотя бы размеры прямоугольника, который занимает модуль.
    На отдельных листах собирается информация по разным модулям определенного вида.
    В листы вводятся взаимные ссылки по всему spl-файлу.
    Файл пока "делается с ходу", возможны ошибки, об обнаруженных ошибках просьба сообщать сразу как обнаружили.
    По вопросам обучения работы в Splan пишите в личку. Чуть попозже может созрею для создания темы по обмену опыта работы в программе Splan. Сейчас пока не готов. Возможности программы очень большие, обучиться работе в ней не так сложно. Я для себя в ней делаю почти все: план дома (квартиры, теплицы, сада ..), схемы проводки электрики, сантехники, справочные данные и тд.
     

    Вложения:

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

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Протестировал;)
    Писать из вне (с помощью правил) теперь в пин насоса можно.
    Только при включении полива в ручном режиме и установленной галке "Использовать пин насоса"
    насос включается всего на секунду:(
    И еще момент.
    Сегодня обнаружил, что не писались логи пол дня.
    Грешу на зависание Меги.
    Добавил в Main работу с Вотчдогом (у меня перешит загрузчик), завтра посмотрю результат.
     
    Последнее редактирование: 03.04.16
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Во-первых, спасибо огромное за проделанную работу! :super: По поводу же недочётов: сходу заметил, что на первой странице нет модуля учёта воды, я его добавил недавно, видимо, вы начали работать со старым файлом ещё. Если не затруднит ;)
     
  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 км от Краснодара
    Опишите плз, что именно вы делаете, чтобы я мог воспроизвести поведение. Сходу в коде ничего криминального не вижу - должно нормально отрабатывать.

    З. Ы. Блин, обидно - всё нормально работало, вот дался этот пин насоса... Теперь новые косяки появились :)
     
  12. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.769
    Благодарности:
    2.285

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.769
    Благодарности:
    2.285
    Адрес:
    Екатеринбург
    Уже изменил, изменения выложу попозже, когда накопится побольше изменений и дополнений. Первый лист файла менять сильно не буду, это будет картинка всех модулей с задействованными пинами, с нее можно обновлять картинку в Гигхабе.
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

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

    Думается мне, что что-то из правил у вас выключает пин насоса, вы же ведь хотели за ним снаружи следить и устанавливать ;) Предупреждал ведь - это ни к чему, кроме путаницы, не приведёт.

    Очень надеюсь, что проблема не в коде модуля полива, т. к. реально сходу не вижу никаких ошибок в работе пина насоса. На всякий случай - обновлю сейчас прошивку на гитхабе.
     
  14. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

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

    "Думается мне, что что-то из правил у вас выключает пин насоса, вы же ведь хотели за ним снаружи следить и устанавливать"
    Спасибо за идею, поковыряю в этом направлении.
    Если дело в этом, то как вытащить список правил служебные правила управления пином насоса (наподобие фрамуг),что бы можно было и их использовать при желании ?
     
    Последнее редактирование: 04.04.16
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Касается-касается ;) Потому как на роутере есть DHCP, например. Хто будет выдавать IP, если подключать напрямую к ноуту? Предлагаете каждому ручками в Globals. h желаемый IP прописывать? А если конфигурация сети вдруг поменяется (мало ли что, что называется) - то перезаливать прошивку из-за одного IP?

    Именно поэтому я и обдумываю до сих пор. Потому что по уму - надо сделать так, чтобы если нам не выдали IP - пробовать со своим, вшитым в прошивку - это как раз тот случай, когда нет DHCP. Ведь согласитесь - гораздо удобнее в роутере настроить, какой IP кому выделять, чем в прошивке указывать жёстко, не так ли? У меня, например, для ESP в роутере указан арендованный адрес 192.168.0.34, чтобы никакой, паанимаишь, ведроид вдруг не занял его. Соответственно, отпадает куча головняка - я всегда знаю этот адрес, без необходимости жёстко указывать его в прошивке. Более того - и поменять его я могу так же быстро, не трогая мегу вовсе.

    Или вы только про кроссовер? Дело-то не в кабеле, а в вариантах подключения Ethernet: можно ткнуться туда, где нет DHCP, можно ткнуться с прошитым адресом туда, где он уже занят - короче, и DHCP нужон, и когда его нету - тоже надо уметь разруливать.

    Ничего, как придёт железка - начну потихоньку пробовать: уже есть некие мысли, как отказаться от класса EthernetServer - не нужен он такой корявый, мы вместо него свой напишем, чтобы библиотеку в поставке не тревожить :)
     
Статус темы:
Закрыта.