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

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

Тема в разделе "Теплицы и парники", создана пользователем Анкор Плюс, 19.05.18.

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.883
    Адрес:
    80 км от Краснодара
    Небольшие обновы: вернул исходники открытой версии на гитхаб, подустал синхронизировать вручную, пущай на гитхабе валяются.

    Дальнейшие обновы будут уже через гитхаб, как и прежде. Нескучно живём, движуха :)]:aga:

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

    А до сих пор хочется чего-то попроще в настройке ;) Расширенная версия под Due - конечно, огонь в плане функционала, но - сложновато и избыточно интерфейсно, мне кажется. Концепция правил - вещь хорошая, но - сложная в понимании и настройке.

    Короче: если у кого есть мысли в плане того - что из накопленного опыта взять в новый проект, а что - забыть, как страшный сон - мысли приветствуются ;)

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

    Если кто заинтересован - комментируйте. Ключевые слова: STM32 + небольшой TFT-экран, остальное - вскрытие покажет ;)

    Что думаете?

    З. Ы. А ещё лучше, в свете смартфонов и пр. - безэкранный контроллер, со своим приложением для андроида. Возможно, это вообще самый козырный вариант, т. к. на интерфейсные экранные плюшки уходит львиная доля времени разработки. При таком раскладе - можно и дальше развивать проект, быстродействия хватит и без STM32. Короче, надо думать ;)
     
    Последнее редактирование: 11.07.19
  2. sintezat
    Регистрация:
    10.02.16
    Сообщения:
    40
    Благодарности:
    7

    sintezat

    Участник

    sintezat

    Участник

    Регистрация:
    10.02.16
    Сообщения:
    40
    Благодарности:
    7
    Да, смартфон - это отвечает современным веяниям. но это дорого. как минимум ios и андроид приложения нужны
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.883

    DIYMan

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

    DIYMan

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

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

    Кмк, это один из доводов "за" попробовать в новом проекте подобную фичу ;)
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.883

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.883
    Адрес:
    80 км от Краснодара
    Смартфон есть у всех. У большинства - под андроидом, iOS нафик пока не упёрлась. Но это так - не более чем мысли вслух, на данный момент времени. Просто, убив десятки часов жизни на поддержку разных экранов, подумалось - не тем путём надо идти, совсем не тем ;)
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.883

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.883
    Адрес:
    80 км от Краснодара
    Строго говоря, общение контроллера со внешним миром - у нас отлажено при помощи текстовых команд, и никто не мешает уже сейчас через тот же блютуз из приложухи под андроид коннектиться и обмениваться командами/ответами. Блютуз-модуль, понятное дело - цепляется к Serial, и всё.

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

    Резюмирую, пока не расплылся мыслью по древу: просто так, ради спортивного интереса - мне неинтересно, да и не надо (всё, что нужно - реализовано уже давно). А вот если наберётся компашка - вместе будет веселее пилить ;)
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.883

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.310
    Благодарности:
    6.883
    Адрес:
    80 км от Краснодара
    По размышлению, что видится, пока немного сумбур (критикуйте):

    1. Поддерживаются самые распространённые интерфейсы - Wi-Fi, LoRa, RS-485;
    2. При старте контроллер собирает информацию о включенных в работу модулях. При этом (для простоты назовём это "экран") на экран выводится инфа:
      1. Поиск модулей RS-485, многоточие, найдено столько-то;
      2. Поиск модулей LoRa, многоточие, найдено столько-то;
      3. Поиск модулей Wi-Fi, многоточие, найдено столько-то;
      4. Система готова к работе;
      5. После паузы - переключение на стартовый экран.
    3. Если модуль не привязан к контроллеру (не была проведена процедура регистрации по кнопкам) - он никак не отвечает, от слова "совсем";
    4. Если модуль был привязан к контроллеру - он, естественно, включается в работу;
    5. Для каждого типа модуля - он предоставляет свои настройки по любому из поддерживаемых интерфейсов;
    6. Регистрацию модуля можно сбросить, например, зажав и удерживая кнопку регистрации на модуле;
    7. Каждый модуль реализует свою логику, например, управлять каким-то набором окон;
    8. В каждом модуле можно миксовать как управление (дискретные входа), так и датчики (дискретные выходы и, собственно, датчики);
    9. Каждый модуль может сигнализировать об аварии, с кодом ошибки и сообщением;
    10. Кол-во окон, каналов полива и пр. в рамках системы - в разумных пределах, например, до 256;
    11. Главный контроллер имеет свои настройки логики, вроде вставания в аварию по каким-то условиям (например, если не найдено ни одного окна для управления);
    12. Настройки каждого модуля реализуются через интерфейс, и содержат перечень условий (упрощённые правила), вроде "Т открытия на 25%", "Т открытия на 50%", галочек "Не открывать, если включено отопление", "Закрыть на N%, если ветер южный и больше M м/с", "Встать в аварию, если данных с датчика N не было M секунд, код аварии - 33, сообщение - ахтунг" и т. п.
    Центральный контроллер при таком раскладе, по факту - становится просто хранилищем общей информации, вроде текстовых сообщений об аварии (на модулях хранится только код аварии, чтобы строки не гонять по линиям почём зря), ну и диспетчером данных: т. е. получает информацию с датчиков системы с модулей (слушает радиоэфир), выдаёт её в эфир (в случае RS-485 это надо делать принудительно, т. к. контроллер - мастер), прочее.

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

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

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

    Конечно, это всё мысли навскидку, и многое надо продумывать. Поэтому призываю к обсуждению в вольном изложении - как кто видит. Мне кажется, что подобный подход может стать удобней, чем текущий.
     
  7. Berendey-70
    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139

    Berendey-70

    Живу здесь

    Berendey-70

    Живу здесь

    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139
    К возможности применять LoRa есть вопросы. Она дальнобойная, низкоскоростная и имеет небольшое количество каналов, работающих параллельно. Отсюда - если система одна - работать будет замечательно. Если в котеджном поселке все вдруг решат завести себе такие системы, то велика вероятность, что все будут друг другу мешать, и группа систем, находящихся рядом, окажется неработоспособной.
    Поэтому вместо LoRa лучше было бы применить ZigBee на 868МГц. Дальность ограничена, модули изначально предназначены для работы в сети. Модули на 868МГц гораздо лучше работают в условиях препятствий, чем 2,4ГГц и не пересекаются с большинством автомобильных сигналок, как 433МГц.
     
  8. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    кто запрещает использовать 800Мгц модули и снизить мощность? Да и адресация есть для этого
     
  9. Berendey-70
    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139

    Berendey-70

    Живу здесь

    Berendey-70

    Живу здесь

    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139
    Никто не запрещает снижать мощность, вопрос будет ли всё это работать вместе.
    Ведь ловить редко проявляющие себя ошибки - очень интересное занятие, особенно в коммерческом проекте.
    Про 800МГц - не уверен, что это частота разрешена в России, но даже если да, то это мало что меняет.
    Адресация - не про это. Речь про пропускную способность протокола.
     
  10. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    это не я предложил эту частоту.
    нет, не будет, для ваших условий применяют многоканальные гетвеи. А тут пока принимает, других игнорит.
     
  11. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Многоканальные устройства, это совершенно другая история, совершенно другой бюджет, это касается любого протокола, самый простой пример WIFI
     
  12. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    У меня стоит лора геит 433, на RA2. Живу в очень отдалённых местах, 5 нод, самая дальняя что-то около 15км. ID, номер канала уникальный, во время прохождения на 430МГц, гейт умудряется ловить левые ноды)
     
  13. Berendey-70
    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139

    Berendey-70

    Живу здесь

    Berendey-70

    Живу здесь

    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139
    Это не противоречит тому, что я сказал:
     
  14. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Да, не противоречит, честно я себе не особо представляю такую ситуацию, это сколько нужно тепличек в том поселке чтоб так загадить полосу, те же коммунальщики живут как-то, да и витую не отменяют. По моему это надуманная ситуация.
    Я лично не против всяких разных протоколов)
     
    Последнее редактирование: 12.07.19
  15. Berendey-70
    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139

    Berendey-70

    Живу здесь

    Berendey-70

    Живу здесь

    Регистрация:
    27.10.17
    Сообщения:
    149
    Благодарности:
    139
    Коммунальщики работают со счетчиками воды, газа, электроэнергии и т. п., которые выходят на связь раз в сутки\месяц и передают данные на могучую базовую станцию.
    В теплице же несколько датчиков, данные от которых надо обновлять раз в несколько минут и обрабатывает это всё довольно слабый микроконтроллер.
     
Статус темы:
Закрыта.