Часть первая – Наука в гидропонике
Управление всей гидропонной культурой с помощью электроники — нетривиальная задача. Это включает в себя все, от автоматического контроля таких вещей, как относительная влажность и температура окружающей среды, до других переменных, таких как освещение, рН раствора, проводимость и температура. На рынке существует множество платных решений, но, по моему опыту, ни одно из них не предлагает достаточной гибкости, чтобы приспособиться ко всем потенциальным средам, поскольку все те, которые я знаю, имеют закрытый исходный код и не позволяют пользователям легко модифицировать используемую прошивку/программное обеспечение для соответствия требованиям. особые потребности пользователя. За последние 5 лет я настроил инфраструктуру управления для нескольких различных культур и обычно делал это, используя инфраструктуру, полностью созданную своими руками, которая ориентирована на гибкость и мощность для конечного пользователя. В этом посте я хочу рассказать о том, как обычно работает эта установка и почему я пришел к такому выбору дизайна.

В целом инфраструктура, которую я настраиваю, опирается на использование Wi-Fi для связи устройств. Это связано с тем, что его обычно проще всего настроить, хотя он может быть не самым энергоэффективным или самым желательным во всех случаях. Я вообще делю устройства на три лагеря. Существует основное устройство — обычно это мощный компьютер, — который служит «центральным узлом» для всей установки. Этот компьютер содержит основную базу данных, в которой хранится вся информация об устройствах, показаниях датчиков, переменных калибровки, аварийных сигналах и т. д., и он отвечает за принятие решений о том, какие действия по управлению следует предпринять с учетом получаемых показаний датчиков и устройств управления, к которым у него есть доступ. На этом центральном компьютере обычно также размещается веб-сайт, где пользователь может легко изменять вещи, выполнять действия по ручному управлению, добавлять новые устройства, настраивать сигналы тревоги и т. д. Компьютер также можно дублировать, чтобы это не было важным моментом отказ. В нескольких случаях мы использовали Raspberry Pi для этой роли.
Вторая и третья группа устройств обычно представляют собой Arduinos, основная роль которых заключается либо в снятии показаний (измерительные станции), либо в выполнении управляющих действий (управляющие станции). Некоторые arduino могут фактически служить обеим целям, поскольку arduino часто может быть оснащен такими вещами, как показания датчика pH / EC, а также реле, которые управляют перистальтическими насосами, которые используются для повышения / понижения pH или питательного раствора в резервуар для раствора. Стоит отметить, что решение о том, что делать для управления, никогда не принимается какой-либо управляющей станцией, а все, что они делают, это интерпретируют управляющие сообщения от компьютера, а затем пытаются выполнить эти действия, а затем возвращают какой-то ответ о том, что происходит. Измерительным станциям, с другой стороны, доверена только задача проведения некоторых измерений из окружающей среды и передачи их в сеть, единственное, что они могут прослушивать, — это сообщения, выдаваемые компьютером, для изменения их калибровки всякий раз, когда это требуется. .

Измерительные станции могут быть полностью настроены так, чтобы иметь столько показаний, сколько пожелает пользователь, и могут быть реализованы для выполнения самых разных задач, от измерения температуры и влажности до измерения воздушного потока и измерения содержания воды в среде. Это позволяет использовать десятки различных точек для считывания температуры и влажности с использованием различных типов датчиков, контролировать такие параметры, как поток орошения, ОВП раствора и значения растворенного кислорода.
Вся настройка основана на использовании протокола mosquitto (mqtt), чтобы каждое устройство транслировало определенную тему с определенным чтением, на которое могут подписаться другие устройства. Компьютер будет прослушивать все устройства, которые он видит в своей базе данных, и поэтому пользователю легко добавить новое устройство, поскольку для этого требуется только включение устройства в базу данных. Станции измерения/управления могут подписаться на конкретные темы, которые их интересуют для действий по калибровке или контролю, и могут действовать всякий раз, когда они получают эти сообщения. Все устройства автоматически добавляются на веб-платформу, и можно легко настроить сигналы тревоги для любых измерений, выполняемых измерительными станциями.
Большим преимуществом этого подхода является то, что управляющие действия могут быть настолько сложными, насколько пожелает пользователь. Это включает в себя такие вещи, как внедрение элементов управления на основе обучения с подкреплением для таких вещей, как температура / влажность, что позволяет компьютеру использовать широкий спектр измерений для принятия управляющих действий, не полагаясь исключительно на измерения одного ограниченного датчика для принятия этих решений. Это позволяет компьютеру использовать такую информацию, как наружная температура, чтобы решить, сколько воздуха он хочет подавать в помещение для контроля или как долго он хочет включать увлажнители, чтобы обеспечить желаемый уровень влажности в комнате для выращивания.
С учетом всего сказанного, самостоятельный контроль определенно не самый простой путь. Реализация чего-то подобного вышеприведенному потребует покупки большого количества различной электроники, которая иногда стоит дорого в зависимости от того, чего хочет пользователь, и требует много времени на программирование прошивки и развертывание программного обеспечения, чтобы можно было достичь желаемого результата. При этом непревзойденный уровень контроля часто того стоит и может сопровождаться существенным увеличением информации, доступной пользователю, что часто приводит к повышению производительности и значительно более быстрому обнаружению потенциально важных проблем.
В следующей части этого поста я расскажу о некоторых практических аспектах этого проекта, например о том, какие Arduino и датчики я обычно использую и как они настраиваются для связи с центральным компьютером. Если вы хотите узнать больше о том, как я могу помочь вам настроить это для вашей культуры, пожалуйста, не стесняйтесь обращаться ко мне, используя контактную форму на веб-сайте.