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

Беспроводной датчик влажности почвы на Helium + DFRobot — уход за растениями в реальном времени

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

Сервисы

О проекте

Растения умирают от недостатка полива. Этот прототип дает им «голос»: емкостной датчик влажности + Helium LoRaWAN сеть = данные на дашборде в реальном времени. Время сборки ~60 мин.

Что охвачено

  1. Сборка зонда: DFRobot датчик + Helium Atom + Adapter + Arduino.
  2. Регистрация Element и Atom в Helium Dashboard — своя LoRaWAN сеть за 30 сек.
  3. Программирование через Arduino IDE: библиотеки Helium и ArduinoJson.
  4. Отправка данных (JSON: значение ADC + процент влажности) в Helium HTTP Channel (можно перенаправить в IFTTT, AWS, Google Cloud, Azure, MQTT).

Сборка зонда

  1. Вставьте Atom в Adapter, затем в Arduino. Настройте джамперы RX/TX под вашу плату (см. документацию Helium).
  2. Подключите датчик 3-проводным шлейфом к Adapter:
    • Черный (GND) -> GND
    • Красный (VCC) -> 5V
    • Синий (Signal) -> AD0
  3. Белый коннектор шлейфа вставьте в датчик DFRobot.

Развертывание Helium Element

Вставьте в розетку + Ethernet (или Cellular). Ждите зеленый (Ethernet) или бирюзовый (Cellular) светодиод. Элемент создает зону покрытия для Atom.

Регистрация в Helium Dashboard

  1. Создайте аккаунт.
  2. New Atom: имя (напр. «Fern Saver»), последние 4 цифры MAC, 4-значный HVV код.
  3. New Element: то же + местоположение на карте.
  4. Проверьте Status & Signal — должен быть Online.

HTTP Channel (пример с requestb.in)

Channels — готовые коннекторы к веб-сервисам. Создайте HTTP Channel в Dashboard, укажите URL (напр. requestb.in). В коде имя канала CHANNEL_NAME "HTTP".

Настройка Arduino IDE и загрузка скетча

  1. Установите библиотеки: Helium и ArduinoJson (Sketch → Include Library → Manage Libraries).
  2. Создайте новый скетч, вставьте код Soil_Humidity.ino (полный код ниже).
  3. Подключите USB, нажмите Upload. LED на Atom начнут мигать — подключение к сети.

Код (Soil_Humidity.ino)


#include "Board.h"
#include 
#include 
#include 
#include 

#define CHANNEL_NAME "HTTP"           // Имя канала в Dashboard
#define CHANNEL_DELAY 5000            // Чтение каждые 5 сек
#define CHANNEL_SEND_CYCLE 12         // Отправка каждые 12 циклов (60 сек)

Helium helium(&atom_serial);
Channel channel(&helium);
int channel_counter;

void report_status(int status, int result = 0) { /* ... */ }
void connect() { while (!helium.connected()) { /* ... */ } }
void channel_create(const char * name) { /* ... */ }
void channel_send(const char * name, void const * data, size_t len) { /* ... */ }

void setup() {
  Serial.begin(9600);
  helium.begin(HELIUM_BAUD_RATE);
  channel_create(CHANNEL_NAME);
  channel_counter = 0;
}

#define DRY_VALUE 536   // В воздухе (сухо)
#define WET_VALUE 303   // В воде (мокро)
#define HUM_RANGE (DRY_VALUE - WET_VALUE)

void loop() {
  float reading = analogRead(A0);
  float percent = 100 * (1 - (reading - WET_VALUE) / HUM_RANGE);
  Serial.print("Reading - "); Serial.print(reading); Serial.print(" - "); Serial.println(percent);

  if (--channel_counter <= 0) {
    StaticJsonBuffer jsonBuffer;
    JsonObject& root = jsonBuffer.createObject();
    root["value"] = reading;
    root["percent"] = percent;
    char buffer[HELIUM_MAX_DATA_SIZE];
    size_t used = root.printTo(buffer, HELIUM_MAX_DATA_SIZE);
    channel_send(CHANNEL_NAME, buffer, used);
    channel_counter = CHANNEL_SEND_CYCLE;
  }
  delay(CHANNEL_DELAY);
}

Данные (JSON)

{ "value": 433, "percent": 55.5 }

Калибровка: DRY_VALUE (в воздухе) и WET_VALUE (в воде) подбираются экспериментально для вашей почвы/датчика.

Проверка в Helium Dashboard

Дальнейшие шаги

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

  1. Датчики влажности почвы: принцип работы и практические применения
  2. Интегрированная система контроля доступа с QR, RFID и верификацией температуры
  3. Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива
  4. Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности
  5. Создание робота на Raspberry Pi и Python: полное руководство
  6. Устойчивый успех: уроки упорства от Авраама Линкольна и лидерства в ТО
  7. Интеграция термопары с Arduino Portenta H7 через MAX6675
  8. Точное управление сервоприводом через MPU6050 (Arduino, SG90, MG996R)
  9. Модуль GPS u-blox LEA-6H 02: Интеграция с Arduino и Python
  10. ИИ-усиленные цифровые камеры революционизируют мониторинг влажности почвы