Перейти к содержанию
ФИТО - промышленные теплицы и энергокомплексы

xbSlick

  • записи
    3
  • комментариев
    219
  • просмотра
    5 654

Практика применения "Народного контроллера" на базе Raspberry Pi для мониторинга показателей в теплице (фундук + клубника).


xbSlick

11 398 просмотров

Всем доброго времени суток. Хочу поделиться своим первым практическим опытом внедрения тепличного контроллера на базе Raspberry Pi. 
 
Что имеем:
Тепличный комплекс из четырёх теплиц 100м*10м каждая. На текущий момент там находится рассада для клубники и фундука.
 
IMG_20171105_142841_HDR.jpg0_02_05_2f166f42a3815d0791779329e981157d
 
Тех задание
  1. Обеспечить постоянный мониторинг следующих показателей:
       1.1. Температура у корня. 
       1.2. Температура в зоне плодоношения (1м. от земли).
       1.3. Влажность у корня.
       1.4. Влажность в зоне плодоношения. 
       1.5. Температура грунта. 
       1.6. Влажность грунта.
  1. Вышеперечисленные показания должны сниматься в восьми независимых зонах, равномерно распределенных по одной теплице (всего 4 теплицы, то есть 8*4=32 стойки с датчиками). 
  2. Датчики в каждой зоне должны быть сгруппированы в один мобильный комплект (стойка) с питанием от аккумулятора, что бы иметь возможность переставлять датчики по теплице и не привязываться к конкретному месту. Длительность работы от одного заряда не менее трех месяцев, но чем больше - тем лучше. Удаленный мониторинг заряда аккумулятора. 
  3. Полив в теплице организован сверху, то есть все модули должны быть влагозащищенными, согласно стандарту IP65. 
       5. Данные по всем датчикам за весь период должны сохраняться и отображаться в виде текущих показаний и графика изменений. 
       6. Доступ к данным должен быть обеспечен 24/7: системному администратору, административному персоналу из соседнего здания, главному агроному с любого места, инвесторам из за границы. Разделение прав доступа: редактирование и просмотр. Адаптивный интерфейс (просмотр с устройств с разным размером экрана: ноутбук, планшет, телефон).
  1. Наличие возможности сравнения показаний между собой (показания всех датчиков на одном графике) и изменения периода просмотра (час, день, месяц, год и т.п.).
       8. Автономность, стабильность и независимость системы от наличия интернета.
  1. Удаленный доступ системному администратору для обновления, обслуживания и настройки системы: SSH, RealVNC.
       10. Уведомления о достижении критичных уровней температуры и влажности (E-Mail, SMS и т.п.).
 
Реализация:
Для реализации задачи были выбраны следующие электронные модули:
  1. Центральный контроллер управления (сервер, база данных): RaspberryPi 3 + ОС Linux.
  2. Модуль сбора и отправки данных с датчиков: ESP8266.
  3. Внешняя точка доступа Wi-Fi: Ubiquiti UniFi UAP-Outdoor.
  4. Внешний мост для соединения с ближайшим интернетом: Ubiquiti NanoStation LOCO M5.
 
Этапы:
1) Покрытие сигналом Wi-Fi и интернет.
Для уверенного покрытия Wi-Fi на две теплицы 10*100, достаточной одной точки доступа. Питание организовано по PoE. Разместили на уровне человеческого роста, сразу на ящике с центральным контроллером и соединили прямым кабелем с мостом, который направлен на такой же мост в двух километрах от теплицы. Средняя скорость подключения к инету составила 8 Мбит/с.
viber_image6.jpg
 
2) Сборка и настройка стоек с датчиками. 
Согласно задаче, узел с датчиками должен быть мобильным и иметь возможность "кочевать" по теплице. 
В каждой стойке должно быть два комплекта сенсоров: данные у корня и на стебле (зона плодоношения) + влажность и температура грунта. 
В качестве опоры была выбрана ПП труба, диаметром 25.
 
viber_image2.jpg  viber_image3_800.jpg  viber_image4_800.jpg  IMG_20171109_005747_HDR.jpg
 
На трубу, с помощью клипс, прищелкиваются датчики, то есть имеем возможность менять высоту расположения. 
Список комплектующих для стойки:
1. Микроконтроллер ESP8266. 
2. Датчики температуры и влажности воздуха - 2 шт. 
3. Датчик температуры и влажности почвы - 1шт.
4. Акумуляторный блок на базе LiIon 18650 (8000-1000 mAh).
5. Корпуса, зажимы, труба ПП, клипсы.
 
IMG_20171129_003221.jpg  IMG_20171126_212411_800.jpg
 
Настройка стойки с датчиками:
На Микроконтроллер заливается готовая прошивка с вебинтерфейсом. Устанавливается фиксированный ip адрес и присваивается название (порядковый номер). Дополнительно указываем адрес нашего контроллера, то есть,  куда и по какому протоколу (MQTT) отправлять данные. 
К слову, протокол MQTT специально рассчитан на отправку данных в сетях с низкой пропускной способностью и нестабильным сигналом (есть три режима QoS).
 
