Автор Тема: Автоматика и удалённый контроль  (Прочитано 12958 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн cadiz

  • Новичок
  • *
  • Сообщений: 23

  • Активность на форуме
    0%
Автоматика и удалённый контроль
« : 27 Февраля 2014, 03:08:59 »
Хочется иногда порулить насосами и клапанами удалённо. Посмотреть как со влажностью в тепличке дела обстоят...  Решений полно, особенно в промышленном секторе - выбирай чего хочешь. Но цены там... и размеры, масштабы...  а устройства часто законченые и между собой связаны слабо или как-то сложно. Короче, захотелось чего-то простого, для маленьких тепличек или её частей и чтобы всё это работало как в жизни. Обычная веб-камера для визуального осмотра, обычные насосы для полива, обычные клапана, соленоидные или сферические из простого садового магазина, обычные дешёвые электроды pH и EC. Обычный Bluetooth, где контроллеров более одного, обычный интернет с обычным 3г и/или Ethernet, обычная страничка (типа как для настройки любого роутера) в обычном Firefox-Chrome-Opera для настройки всего этого дела на автоматический лад или управления в прямом эфире.
И, желательно, все используемые технологии должны быть открытыми и документироваными на просторах интернета, чтобы обычные программисты (и не только) могли способствовать развитию проекта. Разумеется. проект тоже делается открытым


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

Что у нас есть? Есть руководство пользователя, которое даёт общее представление что можно сделать уже сейчас "из коробки".
Есть схемы и дизайны плат, которые используются в проекте.
Есть исходный код прошивки

И многое другое, что уже документировано или в процессе

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

Порог вхождения
Я тут часто использую "просто" в предложениях. Признаться честно - для меня многие вещи неочевидны и неясны. Однако со временем и гуглом многое становится понятней. По мере продвижкния, я стараюсь описывать свой опыт максимально подробно (уровень подробности, штука, тоже объективная, конечно) в статьях в блоге. Мне кажетсяя, когда мы делимся опытом таким образом, мы делаем нашу работу полезней для общества (предмного благодарен многим участникам этого форума за репорты, с подробными рассказами что и как и с фотками. Всё это вдохновляет и помогает найти ответы на многие вопросы. Спасибо!)
Кроме того, появляются такие файлы как "список функций Cadi", что должно упростить программирование до уровня изменения уже готовых рабочих решений во что-то своё, с минимальным риском привнести ошибку по незнанию.

Что было бы хорошо получить от вас, дорогие заинтересованые.
Это, прежде всего, незамыленый взгляд.
Новый человек, вникая в новую тему, сталкивается с рядом вопросов. Ответы, очевидные для разработчика этой темы, могут оставаться скрыты от новичков. Поэтому, вопросы - это хорошо. Задавайте их, пожалуйста! :)
НО! На любом форуме нынче правило - сначала воспользуйся поиском. Так и тут.
Однако, нам - заинтересованым в проекте, важно знать опыт других. Поэтому делитесь им, пожалуйста :)

Сим постом я приглашаю всех кто имеет интерес ко всяческой такой технике и растениям - подключайтесь!
Пользуйтесь, добавляйте свой опыт и наработки, задавайте вопросы. Буду рад ответить и помочь чем смогу :)
« Последнее редактирование: 27 Февраля 2014, 04:19:41 от cadiz »

Оффлайн cpf

  • Ветеран
  • *****
  • Сообщений: 1288
  • Es mucho trabajo, no basta dinero

  • Активность на форуме
    1%
    • Email
Автоматика и удалённый контроль
« Ответ #1 : 27 Февраля 2014, 09:32:05 »
Кмк,проект в любом случае -полезен.
Однако, пока сложно свести процесс получения урожая к простым алгоритмам, поддающимся полной автоматизации.
Много факторов остаются трудно формализуемыми, например: "подходящий сорт", "признаки недостатка или избытка элементов", "болезни", и еще сложнее описать зависимость их друг от друга.
В любом случае, проект надо развивать,- наверняка он поможет многим приобщиться к "агрофилам"  :D.
ИМХО

Оффлайн Coccinella

  • Агроном
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 8408

  • Активность на форуме
    2.8%
Автоматика и удалённый контроль
« Ответ #2 : 28 Февраля 2014, 14:57:39 »
Только желательно излагать материал таким языком, чтобы и не техническая часть публики что-то понимала :-[

Оффлайн cadiz

  • Новичок
  • *
  • Сообщений: 23

  • Активность на форуме
    0%
Автоматика и удалённый контроль
« Ответ #3 : 03 Марта 2014, 20:38:46 »
Кмк,проект в любом случае -полезен.

Спасибо за позитивный отклик :)

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

