Перейти к содержимому
ЛиС ФИТО

xbSlick

Войти  
  • записи
    2
  • комментария
    202
  • просмотров
    1 110

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

xbSlick

967 просмотров

Всем доброго времени суток. Хочу поделиться своим первым практическим опытом внедрения тепличного контроллера на базе 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).
И все это в "железке" помещаемой на ладони.
 
Надеюсь, что информация была полезной и доступной. С радостью отвечу на любые вопросы.
Продолжение следует...


57 комментариев




Recommended Comments

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

Поделиться комментарием


Ссылка на комментарий
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 пунктов.

Поделиться комментарием


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

Для выращивания в грунте особо точные показания влажности не  так важны, по сравнению с влажностью субстрата в гидропонике. Мне думается именно поэтому нет серьёзного спроса на подобные приборы. Нормальный гровер и без прибора может понять сухой грунт или влажный, как уже отмечали корифеи. А вот доступный по цене аналог Гродановского измерителя влажности- был бы востребован, мне кажется.

Поделиться комментарием


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

Создайте аккаунт или войдите для комментирования

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

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

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
   Сайт работает на облачном сервере ispserver.ru