Измеритель влажности почвы, влажности воздуха и температуры воздуха на ESP32


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

Распаковки не будет. Сам не смотрю и другим показывать не буду. Кто не видел эти желтые пакеты из Китая? Внутри в антистатическом запаянном пакете лежал товар. Как ни странно при доставке, ни чего не сломали, и это радует. Доехало быстро, за 10 дней, в принципе для почты Гонконга это скорее правило, чем исключение. Вот трек RU159252885HK.

Для меня сей приборчик, во первых, реализация того что и так хотел сделать, во вторых он еще и на ESP32 сделан, что тоже приятно и есть чего пощупать. До этого, примерно год назад купил измеритель влажности и минерализации почвы, освещенности и температуры от Xiaomi, тут был обзор mySKU.me/blog/china-stores/43295.html, оказалось у моего старого Samsung-а Bluetooth не той системы, а может быть и нет. Потому что, спустя какое-то время я купил-таки себе новый телефон и той самой фирмы, но чуда не произошло, прибор один раз даже нашелся через синий зуб, а потом перестал. Я поднял правую руку, опустил ее и подумал, — И фиг с ним.

Теперь к влажности почвы. Измеряли ее «при царе горохе» раньше просто, брали образец, взвешивали, выпаривали влагу и опять взвешивали. Отношение разницы масс к первоначальной массе и есть влажность.

Кроме этого метода измерения как в ГОСТ, путем взвешивания образцов и их выпаривания и повторного взвешивания, есть косвенные методы измерения. Например проводимость почвы как то коррелирует с ее влажностью, но кроме того зависит от состава почвы, кроме того возникают проблемы с сохранностью электродов.

А есть способ измеряющий количество воды через диэлектрическую проницаемость. Т.е. в почву помещается конденсатор, у которого диэлектриком является она (почва), и его емкость линейно зависит от диэлектрической проницаемости диэлектрика (почвы). И скажем, если заглянуть в справочники, то выяснится, что проницаемость воды сильно отличается от основных материалов, из которых состоит почва. А это органика, характерная проницаемость 2-3. Неорганика, характерная проницаемость 4-16. А у воды диэлектрическая проницаемость 81. Это означает, что она может вносить значительно более существенный вклад. И соответственно, по идее, точность измерения этим способом количества воды в почве без дополнительной настройки будет выше, чем предыдущим.

Теперь собственно сам прибор.




Состоит из единой платы, на которой размещено:
Мозг в виде ESP32. Это модуль который содержит и мозги, и память программ и имеет ножки ввода/вывода как цифровые, так и аналоговые, три uart порта и главное это беспроводные коммуникации wi-fi и bluetooth.
Микросхема CP2104 конвертор uart – usb.
Микросхема tp5410 контроллер зарядки и одновременно step-up преобразователь, что бы напряжение литиевого аккумулятора поднять до требуемых 5В питания.
Микросхема tl555c – таймер, на котором сделан генератор измерителя влажности почвы.
Микросхема DHT11 – измеритель влажности и температуры воздуха.
Измерительный конденсатор, выполненный на печатной плате.
Две кнопки Boot для программирования и EN как ни странно это сброс.
Отсек для батареи 18650
Разъем USB
И все GPIO наружу ;-)

Еще фото




Первым делом подаем питание через usb разъем. Берем телефон и ищем что-то по wi-fi в надежде найти новую точку доступа и вот вам большой китайский фиг. Но понимания, что мы в начале квеста еще нет, еще крутится мысль, — Мы ее сейчас побырому, решим.
Начал я с просмотра всех (или почти все) товаров с этим изделием, вернее комментариев к товарам. И в одном отзыве увидел комментарий, что девайс не прошит, а скетча в сети нет.
Далее я пошел сразу двумя путями. Написал продавцу, — Как так, где скетч? И пока тот должен был ответить, побрел по просторам сети в поисках ответов. Как искал, писать не буду. Что нашел?
Дорогу к полурабочему скетчу указал продавец. Как подключить к среде программирования arduino ESP32, нашел в сети. Для того что бы среда Arduino начала понимать ESP32 нужно просто положить распакованный архив в каталог. Для windows.

X:\Users\Xuser\Documents\Arduino\hardware\espressif
X – буква диска где хранятся «Мои документы», у меня они на D, по умолчанию они на диске C.
Xuser – имя вашего пользователя в системе.
Архив тут github.com/espressif/arduino-esp32
Кроме того у меня не хватало библиотеки SimpleDHT11, которая используется в программе.
Это брать тут github.com/winlinvip/SimpleDHT
Ну и ссылка по наводке продавца на исходник программы.
github.com/LilyGO/higrowopen
И она не заработала.

Что бы заработало надо, программисты молчать ))) Хотя пишите. Что я исправил. С двумя слэшами то что было. Без то что стало.
Тип данных переменных точки доступа и пароля

  //String ssid = preferences.getString("ssid");
  //String pwd = preferences.getString("password");
  const char* ssid     = "ssid";
  const char* password = "password";

Поверка, что значения имени и пароля не пусты.

  //if (ssid.length() > 0 && pwd.length() > 0) {
  if (ssid != 0 && password != 0) {

Инициализация wi-fi

    //WiFi.begin(ssid.c_str(), pwd.c_str());
    WiFi.begin(ssid, password);

Получение данных из DHT11

  //byte data[40] = {0};
  //dht11.read(2, &temperature, &humidity, data);
  int err = SimpleDHTErrSuccess;
  if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
    Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000);
    return;
  }

Читаем АЦП для с той ноги.

//String water = String(analogRead(4));
String water = String(analogRead(32));


Смотрим, что то заработало.

Это FF по своей инициативе красиво показывает, на самом деле все вот так, как ниже на смортфоне )))


