Ничего не найдено :(
    В гостях у Самоделкина! » Темы » Советы » Удаленный мониторинг влажности почвы, воздуха и температуры

    Удаленный мониторинг влажности почвы, воздуха и температуры



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

    Для этой сборки нужны следующие комплектующие:
    -Датчик влажности почвы;
    -ESP32 + плата расширения;
    Датчик влажности почвы LoRa работает на Atmel Atmega328P. Он собирает локальную температуру / влажность воздуха с помощью датчика AHT10 и определяет влажность почвы. Датчик передает показания на шлюз ESP32. И его очень удобно использовать для напоминания о том, что растениям нужен полив в саду.

    Встроенный модуль *LoRa подключается к Atmega328P с помощью SPI и GPIO, распиновка подключения ниже:
    Atmega328P ------> LoRa module
    D12 ----> MISO
    D11 ------> MISO
    D13 ------> SCK
    D10 ------> NSS
    D4 ------> RESET
    D2 ------> DIO0
    D6 ----> DIO1
    *LoRa - технология беспроводной связи с высокой емкостью сети и малым энергопотреблением конечных устройств.
    Удаленный мониторинг влажности почвы, воздуха и температуры


    Для успешного подключения датчика влажности к шлюзу необходимо использовать библиотеку RadioLib.h.
    Когда LoRa передал данные, нужно добавить знак к передаваемой информации, чтобы ESP32 распознал его.
    String message = "#"+(String)packetnum+" Humidity:"+(String)humidity+"% Temperature:"+(String)temperature+"C"+" ADC:"+(String)sensorValue+" SOIL2";
      Serial.println(message);
      packetnum++;
      Serial.println("Transmit: Sending to rf95_server");
      	 int state = radio.transmit(message);

    Весь код для датчика можно скачать здесь.
    Шлюз Lora представляет собой комбинацию модуля ESP32 и MakePython LoRa. ESP32 - очень популярный микроконтроллер для Arduino или MicroPython. MakePython ESP32 имеет ESP32 и дисплей.

    MakePython LoRa - это двухканальное расширение LoRa для MakePython ESP32. Это расширение необходимо для WIFI.
    У платы есть два модуля LoRa, в этом проекте для приема данных использовался один модуль с именем U2. Когда две платы собраны, ESP32 подключается к модулю LoRa с помощью SPI. Модуль LoRa подключен к ESP32 с помощью SPI и GPIO.

    Подробное подключение модуля ESP32 и U2 LoRa:
    ESP32 -------> U2 LoRa module
    IO12 ------> MISO
    IO13 ------> MOSI
    IO14 ------> SCK
    IO32 ------> NSS
    IO33 ------> RESET
    IO36 ------> DIO0
    IO27 ------> DIO1


    Теперь нужно запрограммировать ESP32.
    Настраивает интерфейс модуля LoRa
    #define DIO0 36
    #define DIO1 27
    
    #define LORA_RST 33
    #define LORA_CS 32
    
    #define SPI_MOSI 13
    #define SPI_MISO 12
    #define SPI_SCK 14

    Устанавливает библиотеку LoRa — RadioLib.h для поддержки работы модуля LoRa и получения данных передаваемых датчиком влажности почвы.
       String str;
        int state = radio.receive(str);

    Для распознавания данных, с какого датчика передаются данные, для каждой информации должен быть определен специальный ярлык, например «SOIL1».
    if(str.indexOf("SOIL1")>-1)
            {   sensorADC = str.substring(str.indexOf("ADC:")+4,str.indexOf("ADC:")+7);
                
                ADCvalue[0] =  sensorADC;
                Serial.println("1: "+ADCvalue[0]);         
                }
                
            if(str.indexOf("SOIL2")>-1)
            {   sensorADC = str.substring(str.indexOf("ADC:")+4,str.indexOf("ADC:")+7);
    
                ADCvalue[1] =  sensorADC;
                Serial.println("2: "+ADCvalue[1]);
                
                }

    Для отображения данных на экране прописывает следующие данные:
     display.clearDisplay();
          display.setTextSize(2);              
          display.setTextColor(SSD1306_WHITE); 
          display.setCursor(0, 0);             
          display.print(F("SOIL1: "));
          display.println(ADCvalue[0]);
          display.print(F("SOIL2: "));
          display.println(ADCvalue[1]);
          display.display();

    Весь код можно скачать здесь.
    Теперь нужно подключить питание и протестировать работу устройства.
    Мастер установил два датчика с питанием от аккумулятора. Поместил один датчик в горшок, а другой - в сад. После включения ESP32 на ЖК-дисплее должны отображаться показания датчиков.

    Кроме того, ESP32 может передавать данные, полученные модулем LoRa, на веб-сайт через WIFI, например, передавать на Thingspeak. Он также может передавать данные или команды другим модулям LoRa.


    Источник (Source)
    Подборки: Электроника

    Паяем. «Третья рука» - за семь секунд

    Кондиционер не требующий жадных и кривых установщиков

    Добавить комментарий

    1 комментарий
    Vasilisk -66

    ещё бы дистанционное уничтожение сорняков, дистанционный сажатель семян и растений. и на даче можно не появлятся.

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

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

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

    Все комментарии