Простой алгоритм - понятие растяжимое. Вот, к примеру, случай где компьютер сгенерировал сам эффективный алгоритм, который оказался эффективней более громоздких, придуманных человеком. Он меньше и эффективней работает (на практике это означает более качественное (скорость, задержки, бесперебойность) соединение с интернетом). Но делает ли это его простым? Отнюдь. Человек не в состоянии его понять (по крайней мере сейчас). Нам незачем думать о том, каков будет этот алгоритм, если мы применяем машинное обучение. Иными словами - компьютер сам подбирает нужный алгоритм достижения верного результата. Возникает вопрос "а из чего он выбирает нужный алгоритм?" Попробую рассказать как я это понимаю.
Тут есть два пути, как у любого из нас:
1. Мы используем базу накопленных знаний (книги, теоретические лекции)
2. Реализуем идею на практике (перебор возможных вариантов)

В первом случае мы "рассказываем" компьютеру о том, что из методов мы пробовали на практике (поливать чаще, реже, медленней, быстрей, с азтом, без, разные кислотности, ppm и так далее) и расставляем для каждого метода свои оценки (например, по пятибальной шкале, где 0 - наихудший резльтат, а 5 - то что надо). Так мы даём понять машине в теории "что такое хорошо, а что такое плохо" и как мы к этому пришли. Теперь машина может комбинировать эти методы для достижения ещё более хороших результатов (например, мы пробовали кислотность 5.8 и знаем, что она хороша, но также мы знаем что хорош ppm 1.5, но это знание мы получили при pH 6.1, логично попробовать сделать ppm1.5 при pH 6.1, правда? Так же и машина приходит к такому выводу и пробует данный вариант).
Вариант с практикой красочно описан в другой интересной статье. Компьютер просто перебирает все возможные комбинации и просит дать каждой из них оценку (оценку может давать человек или сенсор). По оценкам он принимает решение какой из вариантов оказался ближе.

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

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

Поэтому всё что нам сейчас остаётся - это растить и ещё раз растить, позволяя девайсу записывать отчёты о всех наших действиях (полил тогда-то, столько-то, с такими-то добавками) и все данные, которые можем собрать (температура, влажность, освещённость, содержание углекислоты в воздухе, кислотность раствора и насыщенность солями...), на SD карту (а это му можем в текущей версии Cadi). А потом пускай анализирует.
Алгоритмы? Я с вами солидарен - для человека это сложно. Пускай компьютер сам подбирает их. И это возможно.
Не сегодня - завтра, машины-роботы будут ездить по дорогам и мы работаем в этом направлении очень интенсивно. А на дороге ошибки куда фатальней чем в теплице. И ничего, продолжаем развивать это направление. Сегодня самолёты взлетают и садятся сами. Да, пассажирские с обычными людьми на борту, которые после посадки хлопают в ладоши. Автопилоту.


Только желательно излагать материал таким языком, чтобы и не техническая часть публики что-то понимала :-[

Рад ответить на любые вопросы. Что именно непонятно?
Мне кажется, так или иначе, чтобы понять всё до конца, необходимо стать этой "технической частью публики". А если просто какой-то момент прояснить... Например, чтобы мне понять смысл сообщения:
 "А для помещений полудеты лучше, они ниже и более ранние. А при желании им можно отпускать пасынки из любого узла и формировать хоть веером :) Это в производстве удобнее с индетами работать и урожай у них выше, а Вам же не на рынок"
мне нужно разобраться что такое "полудеты" и "индеты". Для этого я иду в поиск и ищу там этот термин. Если не нахожу в поиске, то гугл (яндекс, яху, нужное подчеркнуть) помогает отыскать ответ. А если я общительный, то задам вопрос прямо тут же - "что такое полудет, расскажите пожалуйста. чем отличется от индета?"
И вполне нормально, что вы, каждый раз упоминая это слово, не объясняете его смысл. Для вас смысл этого слова очевиден так же, как для кого-то "сторожевой таймер". Поэтому, давайте начнём задавать вопросы :)
Что такое полудет?
Что я делаю не так?
« Последнее редактирование: 03 Марта 2014, 21:52:22 от cadiz »

Оффлайн Vad

  • Ветеран
  • *****
  • Сообщений: 6481
  • Мой аватар вырос.. на гидропонике :)

  • Активность на форуме
    7.8%
    • Email