Схема датчика влажности почвы вот такая.

Генератор на 555 таймере. Частота 500 кГц, делитель на конденсаторе C5 (печатный) и резисторе R1. Далее детектор на диоде и к АЦП. Номиналы емкостей не знаю, резисторов написал.

Лабораторная работа.

На воздухе прибор намеряет около 3000 АЦП-шных попугаев. Циферка в строчке water. Её значение меняется от 3000 до 3070 от настроения.


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


И начинаем мерить.
Песок.


Торф.


Земля.


Вода.



Разница существенная, это радует.

Далее, ради интереса взвесим стаканчик с водой и землей.



149 и 111 грамм, при примерно одинаковом объеме.

А теперь будем добавлять воду в землю, тщательно перемешивать. Насыпал в полиэтиленовый пакет и перемешал и высыпал обратно.
Количество воды на 111 грамм земли. Показания АЦП и посчитанная влажность.
8 грамм воды. -2803 6,7%
16 грамм воды. -2690 12,6%
24 грамм воды. -2630 17,8%
50 грамм воды. -1740 31%

Итоги?
Мне штуковина понравилась.
Не смотря на отсутствие рабочего софта. Зато какой простор для творчества. )))
Зато теперь я хочу эту штуку подключить, например к narodmon.ru.
Добавить фоторезистор, и измерять еще и освещение. Люксметр есть, откалибровать смогу.

И даже не смотря на то что кнопка EN отвалилась (!) хотя я ее нажимал от силы раз 5, мне этот квест пришелся по душе.

ЗЫ сейчас проверим ))) Набрал снега и воткнул в него. Показывает 2980-3000. Твердая вода совсем ни как жидкая. На этом все. )))
Планирую купить +33 Добавить в избранное +35 +62
+
avatar
  • futsker
  • 17 января 2018, 22:57
0
смущает что везде разная температура — дышали на DHT11?
+
avatar
  • demon54
  • 17 января 2018, 23:01
0
Руками держал, и влажность воздуха от этого плавает. Он же DHT11 как раз вверху, где браться удобно.
+
avatar
  • Ivan711
  • 18 января 2018, 20:06
0
Так этож DHT11 — у него все показатели такого плана. Он у меня в комнате вообще 29 показывает, а по факту там и 26 нет.
+
avatar
  • userman
  • 17 января 2018, 23:06
0
Из чего cделан электрод? Ибо вопрос долговечности самое главное в таком приборе.
+
avatar
  • demon54
  • 17 января 2018, 23:10
+1
Печатная плата покрытая лаком.
+
avatar
0
Открытых металлических поверхностей не содержит, что позволяет надеяться на долгий срок службы. Брал такой же, но чиста датчик. Метод измерения именно емкостной, в отличие от резистивного, в котором необходим контакт с металлом и, соответственно, срок службы стремится к нулю.
+
avatar
  • Aostspb
  • 18 января 2018, 12:19
0
Это конденсаторный (емкостной) метод измерения влажности.
+
avatar
  • futsker
  • 17 января 2018, 23:10
+1
а каков практический смысл такого «комбайна»? Несколько датчиков жестко посажены друг от друга. Например, если ткнуть в вазон, который полит недавно, то DHT11 будет врать, т.к. унюхает влагу из вазона…
+
avatar
  • demon54
  • 17 января 2018, 23:13
+1
Согласен. Достаточно было бы какого нить DS18B20 для температуры. Но что уж положили в желтый пакетик, то положили. )))
+
avatar
0
Несколько датчиков жестко посажены друг от друга.
вот и хорошо, так они все максимально приближены к зѣмле;)
+
avatar
+2
Только вчера мучался с DHT11, показывает влажность 18%, если на него подуть то снижается до 16. Блин! Вскрываю корпус и вижу что сам чувствительный элемент чем то залит типа остатков флюса после промывки. Смываю спиртом (ватной палочкой, буквально 2 легких движения) этот налет и датчик улетает в зашкал. Постоял, выветрился, влажность упала на 20% но теперь если на него подуть есть реакция, повышение до 55%, но показания явно занижены.

Глянул под микроскопом — там на керамической пластинке позолотой отпечатаны Ш образные контакты, причем половина непропечатана. Врят ли я их так ровно снял спиртом без замыканий и пр, на палочке никаких частиц не осталось. Т.е. датчик с завода пришел с браком. Рядом работает второй год DHT22 и BME280 у которых влажность очень близко между собой и реагируют они адекватно. По сравнению сними dht11 просто шлак.

Жаль что китайцы так экономят жестко, припаивая такое барахло на свежие платы ))) Я похожий датчик взял под прошлогодний купон, на сдачу так сказать, точность от него мне была не нужна особая, но не настолько все печально я от него ожидал. Если эту плату допиливать, то начал бы я с замены датчика влажности на dht22 (они взаимозаменимы). Мое предположение, что китацы копируют чей то проект типа с кикстартера, у них поэтому и кода нет готового, удешивив его. Но сама плата выглядит аккуратно, датчик отнесен подальше от нагревающихся элементов, это плюс. Еще явно напрашивается корпус с отделением верхнего датчика. Думаю в оригинальном проекте это все предусмотрено.
+
avatar
+1
DHT11 вообще туфта. Впрочем, и DHT22 ненамного лучше.
+
avatar
0
А есть где нибудь описание, как делать простые конопки интерфейсы для ESP (в частности ESP32 если там что-то отличается от 8266)
+
avatar
  • demon54
  • 18 января 2018, 05:48