viber_image9_800.jpg  viber_image10_800.jpg  viber_image7_800.jpg
 
3) Установка и настройка контроллера.
"Малину" разместили во влагозащищенном наружном ящике для электрощетчика: NIK Dot 3.1. Этот одноплатный компьютер идеально поместился в секцию для автоматов и для доступа к нему не нужно разбирать ящик, достаточно открыть прозрачную дверцу. В сам ящик были спрятаны PoE адаптеры и БП от малины.

IMG_20171105_161611_HDR_800.jpg  IMG_20171105_161800_HDR_800.jpg  IMG_20171105_165109_HDR_800.jpg

Для полноценной работы на Raspberry необходимо установить следующее ПО:
1. ОС Linux, Debian (Raspbian).
2. MQTT брокер - Mosquito.
3. Среда визуального программирования - NodeRed.
4. Специализированная (time series) база данных для хранения показаний датчиков - InfluxDB
5. ПО для визуального отображения данных - Grafana.
 
Принцип работы следующий: 
  1. Стойка с датчиками "просыпается" каждые 15 минут (или через любой другой промежуток) и отправляет данные по Wi-Fi по протоколу MQTT через точку доступа на контроллер.
  2. Контроллер принимает сообщение от стойки с помощью MQTT брокера (Mosquito) и передает во фреймворк Node-Red.
  3. Node-Red принимает данные, если нужно преобразовывает, и сохраняет в базу данных InfluxDB.
  4. Grafana получает информацию из базы данных (InfluxDB) и отображает их в виде графиков и чисел.
 
В конечном итоге имеем картину:
 
viber_image15_800.jpg  viber_image14_800.jpg
 
viber_image13_800.jpg  viber_image17_800.jpg
 
Итоги:
Данные со всех датчиков температуры могут отображаться на едином графике, что позволит наглядно определить и локализовать зону низкой/высокой температуры.
Промежуток отображаемого времени и период обновления - настраиваемые.
Дополнительно, на отдельном техническом дашборде, имеем возможность мониторить уровень заряда всех батарей, загрузку и температуру контроллера.
Набор и тип датчиков на каждой стойке можем менять самостоятельно, исходя из задач, бюджета и новинок на рынке.
Для доступа к графикам - достаточно "вбить" IP адрес контроллера в браузере (ноутбук, планшет, мобильный), подключение само собой беспроводное - Wi-fi.
Дополнительно что-то устанавливать или настраивать на клиентском устройстве - не нужно.
Контроллер сам определит разрешение вашего экрана и адаптирует под него свой интерфейс.
Ограничение прав доступа на "только просмотр" обезопасит систему от случайного или намеренного изменения параметров.
Настройка и программирование не требует приезда специалиста на место - есть удаленный доступ (и даже без белого IP).
И все это в "железке" помещаемой на ладони.
 
Надеюсь, что информация была полезной и доступной.
Вопросы можете писать сюда или на почту: info@noda.com.ua
Продолжение следует...
  • Нравится 7

72 Комментария


Рекомендуемые комментарии



8 часов назад, Сергей_9876 сказал:

интересное решение, а что за датчики влажности используете ?

Присоединяюсь к вопросу - тип датчиков был бы интересен. Паша, мои поздравления  -сейчас трудно найти человека, готового предоставить свой объект на опыты. Технология понятна - но вы ничем получается не управляете? И график кстати влажности у корня слишком похож на график влажности воздуха. Вот мои образцы, посмотрите:

 

5a3783810883d_10_58.53(725).thumb.PNG.9c37a498368f681bc15d45ce642b719f.PNG

 

 

 

 

 

 

air.thumb.png.fbc03a68396155b876060f3227882ed0.png 

 

5a37838b4f229_10_58.47(875).thumb.PNG.b76012c19e76d91400ad395704d71fc6.PNG

 

 

 

 

 

 

5a3783e31f763_10_58.34(692).thumb.PNG.dafcb2958502d0026fd94cff85eaa9c5.PNG

 

 

 

 

 

 

А вот это график температуры из теплицы в холодных краях - там сейчас внешняя температура -30!

 

Curve1.thumb.JPG.9bcf1237f337339eba8e98c7158295fd.JPG

 

 

 

 

 

 

Надеюсь, информация будет не лишней.

 

Изменено пользователем Greeds74
Ссылка на комментарий
13 часа назад, Сергей_9876 сказал:

интересное решение, а что за датчики влажности используете ?

Датчики влажности воздуха? Экспериментирую: DHT22, si7021, BME280.

Кому интересно, есть хорошая статья о сравнении датчиков температуры и влажности (англ. яз.) - ТУТ

8 часов назад, Greeds74 сказал:

Технология понятна - но вы ничем получается не управляете?

Пока нет, поставлена задача обеспечить мониторинг. Управление - следующий этап, но по такому же принципу: все реле и пусковые механизмы управляются через Wi-Fi (ESP8266 + MQTT).

8 часов назад, Greeds74 сказал:

И график кстати влажности у корня слишком похож на график влажности воздуха.