Автоматика и удалённый контроль
« Ответ #4 : 03 Марта 2014, 23:20:13 »
полудет это полудет :D
полусамозавершковывающийся.. :D не карлик и не бесконечный шланг :-\ средного роста короче :D

по второму вопросу.. надо  вырастить 1 растение.. всего одно.. вручную..  и сразу станет ясно, что автоматизировать, за  какими параметрами наблюдать, и главное.. нужно ли за ними наблюдать в принципе ;)

 *8)*
« Последнее редактирование: 03 Марта 2014, 23:22:18 от Vad »
Спасибо!

Не буду изготовлять автоматику для ваших гидропонных установок. Ленивый стал. Если не теряете надежду уговорить.. обращайтесь:



Оффлайн cadiz

  • Новичок
  • *
  • Сообщений: 23

  • Активность на форуме
    0%
Автоматика и удалённый контроль
« Ответ #5 : 04 Марта 2014, 00:40:05 »
полудет это полудет :D
полусамозавершковывающийся.. :D не карлик и не бесконечный шланг :-\ средного роста короче :D
 *8)*

А индет что такое?


по второму вопросу.. надо  вырастить 1 растение.. всего одно.. вручную..  и сразу станет ясно, что автоматизировать, за  какими параметрами наблюдать, и главное.. нужно ли за ними наблюдать в принципе ;)













:)
ещё?
« Последнее редактирование: 04 Марта 2014, 00:52:27 от cadiz »

Оффлайн Vad

  • Ветеран
  • *****
  • Сообщений: 6481
  • Мой аватар вырос.. на гидропонике :)

  • Активность на форуме
    7.8%
    • Email
Автоматика и удалённый контроль
« Ответ #6 : 04 Марта 2014, 02:28:05 »
конечно еще!
если этого мало, чтоб понять :D

дет=!индет
так понятно? :D
Спасибо!

Не буду изготовлять автоматику для ваших гидропонных установок. Ленивый стал. Если не теряете надежду уговорить.. обращайтесь:



Оффлайн cadiz

  • Новичок
  • *
  • Сообщений: 23

  • Активность на форуме
    0%
Автоматика и удалённый контроль
« Ответ #7 : 04 Марта 2014, 02:45:23 »
По-теме топика:
вот так начинается дизайн и вёрстка панели управления для устройства

Это вкладка Direct Drive

Подразумевается два режима работы контроллера - автономный и прямое управление (Direct Drive он же DD).
Автономный режим характерен тем, что контроллер сам управляет исполнительными устройствами (клапана, насосы, свет, вентиляция, увлажнители)
Direct Drive режим отключает управление исполнительными устройствами (и только. сенсоры вроде температуры, pH и прочих продолжают работать как обычно). Флаги таймеров и стабилизационные флаги продолжают выставлятся как запрограммировал пользователь, однако более не влияют на поведение исполнительных устройств. В режиме Direct Drive управление полностью передано внешнему устройству (например, компьютеру, вроде Raspberry Pi на котором запущен веб-сервер apache и работает панель управления CadiWeb)

CadiWeb - это, грубо говоря, веб-сайт, который позволяет управлять контроллером Cadi с любого устройства на котором есть браузер интернет-страниц, типа, Mozilla Firefox. Такими устройствами являются все компьютеры, планшеты (таблетки?), смартфоны с андроидом, блэкберри, айфоны, макбуки и всё такое.
Как приводилось в пример выше, можно запустить такой сервер на коробочке вроде Raspberry. Вот она


То есть запуском apache мы превращаем эту коробочку в сервер управления автоматикой для растений. Остаётся только воткнуть в Raspberry сетевой провод из роутера с интернетом и полив любимых черри томатов становится на расстоянии доступного интернета.
Можно запустить веб-сервер и на любом другом компьютере, особенно легко с линуксом

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

дет=!индет
так понятно? :D

Лучше покажи что там у тебя задефайнено на эти имена :)
В моей последней версии библитеки русского языка таких определений не найдено :)
А если серьёзно, кто из них выше-то?
« Последнее редактирование: 04 Марта 2014, 03:08:14 от cadiz »

Оффлайн Vad

  • Ветеран
  • *****
  • Сообщений: 6481
  • Мой аватар вырос.. на гидропонике :)

  • Активность на форуме
    7.8%
    • Email