0
Если Вы про веб-интерфейс, то поставив поддержку esp в среду arduino, сразу получите кучу примеров, среди них есть с названием SimpleWiFiServer, с возможностью зажигать или гасить один пин.
Вот так.
+
avatar
0
Этот пример я знаю. А если нужно что-то более удобное, чем текстовые ссылки? Нормальные кнопки с подписями и двумя состояниями (нажата или нет).
И кстати, как добавить на страницу логин/пароль для входа, что бы не каждый встречный мог войти на устройство, если оно «выходит в свет»?
+
avatar
  • demon54
  • 18 января 2018, 09:45
0
Так тоже ведь есть примеры
HTTP Advanced Authentication и HTTP Basic Authentication
А ниже подсказали про Arduino Mega Server, там вроде и красивые интерфейсы в комплекте.
+
avatar
0
Могу ошибиться (сейчас на работе, нет перед собой IDE), но там в этих промерах был коннект на какой-то сервер с логином, паролем и каким-то персональным ключем.
А вот про Arduino Mega Server почитаю, спасибо.
+
avatar
  • Aostspb
  • 18 января 2018, 12:22
+1
Кнопки — это html разметка страницы, на приеме со стороны web-server-а идет только обработка запроса.
+
avatar
0
По-моему принципиально от 8266 не отличается
+
avatar
  • Aostspb
  • 18 января 2018, 12:23
0
Принципиально отличается тем, что ТС-у ничего допаивать не пришлось…
+
avatar
  • Marble
  • 18 января 2018, 00:03
+3
//String ssid = preferences.getString(«ssid»);
//String pwd = preferences.getString(«password»);
const char* ssid = «ssid»;
const char* password = «password»;
Вы здесь убрали поддержку настроек (смена ssid/пароля без перепрошивки). Это нормально, но не очень гибко.
Поверка, что значения имени и пароля не пусты.
//if (ssid.length() > 0 && pwd.length() > 0) {
if (ssid != 0 && password != 0) {
А попробуйте вашему параметру выше присвоить пустую строку: const char* ssid = ""; — вы будете неприятно удивлены результатом «проверки».
+
avatar
0
главное, что так оно у автора заработало!^
а в остальном, как справедливо замечено, «мы в самом начале квеста»

____
^ ¿для этого было бы достаточно одной правки?,
//String water = String(analogRead(4));
String water = String(analogRead(32));
+
avatar
0
if (ssid!=0) проверяет, присвоено ли указателю ssid хоть какое-то значение. То есть, проверяется сам указатель, а не то, на что он указывает.

Длину С-подобных строк проще всего проверить функцией strlen
if (strlen(ssid)>0)
+
avatar
  • Marble
  • 18 января 2018, 03:21
0
Да, я в курсе, поэтому и написал.
При использовании указателей на литералы у автора условие всегда будет true, включая «пустые» строки.
+
avatar
  • Aostspb
  • 18 января 2018, 12:25
0
Технически не очень понятно: как общаться с wi-fi точкой доступа по пустому ssid-у. :)
+
avatar
  • Marble
  • 18 января 2018, 12:37
0
Это просто пример. Можно было бы пустой пароль указать в качестве примера. Суть в том, что проверка нерабочая — она будет всегда говорить «да», вопреки ожиданиям автора.
+
avatar
  • Aostspb
  • 18 января 2018, 12:50
0
Можно было бы пустой пароль указать в качестве примера.
А будет wi-fi с пустым паролем работать?

Суть в том, что проверка нерабочая
Смотря какие цели у этой проверки…
+
avatar
  • Marble
  • 18 января 2018, 13:00
0
Цели написаны в строке комментария перед проверкой, и как раз эти цели она не реализует.
Её, можно сказать, что нет. Умный компилятор вообще может удалить её, т.к. она нерабочая.
+
avatar
  • Aostspb
  • 18 января 2018, 13:07
0
Умный компилятор вообще может удалить её, т.к. она нерабочая.
Это будет не умный компилятор. Если стоит задача просто «дождаться пока прилетит параметр»?
+
avatar
  • Marble
  • 18 января 2018, 13:09
0
Эта проверка вырождена до состояния if (true) — т.е. нет никакого условного перехода, т.е. её совсем нет. Если вы не понимаете этого, то зачем спорите?
+
avatar
  • Dimon_
  • 18 января 2018, 01:05
-4
В качестве игрушки — неплохо. Побаловаться, «посувать» в стаканчики на столе, циферки разные глянуть на мобильнике.
Прикольно, да.
В качестве реального датчика в грядку хотя бы на пару сезонов — конечно, же, нет. Это исключительно игрушка.
Я «немного» погружался в эту тему (даже несколько обзоров нарисовалось). Датчик из печатной платы — «это несерьёзно, Хоботов» ©. Он деградирует и разрушится очень быстро. Показания оформлены красиво, но их соответствие реальности и, вообще, адекватность, — под большим вопросом.
Начнётся дачный сезон — понаблюдайте за стабильностью. В смысле, держите дома контрольные мешочки с «торфом», песком и т.д., что вы нам показали в обзоре. И раз в пару месяцев (на протяжении хотя бы пары сезонов) набирайте одинаковое количество грунта из мешочка по стаканчиками, добавляйте одинаковое количество воды и сравнивайте с цифрами месячной давности. Т.е. просто периодически повторяйте эксперимент из обзора. Тоже удивитесь.
И, да, микро-USB тащить по грядкам, вместе с поливом и прочим — это сильно. Силиконом заливайте воткнутые штекеры, что ли… Я вообще не представляю, как эта конструкция проживёт под открытым небом в реальных условиях.
+
avatar
+4
Он деградирует и разрушится очень быстро.
бесконтактное оно, никакой электрохимической коррозии!
микро-USB тащить по грядкам
wifi же!

