Главная страница
Навигация по странице:

  • Среда реализации .

  • Необходимые ресурсы

  • Анализ платформ «Интернет вещей»

  • Языки программирования «умных вещей»

  • Основная часть

  • Характеристики оборудования

  • Программная часть

  • Список используемых источников информации

  • Аптекарский Смарт-огород. Аптекарский SMART-огород. Аптекарский smartогород


    Скачать 3.65 Mb.
    НазваниеАптекарский smartогород
    АнкорАптекарский Смарт-огород
    Дата20.09.2022
    Размер3.65 Mb.
    Формат файлаdocx
    Имя файлаАптекарский SMART-огород.docx
    ТипДокументы
    #687465

    Муниципальное образовательное учреждение

    средняя общеобразовательная школа №34 г.о.Подольск

    Тема: «Аптекарский SMART-огород»

    Костырин Виктор Алексеевич

    Научный руководитель:

    Краснова Марина Олеговна

    Московская область

    Городской округ Подольск

    ОГЛАВЛЕНИЕ

    1. Введение ………………………………………………… …..3

    2. Основная часть 6

    3. Заключение……………………………………………… ... 11

    4. Источники информации……………………………………… ..12

    5. Приложения…………………………………………………… .13

    Введение.

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

    В Подмосковье очень мало Аптекарских огородов, где бы были собраны лекарственные растения региона. Уход за таким огородом трудоемок и отнимает немало времени, особенно при отсутствии штатных единиц. Только применяя новейшие IT-технологии можно снизить эти затраты. Тема «Умной теплицы» и «Умного сада» сейчас актуальны не только среди населения, но и на государственном уровне. Созданная единая автоматизированная экосистема Аптекарского огорода может контролироваться и поддерживаться удаленно.

    Цель:

    Создание аптекарского Smart-огорода.

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

    Задачи:

    1. Изучить опыт создания умных теплиц

    2. Ознакомиться с существующими платформами для автоматизации

    3. Изучить датчики для мониторинга параметров

    4. Изучить программную среду для выбранной платформы

    5. Написать ПО для дистанционно мониторинга основных параметров теплицы

    6. Проверить работоспособность системы в условиях кабинета

    7. Установка оборудования в Аптекарском огороде, проверка их работы

    8. Запуск автоматического контроля и ухода за растениями

    9. Анализ результатов работы


    Среда реализации.

    Проект будет реализован на территории МОУ СОШ №34 г.о. Подольск. Планируется использование имеющиеся теплицы и участок открытого грунта. (Приложение1)

    Необходимые ресурсы:

    -ноутбук

    -Садовый инвентарь

    -датчик температуры почвыDs18b20

    -датчик влажности почвы

    -Wi-Fiмодуль ESP8266

    -датчик температуры и влажности воздуха DHT 11

    -поплавковый датчик уровня воды

    -фоторезистор gl5528

    -микроконтроллер SunFounder Mega 2560 аналог Arduino

    -Годовая лицензия платформы GreenPL

    -Емкость для воды 100 литров

    -шланги 20 метров, капиллярные шланги 10 метров

    -насос

    -фитолампы

    -автоматический привод для окон

    Испокон веков человечество занималось выращиванием растений для пропитания и использования лекарственных растений для лечения. В 21 веке люди с развитием технологий начали использовать теплицы для выращивания культур в холодное время года.

    Но обычная теплица требует много времени, которого у современного человека так мало. Появление умных теплиц — это новый этап ухода за растениями. Такие теплицы могут использоваться в разных отраслях, таких как лаборатории и для выращивания культурных и лекарственных растений.
    Анализ платформ «Интернет вещей»

    IoT-платформы - это такая среда, которая объединяет собственно "вещи" и "интернет". По сути - это ключевой инструмент разработки IoT-приложений и сервисов, объединяющий физические объекты и Сеть.

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

    Платформы IoT обеспечивают бесшовную интеграцию различных аппаратных средств, используя протоколы связи, применяя различные типы топологии (прямое подключение или шлюз) и используя SDK при необходимости и т.д.

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

    Самыми популярными программными IoT платформами являются: Microsoft Azure IoT, Amazon Web Services (AWS) IoT, Google Cloud, ThingWorx IoT, IBM Watson, Artik от Samsung Electronics, Cisco IoT Cloud Connect, Salesforce IoT Cloud и многие другие.

    В России данное направление также развивается и днём и ночью. Для реализации проекта умной теплицы в пределах РФ оптимальным является использование платформы отечественного автора.

    Языки программирования «умных вещей»

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

    Для контроллеров и прочего железа с низкой вычислительной мощностью и с малым ОЗУ, C является предпочтительным языком программирования, а для шлюзов и облачных платформ Java – лучший выбор.

    Статистика в сфере IoT показывает, что язык Java – абсолютный лидер с 66% популярности. Следом идут С, JavaScript, Python, C++.

    Основная часть

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

    Язык программирования на Arduino – C++. Она производится и продается во многих местах на планете и поэтому для нее создано большое кол-во устройств. На нее можно установить множество различных датчиков, позволяющих считывать данные и выводить их на интерфейс. Датчики мы выбирали такие, чтобы они потребляли малое кол-во электричества и подходили под нашу плату. Они позволяют значительно упростить работу с растениями.

    Наша теплица - это не просто теплица, это аптекарский огород, в котором выращиваются редкие и полезные растения, требующие тщательного наблюдения за показателями температуры и влажности.

    Мы рассматривали множество IoT-платформ, такие как GE Predix. OpenHAB, OpenIoT, PlatformIO и The Thing System. Но мы остановились на приложении от русского производителя GreenPl.

    Для нее не требуется долгое и сложное обучение тонкостям таких сложных языков как: C++, JS и подобных им;

    Они, в отличии от других сайтов/компиляторов, работают стабильно и делают все с первого раза;

    Для отображения данных не требуется написания большого кол-ва модулей, скрепления их в одно целое.

    Характеристики оборудования

    Датчик температуры и влажности DHT 11:

    § Напряжение питания: 3,3–5 В

    § Потребляемый ток:

    o в режиме запроса данных: 2,5 мА

    o в режиме покоя: 100 мкА

    § Диапазон измеряемой температуры: 0–50 °С

    § Погрешность температуры: ±2 °С

    § Диапазон влажности: 20–90%

    § Погрешность влажности: ±5%

    § Габариты: 25×25 мм

    Датчик освещённости GL5528

    · Световое сопротивление при 10 люкс: 8-20 кОм

    · Темновое сопротивление при 0 люкс: 1,0 МОм

    · Гамма при 100-10 люкс: 0,7

    · Рассеиваемая мощность при t 25°C: 100 мВт

    · Максимальное напряжение при t 25°C: 150 В

    · Пик максимальной чувствительности в спектре при t 25°C: 540 нм

    · Допустимый диапазон температур: от -30 до +70 °C

    · Размер (ДхШхВ): 5,1 x 4,2 x 36 мм

    · Вес: 1 гр

    Датчик температуры и влажности почвы DS18B20

    § Модуль: DS18B20

    § Интерфейс: 1-Wire

    § Диапазон измеряемых температур: −55…+125 °C

    § Точность: ±0,5°C

    § Разрешение: 9/10/11/12 бит

    § Напряжение питания: 3–5,5 В

    § Диаметр гильзы: 6 мм

    § Длинна провода: 80 см

    § Потребляемый ток: 750 нА в состоянии покоя и 1 мА при запросе данных

    Датчики были установлены на плате Arduino MEGA. Она является следующей моделью платы ARDUINO и вмещает в себя усиленный процессор и увеличенное количество входов и выходов.

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

    Все эти датчики объединяет одна важная черта: они дешевые и просты в использовании. Даже начинающие программисты могут разобраться и собрать эту систему.

    Макет теплицы сделан из пластикового контейнера. Внутри контейнера установлена плата Arduino Mega с датчиками, система автополива, система режима освещенности. (Приложение 2)

    Программная часть:

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

    Программа была написана в среде разработки  ArduinoIDE. В программе подключены следующие библиотеки:

    • PubSubClient.h

    • SimpleTimer.h

    • TinyGsmClient.h

    • Servo.h

    • TroykaDHT.h

    • OneWire.h

    • DallasTemperature.h

    Часть кода вы можете найти в приложении 4.

    Заключение

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

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

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

    Список используемых источников информации:

    1. http://arduino.cc

    2. https://ru.wikipedia.org/wiki/Arduino

    3. http://wiki.amperka.ru/

    4. https://greenpl.ru/

    5. https://megac.ru/digital-cx/umnyy-sad/

    6. https://megac.ru/digital-cx/umnaya-teplitsa/

    7. https://iot-analytics.com/iot-platforms-company-list-2017-update/

    8. https://proglib.io/p/iot-languages


    Приложение 1



    Аптекарский огород МОУ СОШ №34



    Первые классы на экскурсии в Аптекарском огороде

    Приложение 2






    Макет Аптекарского SMART- огорода

    Приложение 3



    Мониторинг влажности почвы за сутки (фрагмент графика) на ноутбуке



    Мониторинг температуры почвы за сутки (фрагмент графика) на ноутбуке



    Мониторинг влажности воздуха за сутки (фрагмент графика) на ноутбуке



    Мониторинг температуры воздуха за сутки (фрагмент графика) на ноутбуке



    Мониторинг освещенности за сутки (фрагмент графика) на ноутбуке



    Мониторинг параметров на телефоне

    Приложение 4

    void f_dht11_7() {
      // считывание данных с датчика
      dht11_7.read();
      // проверяем состояние данных
      switch(dht11_7.getState()) {
        // всё OK
        case DHT_OK:
          // отправляем на сервер
          String payload = "{\"temp_dht11_7\" : ";
          payload += String(dht11_7.getTemperatureC());
          payload += ", \"hum_dht11_7\" : ";
          payload += String(dht11_7.getHumidity());
          payload += "}";
          char sub_handler[100];
          payload.toCharArray(sub_handler, 100);
          GreenPLClient.publish(TOPIC_CHAR, sub_handler);
          break;
        // ошибка контрольной суммы
        case DHT_ERROR_CHECKSUM:
          Serial.println("DHT checksum error");
          break;
        // превышение времени ожидания
        case DHT_ERROR_TIMEOUT:
          Serial.println("DHT time out error");
          break;
        // данных нет, датчик не реагирует или отсутствует
        case DHT_ERROR_NO_REPLY:
          Serial.println("DHT sensor not connected");
          break;
    }
    }
    boolean mqttConnect()
    {
      Serial.print("Connecting to ");
      Serial.print(greenplServer);
      // Проходим аутентификацию в GreenPL MQTT:
      boolean status = GreenPLClient.connect(CLIENT_ID, TOKEN, "1");
      if (status == false) {
        Serial.println(" fail");
        return false;
      }
      Serial.println(" OK");
      //Подписываемся после возникновения стабильного соединения с сервером
      char sub_handler[100];
      
    (TOPIC + "/servo_mg995_9/lv").toCharArray(sub_handler, 100);
      GreenPLClient.subscribe(sub_handler);
    ;
    (TOPIC + "/amperka_mini_relay_6/lv").toCharArray(sub_handler, 100);
      GreenPLClient.subscribe(sub_handler);;
    (TOPIC + "/amperka_mini_relay_10/lv").toCharArray(sub_handler, 100);
      GreenPLClient.subscribe(sub_handler);
      String payload = "{ \"status\" : 1 ,\"servo_mg995_9\": 0,\"amperka_mini_relay_6\": 0,\"amperka_mini_relay_10\": 0 }";
      char sub_handlers[payload.length() + 1];
      (payload).toCharArray(sub_handlers, payload.length() + 1);
      GreenPLClient.publish(TOPIC_CHAR, sub_handlers);
      return GreenPLClient.connected();
    }
    void GreenPLPublish(String variable, float value) {
      String payload = "{\"";
      payload += variable;
      payload += "\" : ";
      payload += String(value);
      payload += "}";
      char sub_handler[payload.length() + 1];
      payload.toCharArray(sub_handler, payload.length() + 1);
      GreenPLClient.publish(TOPIC_CHAR, sub_handler);
      delay(10);
    }
    void mqttCallback(char* topic, byte* payload, unsigned int len) 
    {
      Serial.print("Message arrived [");
      Serial.print(topic);
      Serial.print("]: ");
      Serial.write(payload, len);
      Serial.println();
      String variable = getVariableFromTopic(String(topic), '/', 3);
      char payload_char[100];
      for (int i = 0; i < len; i++) {
        payload_char[i] = (char)payload[i];
      }
      int value = atoi(payload_char);
      if (variable == "servo_mg995_9") {
      if (value >= 0 && value <= 180) {
        servo_mg995_9.write(value);
      }
    }
    if (variable == "amperka_mini_relay_6") {
      if (value == 1 || value == 0) {
        digitalWrite(amperka_mini_relay_6, value);
      }
    }
    if (variable == "amperka_mini_relay_10") {
      if (value == 1 || value == 0) {
        digitalWrite(amperka_mini_relay_10, value);
      }
    }
    }
    //функция для быстрого разделения строки (топика) по символу '/'
    String getVariableFromTopic(String data, char separator, int index)
    {
      int found = 0;
      int strIndex[] = {0, -1};
      int maxIndex = data.length() - 1;
      for (int i = 0; i <= maxIndex && found <= index; i++) {
        if (data.charAt(i) == separator || i == maxIndex) {
          found++;
          strIndex[0] = strIndex[1] + 1;
          strIndex[1] = (i == maxIndex) ? i + 1 : i;
        }
      }
      return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
    }

    Фрагмент кода автоматизированной системы Аптекарского SMART-огорода


    написать администратору сайта