Автоматика и удалённый контроль
« Ответ #8 : 04 Марта 2014, 03:02:18 »
Лучше покажи что там у тебя задефайнено на эти имена :)
В моей последней версии библитеки русского языка таких определений не найдено :)


выполните обновление  либов.. и лэнгвичпаков, подключите новые (тематические) репозитории  :D
отсюда например ;)
Спасибо!

Не буду изготовлять автоматику для ваших гидропонных установок. Ленивый стал. Если не теряете надежду уговорить.. обращайтесь:



Оффлайн cadiz

  • Новичок
  • *
  • Сообщений: 23

  • Активность на форуме
    0%
Автоматика и удалённый контроль
« Ответ #9 : 04 Марта 2014, 03:10:38 »
Теперь понятно :)
Спасибо!

Оффлайн Coccinella

  • Агроном
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 8408

  • Активность на форуме
    2.8%
Автоматика и удалённый контроль
« Ответ #10 : 04 Марта 2014, 18:34:23 »

Лучше покажи что там у тебя задефайнено на эти имена :)
В моей последней версии библитеки русского языка таких определений не найдено :)



:) Вы уверяете, что "задефайнено на эти имена" содержится в "последней версии библитеки русского языка"? Я не проверяла, недосуг (а может, лень  :-[)

Оффлайн Gnevko

  • Ветеран
  • *****
  • Сообщений: 2605

  • Активность на форуме
    0.6%
Автоматика и удалённый контроль
« Ответ #11 : 06 Марта 2014, 11:45:36 »
Тема немного сбилась с пути начального. Поэтому вопрос, дабы вернуть :)

Обучение машин - это конечно хорошо, и для этого нужна обратная связь в виде датчиков. На сегодняшний день набор этих самых датчиков/сенсоров весьма стандартен в любительсткой среде: температура, влажность, ЕС, РН, более продвинутые вещи - освещенность, давление, СО2. Но, все это позволяет лишь весьма косвенно и весьма с большой задержкой пороанализировать, что же на самом деле может происходить с самим растением. А вот как измерить в реальном времени 1) поток внутри ствола 2)Раскрытие утьиц 3) налив плодов и т.д?


Оффлайн Coccinella

  • Агроном
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 8408

  • Активность на форуме
    2.8%
Автоматика и удалённый контроль
« Ответ #12 : 06 Марта 2014, 17:58:42 »
Какими датчиками измеряют поток внутри ствола, я не знаю, а степень открытия устьиц и налив плода можно измерить оптическими сенсорами, только я не уверена, что это так уж необходимо.

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

Оффлайн cadiz

  • Новичок
  • *
  • Сообщений: 23

  • Активность на форуме
    0%
Автоматика и удалённый контроль
« Ответ #13 : 07 Марта 2014, 20:06:58 »
Как верно подметила Coccinella, оптический анализ позволит получить эти данные.
То есть, обычная камера плюс программное обеспечение вроде OpenCV (Open Computer Vision - открытое ПО компьютерного зрения)
Тут рассказано как натренировать компьютер на распознавание плюшевой совы в видеопотоке. Заменяем сову на плод томата или устьице и тренируем машину распознавать эти образы.
Поток жидкости в стволе - есть люминисцирующие добавки, которые светятся если их облучать правильным светом. Если шибко хочется проследить за током жидкости в стволе, то это может решить задачу. Другой вопрос - зачем? По-моему, для начала надо хотя бы поставить библиотеку OpenCV и научить машину собирать созревшие помидоры. Думаю, это более актуальная задача в сегодняшних реалиях.
Задаваться вопросами о токе в стволе на данном этапе, когда электроника в выращивании растений ещё молода, равносильно вручению учебника по матану ребёнку лет шести или озадачиванию его вопросом о правильности доказательства Перельманом теоремы Пуанкаре. Потихоньку, помаленьку и будет всё это. Ребёнок подрастёт, изучит основы и придёт к этому вопросу сам.
А если не придёт - другая у него дорога, значит :)
Релевантно к теме - попробуйте собрать для начала каскад распознавания томата или огурца. Когда это получится, бОльшая часть вопросов отпадёт сама собой и многое станет очевидным.

Оффлайн zorx

  • Новичок
  • *
  • Сообщений: 40

  • Активность на форуме
    0%
Автоматика и удалённый контроль
« Ответ #14 : 11 Марта 2014, 21:33:42 »
Сложновато для хобби, да и порог вхождения высокий.
Я на ардуине делаю - ph, свет, температура, программы полива. Мониторинг пока в plot.ly.