просто периодически повторяйте эксперимент из обзора. Тоже удивитесь.
это да…
не представляю, как эта конструкция проживёт под открытым небом в реальных условиях.
это, конечно, тоже да:)
+
avatar
  • Dimon_
  • 18 января 2018, 01:45
0
бесконтактное оно, никакой электрохимической коррозии!
На первый взгляд — да.
Но. Если потенциал будет, то и электрокоррозия будет. А случай для такой коррозии появится, как только появится первая трещина или царапина в лаковом покрытии. Ведь разница потенциалов на электродах всё равно есть. Тут надо помнить про абразивные свойства почвы при втыкании-вынимании датчика, лак царапается хорошо.

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

wifi же!
Питание самого датчика через этот разъём.
+
avatar
0
торцы печатной платы не защищены. И они, таки, будут капиллярно забирать влагу из почвы
в итоге расслоится текстолит, или «соль» доберётся изнутри до меди?

(как выяснилось, ваши пять последних обзоров я читал, но с той поры количество комментов к ним в среднем удвоилось… придётся фактически заново начинать:)
+
avatar
+2
Плюс, торцы печатной платы не защищены. И они, таки, будут капиллярно забирать влагу из почвы.
Стеклотекстолит вообще-то влагостоек. По сути — это стекловолокно. Оно гигроскопично. А вынимать изредка и проверять на предмет повреждения лака (и при необходимости добавлять слой цапон-лака) ничто не мешает.
+
avatar
  • nsn
  • 18 января 2018, 02:35
+1
Сдаётся мне, что раньше, чем на этой плате что-нибудь отслоится, её какая-нибудь птица типа любопытной малиновки клюнет в кнопку Boot или EN. )
+
avatar
0
Вооот! Это, мне думается, произойдёт гораздо скорее! Поэтому пластиковый кожух, разумеется, абсолютно необходим для этой хреновины.
+
avatar
0
О_О нифига себе атомный бомбомёт по воробям. Какой только ужас не сварганят китайцы, лишь свой бакс заполучить с дураков.
+
avatar
+1
Спрос рождает предложение. Сам esp32 уже не новинка, здесь вся фишка именно в форм-факторе датчика на текстолите.
+
avatar
-1
Вы шутите наверное. Кто в здравом уме будет покупать эту недолговечную игрушку. Под большим сомнением если она переживет сезон?
+
avatar
+2
То, что вы считаете эту вещь недолговечной не даёт право называть людей дураками. Там 60 заказов, покупают люди. Может и просто поиграться, а может и допиливают нормально.
+
avatar
  • skif31
  • 18 января 2018, 07:18
+1
Может кому пригодится.
tehnovilla.sv19.com/?views=Sensor555
+
avatar
0
Отсек для батареи 18650
А это про что? Я один его не увидел?
+
avatar
0
На обратной стороне платы. Второе фото сверху. Видно плохо, но видно.
+
avatar
0
Его _почти_ не видно… )))
+
avatar
0
мне было бы жалко вкарячивать для таких нужд целую esp32, когда даже esp8266 здесь избыточна… на вашу плату можно уже AMS поставить и получить почти ОС, а не просто html-ка с данными
+
avatar
  • demon54
  • 18 января 2018, 08:57
0
Согласен, взял так как было интересно посмотреть, да и выводы gpio все подкупили. Я до этого ESP32 не держал в руках. А свой вариант сделаю на 8266.
Измеритель влажности почвы, тоже надо переделать. DHT11 тут не в тему. Вообщем есть чем позаниматься.
+
avatar
  • char
  • 18 января 2018, 09:38
+1
DHT11 сразу надо убрать, это не датчик, а убожество. Начиная с того, что он не умеет в минусовые температуры. И на плате будет греться.
+
avatar
  • skif31
  • 18 января 2018, 13:44
0
А вы при минусе выращиваете помидоры?
+
avatar
  • char
  • 18 января 2018, 15:41
+2
С этим датчиком вы о наступлении заморозков даже не узнаете.
+
avatar
0
Сюда бы NRF24LE1 или 52 серии и один шлюз на кучу сенсоров…
+
avatar
  • demon54
  • 18 января 2018, 09:48
0
А в чем выигрыш? esp8266 и мозги и связь, по цене/возможностям, мне кажется, пока не имеет конкурентов.
+
avatar
0
И в этих и мозги и связь, только батарейку сильно меньше кушают и не будет 100500 устройств на роутере висеть.
+
avatar
0
Это да, я вот уже себе думаю, что будет, когда на моём домашнем роутере будет шкворчать полтора десятка устройств (десяток сонофов и пяток всяких там вемосов/виттикладов). Не скрючится ли?
+
avatar
0
вся мелочь пусть ходит по 2.4 на повторитель(-ли), а настоящее оборудование — подключится через 5.8
+
avatar
  • demon54
  • 18 января 2018, 11:31
0
Насчет батарейки согласен. И в данном случае реализовывать сервер на этом и на любом другом устройстве не разумно. Нужно засыпать и раз минут в 5 просыпаться, отправлять данные и опять спать. А в режиме сервера ни одно автономное устройство долго не проживет.
+
avatar
  • skif31
  • 18 января 2018, 13:51
0
А выигрыш в том, что NRF24LE1 намного дешевле. Десяток датчиков можно подключить на один esp8266 по радиоканалу и контролировать все. И всё идёт на один сервер. Вдобавок esp8266 находится в помещении в комфортных условиях, с нормальным питанием. А NRF24LE1 кушает намного меньше, дольше держится заряд аккумулятора. У меня так и сделано.
Ну а если побаловаться с одним датчиком — выигрыша нет.
+
avatar
  • demon54
  • 18 января 2018, 15:54
