Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000

Компоненты и материалы

КомпонентКоличествоПримечание
Датчик температуры DHT221Влажность и температура внутри теплицы (пін D0)
Датчик температуры DS18B20 (влагозащищённый)1Температура снаружи (пін D1)
Датчик почвы FS200-SHT25 (темп. + влажность)1I2C: SCL=12, SDA=11
4-канальный релейный модуль1Управление клапанами полива (R1, пины 7–10)
2-канальный релейный модуль1Управление вентиляцией/окнами (R2, пины 5–6)
Ультразвуковой датчик HC-SR041Уровень воды: Echo=A0, Trig=A1
Arduino MKR10001WiFi + aREST API

Приложения и онлайн-сервисы

О проекте

Выращивайте растения и овощи, полностью контролируя условия среды. Всё, что нужно — Arduino MKR1000.

Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000

Требования к росту растений

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

Обзор оборудования

Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000

Температура / Влажность

Уровень воды

Воздух: температура / кислород

Реле R1 / R2

R1 (4 канала) — пины 7,8,9,10; R2 (2 канала) — пины 5,6. Команды отправляются через aREST API.

Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000

MKR1000 + aREST

Все датчики подключены, данные доступны через веб-интерфейс aREST в JSON. Используйте предоставленные библиотеки и .ino-файлы, настройте SSID/пароль WiFi.

Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000

Данные и интерфейс

Написано Windows-приложение (C#, .NET, Visual Studio 2015) для визуализации текущих параметров, истории за день и логов. Данные также отправляются в облако DasData (или свои каналы).

Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000
Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000
Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000
Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000
Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000
Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000

В файле Settings.txt приложения укажите DsKey и AKey от DasData. После запуска данные появятся в облаке.

Умная теплица DasFilisera: система мониторинга роста растений на Arduino MKR1000

Автоматизация теплицы

Выбирайте клапаны и приводы под свою теплицу. Всё управляется через реле. Логика триггеров (полив при низком уровне, вентиляция при высокой температуре) реализована в Windows-приложении.

Программный код

Filisera_Arduino (основные фрагменты)

#include <SPI.h>
#include <WiFi101.h>
#include <aREST.h>
#include "DHT.h"
#include <OneWire.h>
#include <Wire.h>
#include <DallasTemperature.h>
#include <SHT2x.h>

#define DHTPIN 0
#define DHTTYPE DHT22
#define ONE_WIRE_BUS 1

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

float umidSol=0, umidAer=0, tempIn=0, tempOut=0, tempSol=0, umidexIn=0;
#define echoPin A0
#define trigPin A1
long duration; int HR_dist=0;
int minimumRange=5, maximumRange=200;
int sqrLevel, nivelProc, nivelVol;

char ssid[] = "WIFI_AP";
char password[] = "WIFI_PASSW";
#define LISTEN_PORT 80
WiFiServer server(LISTEN_PORT);
aREST rest = aREST();

void setup() {
  Serial.begin(115200);
  rest.function("led", ledControl);
  rest.set_id("1"); rest.set_name("mkr1000");
  while (WiFi.begin(ssid, password) != WL_CONNECTED) delay(10000);
  server.begin();
  rest.variable("Vol_container", &sqrLevel);
  rest.variable("Umiditate_sol", &umidSol);
  rest.variable("Umiditate_aer", &umidAer);
  rest.variable("Temp_in", &tempIn);
  rest.variable("Temp_out", &tempOut);
  rest.variable("Temp_sol", &tempSol);
  pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);
}

void loop() {
  getmyDistance(); getInsideVals(); getOutSideVals(); getSoilVals();
  WiFiClient client = server.available();
  if (client) rest.handle(client);
}
// ... функции опроса датчиков, ультразвука, реле ...

Windows-приложение (Form1.cs — ключевые моменты)

Схемы

PDF-файл с подключением датчиков и реле (см. раздел Schematics).

Исходники на GitHub

https://github.com/dasdata/DasFilisera

Производственный процесс

  1. Сборка логгера температуры на Raspberry Pi с $5 I2C датчиком
  2. Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
  3. ИК-датчик температуры TMP006 с Raspberry Pi: библиотека Python и руководство по настройке
  4. Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
  5. Как подключить однопроводный датчик температуры DS1820 к Raspberry Pi через GPIO
  6. Подключение цифрового термометра DS18B20 1-Wire к Raspberry Pi — пошаговое руководство
  7. Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20
  8. Создайте домашний монитор температуры на Raspberry Pi с MCP9808, InfluxDB и Grafana
  9. Точный датчик температуры подшипников: обнаружение и мониторинг
  10. Лабораторный чип NASA Goddard обеспечивает мониторинг потока и температуры в реальном времени