Так и есть, имеется ввиду влажность ВОЗДУХА у корня (10 - 20 см. над землей). Влажность грунта - это другой параметр.

Ссылка на комментарий

с датчиками влажности воздуха понятно,... да и особого смысла в экспериментах нет, а вот что за  датчики влажности грунта.....

Ссылка на комментарий

на фото не понятно, что является сенсором датчика, подскажите или есть фото сенсора.....?

Изменено пользователем Сергей_9876
Ссылка на комментарий
6 часов назад, Pyotr сказал:

Наверное  емкостной...

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

Но уже лучше, чем ардуинные электроды.

Вот тут все исходные кода - там же есть версии уже взрослые, с компенсацией. Под какой тип почвы - не знаю. Ссылка  https://github.com/Miceuz

Изменено пользователем Greeds74
  • Нравится 2
Ссылка на комментарий
11 час назад, Pyotr сказал:

Наверное  емкостной...

Да, сори, емкостный )) Я приобрел версию RUGGED, с повышенной защитой от воздействия окружающей среды. Сам датчик 3 в 1: влажность грунта, температура грунта и освещенность. Но в моем случае датчик света затянут термоусадкой. Имеет режим сна, шина i2c, можно менять адрес (несколько датчиков на одной шине). Поверхность покрыта защитным лаком: PRF202. На днях прийдут под него корпуса из 3Д принтера. Взял на пробу, пока работает норм. Забугорный народ его хвалит ))

Ссылка на комментарий

Судя по фото длинна измерительной части сантиметров 15 и измерение происходит по всей длине... т.е. влажность почвы на глубине 2 см одна, а на глубине  15 см другая, датчик выдаст среднюю влажность, типа "средняя температура по больнице"  ......, да ещё точность замера +/- 10%   и кому нужен сей прибор?

Ссылка на комментарий
3 минуты назад, Сергей_9876 сказал:

Судя по фото длинна измерительной части сантиметров 15 и измерение происходит по всей длине... т.е. влажность почвы на глубине 2 см одна, а на глубине  15 см другая, датчик выдаст среднюю влажность, типа "средняя температура по больнице"  ......, да ещё точность замера +/- 10%   и кому нужен сей прибор?

Ни в коем случае не рекомендую "сей прибор" к обязательной покупке )) Делюсь опытом по использованию того, что купил. Можете предложить альтернативу ?

Ссылка на комментарий
38 минут назад, Сергей_9876 сказал:

А давайте создадим нормальный прибор.....

У Миши есть наработки...

Миша? )

Изменено пользователем xbSlick
Ссылка на комментарий
7 часов назад, Сергей_9876 сказал:

А давайте создадим нормальный прибор.....

 Коллеги  -я тут. Паша - я только за то, чтобы сделать хороший прибор для измерения влажности почвы. Каюсь - у меня есть всё для него,от микрух до заводской печатной платы и корпуса IP67. Осталось только собрать. Итак - формулируем техническое задание! Протоколы modbus RTU и Profibus DP уже есть.

 

Ссылка на комментарий

Народ тут такой - отзывчивый. Для датчика создал новую запись в блоге.  Тут обсуждается практика применения  ведь))))

 

Изменено пользователем Greeds74
Ссылка на комментарий

думаю, что с ТЗ начали это правильно.... 

Но сначала надо посоветоваться с корефеями тепличного дела....типа показания  влажности почвы на каких глубинах актульны и в каких единицах им удобно  это воспринимать...

хотя может модераторы посоветуют отдельную тему для этого вопроса, типа : "создаётся датчик влажности почвы нужны советы агрономов"

Ссылка на комментарий

На глубине корневой системы.10см вполне достаточно.Влажность езмеряем в %,в чем же еще.

При определенном опыте человек может почувствовать разницу во влажности в 1% тупо рукой,где то об этом писала Марите.

Ссылка на комментарий
3 часа назад, Сергей_9876 сказал:

хотя может модераторы посоветуют отдельную тему для этого вопроса, типа : "создаётся датчик влажности почвы нужны советы агрономов"

Миша ж создал такую тему? (см. выше)

Я пока буду пользоваться тем что есть, за неимением лучшего.

Ссылка на комментарий

Замечательно!  есть первое пожелание:

глубина 10 см и точность +/- 1%

ждем еще пожеланий....

..........техническая подробность, измеряемый элемент должен иметь размер думаю не менее 10 мм, поэтому показания будут на глубине 9-10 см или 10-11 см, какой вариант предпочтительней?...........

...........обращаю  внимание, например измерительные элементы для замеры влажности воздуха имеют точность 3%, для особо точных измерений есть линейка приборов с точностью 2,5%

Ссылка на комментарий
15 часов назад, xbSlick сказал:

Я пока буду пользоваться тем что есть, за неимением лучшего.

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

А что касается технического задания - что же, похоже, зря я готовил шпаргалку из 5 пунктов.

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...

Важная информация

Мы используем файлы cookie, чтобы улучшить работу сайта. Дальнейшее пребывание на сайте означает согласие с их применением.