0
NRF24LE1 дешевле ESP32, это да. А вот ESP8266 уже вроде как дешевле выходит. Они по 2-2.5 бакса сейчас (esp-12). А потребляет ESP больше, но на летний сезон хватит, а на зиму все равно заносить. )))
+
avatar
+1
Китайцы не перестают удивлять, цепляли бы сразу на датчик процессор, 2 гб оперативки и лан порт и все это «зарыть» в землю. А то чего уже мелочиться. Штука интересна, но только как сам esp32 с разведенными пинами, для более серьезных зада.
+
avatar
+1
Штука стоит дешевле, чем такой же датчик, плюс esp32-плата, плюс гнездовище 18650 и DHT11. Можете сами прикинуть. Датчик освещенности ещё явно позабыл луноликий конструктор — он бы не помешал тут.
+
avatar
0
я не спорю, только получается надо покупать этот модуль и выпаивать из него датчики и вешать либо на провод, либо NRF, ибо пихать его целиком в землю и ждать пока он сгниет от влаги это кощунство.
+
avatar
0
Целиком-то зачем? Можно по-пояс! ))
+
avatar
  • Aostspb
  • 18 января 2018, 12:52
0
Как Вы это себе схемотехнически представляете: в каком месте можно «удлинить» цепочку без риска наловить помех от рядом стоящего насоса?
+
avatar
  • skif31
  • 18 января 2018, 13:54
0
По пояс. Но сверху
+
avatar
  • Halex
  • 18 января 2018, 23:11
+1
«По-пояс» снизу можно эту «женщину» и без ESP-хи и прочего г… вроде DHT11 на том же Али поиметь в версии v1.2 и всего за 4 бакса, не так жалко в землю зарывать. А уж «бюст» и голову по собственному желанию можно пририсовать. Кому-то и просто Ардуины достаточно, а кому NFRL или «синезубая» красавица по душе.
+
avatar
  • Aostspb
  • 19 января 2018, 13:05
0
на том же Али поиметь в версии v1.2 и всего за 4 бакса
Там еще есть вариант «Plant watering alarm» — вообще на CR2032.
+
avatar
  • Aostspb
  • 18 января 2018, 13:08
0
Хотелось бы увидеть данные по потреблению от батарейки и возможности запуска схемы от USB разъема без батареи.
+
avatar
  • demon54
  • 18 января 2018, 13:31
+1
У меня батареи и нету, работает от USB. Потребляет много, особенно когда WiFi работает.

UPD Подключил к лаборатоному источнику, выставил 4 вольта. Потребление меняется от 190 до 220 мА.
+
avatar
  • Aostspb
  • 18 января 2018, 13:33
0
Спасибо! Т.е., режим «сна» — не реализован?
+
avatar
0
ESP32 вообще «хорош» тем, что жрёт практически всё, что дают. Для запуска простейшей тестовой программы ScanWifi даже не хватает USBшного питания — приходится навешивать электролит, сглаживающий мощный импульс при включении радиомодуля. В общем, ещё раз, не лучшее решение делать такой датчик на еспрессиф вообще и на ESP32 тем более. Только nRF24 для этого применения.
+
avatar
  • Aostspb
  • 18 января 2018, 14:46
0
Только nRF24 для этого применения.
nRF24 не умеет по wi-fi работать, т.е. потребуется передатчик, приемник и интерпретатор в ethernet.

Да и разговор-то идет про готовую конструкцию, а не про конструктор.
+
avatar
+1
Разумеется, не умеет. Не каждая же мышь 2.4 — вайфайная, да? :)
Не интерпретатор, а гейтвей, так это называется. Дело копеешное, но зато у датчика влажности почвы не придётся раз в неделю менять аккумулятор. Да и датчиков таких может потребоваться не один — тогда гейтвей окупится за сезон. Гейтвей по сути — нрфка+еспшка (плюс прошивка, конечно). На каждом датчике — по нрфке
+
avatar
  • demon54
  • 19 января 2018, 07:02
0
nrf или esp — это впорос предпочтений, не более. Кому-то навится одно, кому-то другое. У одной штуки одни плюсы, у другой другие.
+
avatar
  • Aostspb
  • 19 января 2018, 12:54
-1
Дело копеешное, но зато у датчика влажности почвы не придётся раз в неделю менять аккумулятор.
Не уверен, что «копеечное». Там же требуется генератор, микроконтроллер с АЦП, и только потом передающее устройство.

Кроме того, если эту esp из режима сервера переключить в режим клиента и сделать отправку данных куда-то на сторону — то проживет такая конструкция несомненно дольше. А если солнечную панельку и супервизор питания к этому приспособить…
+
avatar
  • vivach
  • 18 января 2018, 20:41
+1
чёт какая то фигня, USB,WiFi, телефон подключать, бредятина полная, не проще купить aliexpress.com/item/Quality-39-x-79-Inch-Leaf-Tulle-Jacquard-Hollow-Window-Screens-Sheer-Voile-Door-Curtains/32663590721.html и наслаждайся как растет твой сад и огород
+
avatar
  • Serko
  • 19 января 2018, 17:07
0
«чёт какая то фигня»©, покупать чего-то, когда можно в окно выглянуть и «наслаждайся, как растёт». :)
Обозреваемая штука может быть частью системы автоматики «умного сада». А ваш вариант — только на «посмотреть».
(Между прочим, продавцом ссылка к товару приклеена левая — «Качество 39 х 79 дюймов-лист-тюль-Жаккард-Холлоу-окна-экраны-чистой вуаль двери шторы»)
+
avatar
0
ЗЫ сейчас проверим ))) Набрал снега
одним словом: даже не пытайтесь копать в эту сторону!

(первоисточник не должен пугать, там целое "чувство Смиллы" по снегу собрали;)

Сухой снежный покров представляет собой двухфазную, а мокрый — трехфазную систему, состоящую из кристаллов льда, воды и воздуха, содержащего водяной пар. Все характеристики снега зависят от его плотности, но вместе с тем плотность снега в высшей степени изменчива, от 10 до 700 кг/м3

Диэлектрическая проницаемость снежного покрова ε зависит от частоты электромагнитных волн, их длины^ и от состояния снега (температуры, плотности, структуры, влажности). Диэлектрическая проницаемость снега значительно меньше, чем льда (εол = 73… 95, εл =3… 8), и увеличивается с возрастанием его плотности и влажности.

___
^ перевод такой?)


вот интересно, мощнейшим процом фактически (интерфейсный:) гвоздь забивают, а (измерительной) основой конструкции так и остался 555))

я бы перераспределил ресурсы: генератор (частоту менять! форму импульсов! — непаханое поле;) перенести в esp, а на таймере собрать watchdog (для 8266 ±необходим) или реально — таймер), подающий питание (тут надо серьёзно и вдумчиво проверять datasheet, что энергетически выгоднее, и сможете ли вы обеспечить esp настоящий sleep;; опыт — король всех теорий:)


PS
по поводу 0°C и помидоров: есть ещё, например, плохо зимующие (выпревающие) розы…
+
avatar
  • Aostspb
  • 19 января 2018, 13:11
0
генератор (частоту менять! форму импульсов! — непаханое поле;)
Да сколько там той частоты будет? :) Еще и с разделяемыми с wi-fi ресурсами. Тут как раз лучше генератор в моноблоке отдельно поставить.
+
avatar
  • Jet
  • 19 января 2018, 03:25
0
Эм… галстук на ардуино?
+
avatar
  • demon54
  • 22 января 2018, 15:31
0
Похожи. У последние две, тоже на ESP, только на предыдущем 8266, не понятно чего дороже того что я купил.
+
avatar
  • sir66
  • 12 марта 2018, 05:22
0
Любопытная штука. Вот только что запустил, спасибо за разбор. Кстати, Вы забыли написать что

int pinDHT11 = 22;

Интересно нафига им повышающий преобразователь на 5в, там же все равно дальше линейный стаб на 3.3 ;)

Я правильно понимаю, что deep_sleep контроллер просто выключает, а потом, через указанное время он заново идет грузиться по полной? По крайней мере, у меня оно так работает. Я понимаю, что в deep_sleep выключается регенерация памяти и продолжение работы со старого места невозможно.

Еще порадовало, что при питании от аккумулятора отрубаюся светодиоды. Я вообще подумал, что она не запускается, но с удивлением обнаружил, что данные таки идут. Это вселяет надежду, что в режиме сна она поторебляет реально мало.

Заметил, что есди поставить статический IP то инициализируется в разы (на несколько секунд) быстрее, почему на DHCP так много времени уходит — непонятно. Но, видимо, придется принять как фичу. Лишние секунды пробуждения каждый раз времени жизни батареи не способствуют.

А схемы полной этой штуки не находили? Хочется посмотреть как там все устроено по питанию, что отключается, а что нет. И есть ли, например, светодиод который можно зажигать при питании от батарейки.

Железка довольно проосто докручивается до полноценной домашной поливалки цветов, нужно, по сути только транзистор, диод и кондер для схемы управления водяной помпой, остольное все есть. У меня такая некоторое время жила, на Arduino и модуле HC-06, потом была разобрана при всяких переездах, а восстанавливать на старой базе уже не хочется, там на самом деле был резистивный датчик и работало так себе. Да, еще датчик воды в поддоне нужно будет добавить.
+
avatar
  • demon54
  • 12 марта 2018, 06:37
0
Насчет питания.
Литиевые аккумуляторы могут иметь напряжение то выше 3,3 в, то ниже. С такой несправедливостью иногда приходится сталкиваться. А нормальных источников которые бы, могли бы то повышать до нужного уровня, то понижать, как то не попадалось.
Схему не находил, то что показал, срисовывал сам.
В любом случае, железка любопытная, попробовать, но не удачная.
Датчики как правильно сказали так себе, esp надо было 8266 поставить, все таки дешевле. Ну и работать этой штуке в режиме сервера странно, должна уметь скидывать данные например на narodmon.ru или еще куда. А так гадай когда она в следующий раз проснется )))
+
avatar
  • sir66
  • 12 марта 2018, 15:02
0
Во первых, при напряжении менее 3.6 литий полезно отрубать, деградирует. Встроенная защита отрубает иногда и при меньших чем 3, но надеятся только на нее не стоит, в том числе, и из за этого. Во вторых, по даташиту у esp32 питание от 2.3v вообще-то и ничего не будет с ним при запитке от 3в, а дальше аккумулятор защита отрубит.

VDDA 1 P Analog power supply (2.3V ~ 3.6V)
LNA_IN 2 I/O RF input and output
VDD3P3 3 P Power supply (2.3V ~ 3.6V)
VDD3P3 4 P Power supply (2.3V ~ 3.6V)

https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

Up/Down регуляторов сейчас много, вот целая коллекция тех, что я использую когда денег не жалко

https://www.pololu.com/category/133/step-up-step-down-voltage-regulators

Из дешевых вот например:

https://ru.aliexpress.com/item/DC-DC-Buck-Step-Up/32854999164.html?spm=a2g0s.9042311.0.0.HsZO9i

То есть эффект от их схемы питания это потеря 10-20% емкости источника из за не 100% КПД импульсника, не более того.

Про датчики будем посмотреть, как говориться. Я до этого работал с резистивными, там вообще все плохо. Тут по крайней мере полная изоляция контактов и вообще, по идее, емкостный датчик это более правильная штука.
Модули esp32 доступны по 2700руб за десяток, esp8266 — 1000руб за десяток. Разница не велика, а возможностей все таки больше. И не факт, что esp32 жрет больше, очень может быть, что наоборот, esp32 поновее будет. Надо мерить.

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

Схема, я думаю, появится, там в общем то нужно только цепи питания восстановить, остальное и не нужно.
+
avatar
  • demon54
  • 12 марта 2018, 18:47
0
За up/down регулятор спасибо. Однако в данном случае это не то. tp5410 — это и котроллер зарядки.
+
avatar
  • sir66
  • 12 марта 2018, 19:07
0
Я, честно говоря, не уверен, что такому устройству нужен встроенный контролеер зарядки. Зарядку нужно иметь отдельную, особенно если таких устройств много, аккумуляторы иметь резервные, приходить и менять на новый, тот на зарядку. А так сам девайс туда-сюда таскать, напряжно это.

И я не против контроллера встроенного, я против двух преобразователей в цепочке в цепи основного питания. Тем более, что заявленный КПД tp5410 всего 75%. Контроллеров зарядки лития со стабилизатором на 3.3в навалом, зачем этому девайсу 5в, зачем ухо через коленку?
+
avatar
  • sir66
  • 12 марта 2018, 19:26
0
Я, честно говоря, не уверен, что такому устройству нужен встроенный контролеер зарядки. Зарядку нужно иметь отдельную, особенно если таких устройств много, аккумуляторы иметь резервные, приходить и менять на новый, тот на зарядку. А так сам девайс туда-сюда таскать, напряжно это.

И я не против контроллера встроенного, я против двух преобразователей в цепочке в цепи основного питания. Тем более, что заявленный КПД tp5410 всего 75%. Контроллеров зарядки лития со стабилизатором на 3.3в навалом, зачем этому девайсу 5в, зачем ухо через коленку?

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

https://wiki.wemos.cc/products:lolin32:lolin32_lite
+
avatar
  • sir66
  • 12 марта 2018, 17:05
0
А по поводу ESP8266 и его достаточности. Вот сразу, у него 1 вход ADC, любое нормальное законченое устройство с батарейным питанием должно иметь мониторинг батареи (хотя бы чтобы слать предупреждения заблаговременно) и все, получается что у нас аналоговых выводов для фунционала больше нет или отказываемся от монитроинга батареи. Все, Ку, очевидно, что ESP8266 не хватает, выводов должно быть много.
+
avatar
  • sir66
  • 21 марта 2018, 18:32
0
Что то разонравилось мне это устройство. Потребление в DeepSleep у него какое то совсем ненормальное. При включении раз в полчаса на передачу высаживает банку 2000mah за 5 дней примерно. Может я что то не так делаю?
+
avatar
  • sir66
  • 03 апреля 2018, 16:02
0
Вроде выявил, как минимум, одну причину прожорливости устройства.

Получил вот такой вот датчик, на первый взгляд полностью аналогичный имеющемуся на нашем измерителе влажности:

aliexpress.com/item/3-3-5-5/32836612423.html

Выяснил, что данный датчик сам по себе неперерывно потребляет около 5ма. Этого уже достаточно для того чтобы высаживать батарейку за неделю-две. Взял этот сенсор, DHT22, плату

aliexpress.com/item/ESP-32-esp32-Lite-V1-0-0-Rev1-WiFi-Bluetooth-4-flash/32842394870.html

Собрал более менее полный аналог измерителя. Сенсор подключил через стандартный выключатель на полевике, затвор подключил к ноге esp32, теперь перед засыпанием сенсор отключается от питания. Уже несколько дней полет нормальный, банка за день просаживается примерно на 0.015в, должно месяца на полтора хватить, опрос пока оставил раз в 10 минут. По идее, если нет утечек при 10 минутном опросе и времени на коннект и передачу примерно 6 секунд, получается, что работаем 1/100 времени, остальное спим, при потреблении в активном режиме 150ma имеем среднее потребление 1.5ma, что соответствует примерно 2 месяцам работы от банки 2000mah.
+
avatar
  • Elrec
  • 22 апреля 2020, 08:31
0
Добрый день!
Собрался и я сделать устройство на основе датчика влажности почвы.
Затея вкратце такая: датчик влажности передает по wi-fi сей параметр на приемник, а при превышении определенной уставки, приемник включает полив в теплице. Для того, что бы не тянуть провода по теплице, датчик должен работать полностью автономно. Т.е. аккум 18650, днем заряжаемый от солнечной батареи.
Сначала экспериментировал с отдельным емкостным сенсором + ESP8266. Система передавала данные в течении 1,5 суток. Затем аккумы (их два) все же просаживались т.е. заряда от солнечной батареи не хватало.
Да, пока экспериментировал, данные передавались в базу данных на raspberry. Откуда выводились на небольшой сайт на той же малинке в виде графика. Так удобнее за всем следить.
Короче, вывод напрашивался такой: нужен режим deep sleep. И надо бы как то отключать и сам сенсор от питания. Sir66 двинул идею как сделать.
Кстати, ответ на его вопрос «Я, честно говоря, не уверен, что такому устройству нужен встроенный контролеер зарядки» — он нужен для заряда при помощи солнечной батареи. Но речь там про устройство, описываемое в статье.
Ну а пока экспериментировал с 8266, а в дальнейшем приступил к более удачному варианту на ESP32, пришла посылка с устройством, описываемом здесь, — т.е. все в одном флаконе.
И все бы ничего, но включить в работу его не могу. Заливаю через Arduino IDE 1.8.10. Практически на всех платах их списка происходят бесконечные ребуты.
Может, кто знает какую плату надо выбрать из списка или какие другие параметры нужны для прошивки?
+
avatar
  • smeech
  • 09 мая 2020, 00:43
0
Разобрался уже? Надо кнопку boot подержать пару-тройку секунд, когда идет установление соединения при прошивке. Плата NodeMCU-32S.
А вот кто бы подсказал, как программно можно мониторить уровень заряда аккумулятора на нем…
+
avatar
  • Elrec
  • 10 мая 2020, 19:12
0
Разобрался… Точнее, зашёл в тупик. Завел измеритель влажности, потом dht (кстати, заменил его на 22). Всё работает и передаёт в монитор com порта. Но как только пытаешься включить вафлю — начинается вечная перезагрузка. Тот же самый скетч (но без dht, хотя какая разница) заливаю в node mcu 32 и всё работает. Вместе в вафлей. Решил просто голую esp 32 выписать и заменить на этой плате. И вот тут… Короче, китайцы предлагают старую и новую версию esp32. И судя по фото, у меня на измерителе установлена старая версия, а на node MCU новая.выписал новую. Жду… Кстати, когда esp бесится со своими ребутами, у нее мелькает ошибка типа в каком то файле, которого у меня нет. Я нашел что это. Но мне легче есп поменять
+
avatar
  • smeech
  • 11 мая 2020, 13:08
0
Вафля работает только с установленной батареей. У меня так, по крайней мере. Без аккумулятора ругается в сериал brownout detector was triggered, и в ребут. Питания не хватает, судя по всему, на модуль wifi. У нее же контроллер заряда батарейки стоит, вот он, видать, и кушает весь ток.
А мне вот очень интересна его автономность на одном заряде аккумулятора. Сейчас один модуль стоит на тесте, в режиме глубокого сна, просыпается каждые 15 мин и шлет мне показания на сайт (есть платный виртуальный хостинг у меня). Там скрипт *.php прикрутил, он данные в лог файл пишет. Пока двое суток отработал :)
Померял напряжение на dht — там постоянно 3В с копейками, даже когда есп-шка спит.
Второй модуль сейчас ковыряю, прицепил к нему еще пару емкостных датчиков влажности почвы, vcc от dht отпаял, припаял на GPIO есп-шки. Теперь перед сном буду отключать питание dht и дополнительных датчиков. Думаю, может обмен данными через BLE организовать, но это на будущее, пока испытаю продолжительность жизни акка с использованием вафли.
+
avatar
  • Elrec
  • 12 мая 2020, 08:38
0
у меня подобная тема. Только сервер поднял на малинке. Там скрипт в базу данных скидывает. А с нее можно выводить в виде графиков или таблиц. вот пример.
Это я немного издеваюсь над сорняком в стакане с землей. Датчик отдельный и esp32 nodeMCU. Как только сорняк начинает вянуть (земля засохла) — поливаю водой. Показания резко падают — видно на графике.
+
avatar
  • smeech
  • 12 мая 2020, 09:03
0
А графики что за софт рисует? Какие-то средства малинки внутренние? Я вот сейчас бьюсь с отрисовкой графиков в браузере средствами js библиотеки AmCharts. Туго пока дело идет, времени на все не хватает…
А отдельный датчик влажности какой, можно поинтересоваться? У меня есть два варианта, v1.2 и v2.0. В первом случае на месте U2 перемычка стоит, во втором — транзистор. И вот первый вариант от 3.3В не работает… 0 выдает постоянно на линии данных. А от 5В работает. Я вот думаю, много ли там перепаивать надо под 3.3В?.. При визуальном осмотре три детальки отличаются — эта перемычка/транзистор, один резистор по другому подписан, и сама микросхема другая…
+
avatar
  • Elrec
  • 12 мая 2020, 17:25
0
Графики рисует скрипт от Hightcharts.com. Конечно, можно изучать прямо на их сайте как там все сделать (благо этот софт бесплатный, если не использовать в коммерческих целях). Но у меня тоже времени не особо… Зато нашелся добрый человек и разложил все по полочкам на русском языке. Вот ссылка:
ссылка
в общем то я лишь приспособил его скрипт к своим целям.
Ну а что бы лучше смотрелось, на малинку кроме LAMP сервера залил еще и Drupal. Получился маленький сайтик. Работать удобно и виден издалека (белый IP). На платном хостинге это еще проще сделать.
Датчиков у меня так же два варианта. Сейчас в землю воткнут V 1.2. V 2.0 лежит пока без дела. Признаться, я так и не заметил в чем между ними разница. V2.0 я позорно спалил при первом же включении — перепутал полярность. Тогда выписал новый датчик — пришел V1.2. А первый я сначала думал выбросить, но потом решил реанимировать — купил транзистор и микросхему. Благо на aliexpress они стоят несколько рублей за десяток. Короче, отремонтировал его и сравнивал со вторым. Вроде все детали одинаковы. В чем прикол насчет версий? — так и не нашел… А вот работают они по разному. V 2.0 давала большие большие скачки выходного сигнала. И мне это не понравилось. Поэтому и не использую его пока.
Вот пример его работы:
+
avatar
  • smeech
  • 13 мая 2020, 19:21
0
Спасибо за ссылку на инфу по графикам. Может доберусь как-нибудь.
Вопрос такой — получается v 1.2 работает от 3.3В? У меня не хотят… при этом сенсоры рабочие, при питании в 5в сигнал на пине данных появляется. Я весьма слаб в радиоэлектронике, был бы признателен за совет — что надо поменять, дабы оно работало от 3В? Вот мои датчики:
Различий нашел три — U2 (перемычка и транзистор), сама микросхема, и резистор R3. Весь комплект надо сменить, или может чего-то одного достаточно? :)
Покрупнее, а то жмет сайт картинку: