Как стать автором
Обновить

Комментарии 69

У DS18B20 дискрета — 0.125C, а у вас по графику получается 0.5С. Библиотека измеряет не в 12-битном режиме?


Ну и разброс показаний в 4 градуса между экземплярами — это финиш, так-то

График не мой, в статье по ссылке есть больше информации по теме. BMP280/BME280 немного греется, потому температура слегка завышена, этот факт можно корректировать при обработке данных.


If you take a closer look at the charts, the BME280 measured slightly higher values than the other temperature sensors. This behavior is normal, and this is described in the datasheet. The module self-heats a little bit and the temperature measurements can be 1 ou 2 degrees above the real temperature value.

However, the BME280 is also the temperature sensor that gave more stable temperature readings without many oscillations between readings. This has to do with the resolution of the sensor. It can detect changes up to 0.01°C.

In case of the DS18B20 temperature sensors, we can see some oscillations between readings and it’s also noticeable that the resolution is not as good as the BME280. Additionally, the DS18B20 temperature sensor was the only one to give some “null” readings throughout the experiment. We’ve measured two DS18B20 temperature sensors in the same data line and one of the sensors failed to read the temperature 6 times throughout the experiment (during 36 hours).
В 12-битном режиме у DS18B20 дискретность не 0.125°C, а 0.0625°C:
The resolution of the temperature sensor is user-configurable to 9, 10, 11, or 12 bits, corresponding to increments of 0.5°C, 0.25°C, 0.125°C, and 0.0625°C, respectively.
даташит
Там ещё и ground truth температуры не показаны (когда мне надо, я её замеряю термостатным полуметровым ртутным термометром).
НЛО прилетело и опубликовало эту надпись здесь

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

andrewsh
А есть опыт с датчиками пыли GP2Y1014AU0F и Samyoung DSM501A?

Увы, нету опыта. Один датчик я построил с помощью товарища (на тот момент я только узнал о проекте от него и не знал, что это за датчики и что в них), второй я построил достаточно спонтанно и близко к оригиналу, потому как опыта не было ещё. Если буду строить ещё один, можно поэкспериментировать.

mcp9808 дачтик очень хорош, не TMP117 конечно, но дешев. TMP117 со временем тоже подешевеет
Не совсем понял.
Используется датчик пыли в коробке с одним входом-выходом?
Не происходит ли накопления пыли в коробке? -быстрый гуглеж показал что у датчика пыли SDS011 есть центробежный вентилятор. Не поднимает ли он накопившуюся в корпусе пыль?

В тексте написано, у коробки есть ещё отверстия для циркуляции. Вентилятор достаточно незаметно крутится, надо сказать, пыль не гоняет. Статья-разбор датчика показывает, что пыль скапливается внутри датчика:
Dust inside

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

А на народный мониторинг заодно почему не отправляете данные? https://narodmon.ru/

Честно говоря, не знал про такой проект. Встроенной поддержки в прошивке AirRohr нет, а в custom API уже забит сайт местного велодвижения.

Прошивка «из коробки» умеет еще Influxdb.

Это да, но с InfluxDB я ещё не разбирался. Насколько я вижу из беглого гугления, их API не совпадает с API народного мониторинга.

Очень простой вопрос: зачем?

Кто там, на будет с этими данными что-то делать? На ресурсе который "свалка архив всего" без явной задачи, с мутноватыми: классификацией данных, монетизацией (бонусные баллы, ограничения на количество бесплатных датчиков), лицензией.
всё норм уходит на народный мониторинг.
Включить Отправлять в InfluxDB
Серв: narodmon.ru
Путь: /post.php
Порт:80

Затем «добавить свой датчик» и указать id датчика, всё…
У нас в Красноярске есть проект nebo.live, который также выступает площадкой и для других городов…
У них свой прибор, у которого, по их оценке, нет конкурентов. Есть специалист, кто может оценить?
Не столько красивый, но такой же по функционалу и дешевле по цене предлагают у нас в Челябинске — chelbreathe.ru Но даже при такой цене проект не получил какого-либо бурного роста, даже не смотря на унылую экологическую обстановку в нашем регионе.

Я с этим проектом одного не понял, не нашел где сказано по поводу цен, они предоставляют прибор бесплатно?

Раньше — да, так и было, была возможность донатить, а прибор устанавливали бесплатно. Сейчас я сильно не слежу за ситуацией, но скорее всего так и осталось…
Вероятно, что в другой город будут отдавать уже за плату, не знаю…
Я всегда балдею с таких проектов: взять датчик, посмотреть в даташит таблицы поправок и вперёд — выдавать измеренные данные. А вот хрен там. У датчиков влажности, к примеру разброс +-40% от заявленных табличных значении вполне обычное явление. Для тех кто знает — это боль.

У меня дома 11 измерителей влажности (если во всех приборах считать). На разных датчиках. Изначально измерения сходились у 2-х приборов: у психрометра и дорогущего записывающего измерителя параметров окружающей среды. Он, к стати, единственный может называтся измерительным прибором, так как имеет сертификаты, градуировочные таблицы и настроенный профиль датчиков.
Еще на 3-х была возможность введения поправок, их тоже удалось привести к общему знаменателю в некоторых точках. А остальное…
Причем дело не в датчиках. Так как это меня бесило, я покупал датчики и менял их. Пофиг. Дело именно в зашитых в приборы профилях.

Это я к чему. К тому что измерением можно звать то, что меряется откалиброванным прибором. Остальное — информационный мусор в лучшем случае. А в худшем -дезинформация.
Я не думаю, что с датчиками других сред ситуация лучше. И да, максимальную гарантию, которую я видел на датчик влажности -3 года, обычно 2.
А еще есть деградация и отравление.
офф Опыт у меня с DHT22 небольшой — ровно в один экземпляр. Но его данные точно совпали с психрометром ВИТ-1.

Через год эти DHT начинают показывать цену на дрова. Лучше брать SHT11 или те же BME.

Уже как-то писал об этом, но повторюсь ))

BME живут от 1 до 3 лет на улице в зависимости от, предположительно, загрязненности воздуха — московские меняю раз в год-полтора, в крыму — на год реже. Сначала «плывёт» влажность — сильно завышается, становится «дискретной»: 15-70-100%, позже отваливается температура (а от неё зависит всё остальное). Немного помогает перенос такого датчика «на работу» в помещение, но влажность дохнет навсегда.

Сейчас жду, пока подохнут остатки запасов BME и буду пробовать что-то другое, отказавшись заодно от I²C на «соплях» от 1 до 3м в пользу дешевого STM32F0 и RS485 + modbus (видимо)
Я прошу прощения, показания датчика? Или прибора на этом датчике?
Скетч на Ардуино, считывающий данные с датчика. Простейшая проверка приобретенного датчика на достоверность в сравнении с психрометрическим гигрометром.
А я нигде не говорил что ВСЕ датчики глючат. А вообще, сейчас точный прибор можно построить на сколь угодно кривом датчике. Надо только чтобы: а) датчик покрывал весь диапазон измерений; б) для каждого возможного измеряемого значения выдавал уникальный код; в) наличие эталонного прибора для построения профиля датчика; г) достаточное количество памяти для хранения профиля.
Только таблица не одного, а нескольких величин, как в бошевских датчиках, где есть коррекция по температуре и давлению. Или коррекция давления по температуре и влажности, не помню точно.
Итого это огромная LUT или приближенные формулы.
Кстати, а как калибровать измерение пыли? Температуру и влажность достаточно очевидно, углекислоту тоже несложно.
что за датчики влажности?
датчики STH31 показали себя очень хорошо, влажность довольно точно показывают.

Кстати при измерении откалиброванным прибором и датчиком вы учитываете постоянную времени как у прибора, так и у датчика? делали step-response для замера постоянной времени?
Я наверное, не очень ясно выразил свою мысль.
Я хотел сказать, что взяв датчик и не проверив его по эталоннму прибору, нельзя быть уверенным в его точности. Это вовсе не значит что все датчики глючат и не точны.
Но если мы хотим именно мерять а не проводить оценку, то нельзя полагаться лишь на информацию производителя.
Этот датчик, скорее всего, еще и без подогрева. Будет показывать туман как пыль.

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

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

Бывают. Только стоят они не по-китайски.

А как wemos/nodemcu переносят отрицательные температуры? У нас бывает и -40, поэтому я побоялся контроллер на улице оставлять, пришлось его на подоконнике ставить и за окно bmp280 на проводочке в печатном корпусе высовывать. Ради такой системы подогрев колхозить показалось уже совсем за гранью добра и зла.

Интересный вопрос, надо изучить. У нас лишь до −10°C доходит, так что проблема не настолько актуальна.

Здесь вот пишут, что ESP8266 до −38°C выдерживает якобы.

Замораживали RPI и они работали, но в комментарии правильно пишут, что точка отказа электронных схем — электролитические конденсаторы habr.com/ru/post/318486 habr.com/ru/post/178647
Хуже всего минусовую температуру переносят Электролиты — конденсаторы, аккумуляторы, ионисторы. Так плохо переносят элементы с подвижными частями (датчики давления, вибраций). Почти все стальные элементы переносят -40, промышленные -70. Когда мы разрабатывали плату для улицы мы брали минимальную рабочею температуру -50, на этой температуре через 4 часа электролиты перестали функционировать. Пришлось бороться с пульсациями по другому)
На nodemcu вроде нет электролитов классических, только тантал.
Электролиты ставят в блоках питания. На современных платах нужны конденсаторы с низким ESR и большой ёмкостью. Тут возможны варианты и электролитов и тантала.
БП ± дома в тепле.
В данном устройстве можно почти всё в дом затащить, выведя трубки из датчика наружу.
Герметично сделать сложно будет… Не вижу смысла.
герметичная монтажная коробка (IP68 например) вполне подойдет.
Я имею в виду герметично чтоб тяга с улицы не дула через коробку.
Лучше бы не побоялись оставить и проверить. Думаю если не выключать, всё бы нормально работало.

Нормально переносят. У меня esp8266 на улице уже две зимы отработала. Она еще сама немного разогревается + герметичный плотный корпус. Никаких проблем.

Ура! Заработало! Теперь из Кемерова тоже передаем замеры!
Можно как-то с этой станции получать по сети данные датчиков для приложений на другом устройстве?

Конечно. В локальной сети можно использовать JSON endpoint на каждом датчике, ну или можно прямо с luftdaten/opensensemap, у них неплохие API.

Надо в локальной сети без выхода в интернет — клиенту на роутере запрещен выход в интернет. Где искать доки по использованию JSON endpoint?

Боюсь, оно не сильно документированное. /data.json, формат данных примерно такой:


{
  "software_version": "NRZ-2020-133",
  "age": "63",
  "sensordatavalues": [
    {
      "value_type": "SDS_P1",
      "value": "28.70"
    },
    {
      "value_type": "SDS_P2",
      "value": "9.70"
    },
    {
      "value_type": "temperature",
      "value": "9.00"
    },
    {
      "value_type": "humidity",
      "value": "92.50"
    },
    {
      "value_type": "samples",
      "value": "5004429"
    },
    {
      "value_type": "min_micro",
      "value": "28"
    },
    {
      "value_type": "max_micro",
      "value": "20112"
    },
    {
      "value_type": "interval",
      "value": "145000"
    },
    {
      "value_type": "signal",
      "value": "-82"
    }
  ]
}

Здесь age говорит, насколько старые (в секундах) данные.

Кто-нибудь пробовал организовать с такой штукой домашний дашборд чтоб сразу выводить показания из-за окна?

Не совсем такой дашборд, про который, скорее всего, вопрос, но я подключил интеграцию в Home Assistant:
Данные с датчика в Home Assistant


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

Может просто трубку спрятать трубку как в матрешке? Внешний экран защитит от солнца.

Тут вопрос скорее в том, что датчик находится внутри ведёрка, воздух в ведёрко попадает двумя путями: из датчика пыли и через специальные отверстия, но через отверстия, как я понимаю, циркуляция воздуха не очень, так что если воздух в ведёрке нагревается, не остывает он достаточно долго. В моей новой ревизии датчик находится снаружи, внутри такой вот трубки:

Если совсем правильно делать, то необходим экран Стивенсона для размещения датчика, защищающий от солнца и осадков, но не препятствующий движению воздуха.
pluspda.ru/blog/diy/80992.html
image
В комментариях: «У кого нет 3д-принтера, могут сделать как у меня.
Пластиковые тарелки под цветочные горшки на шпильках.
Стоит года три-четыре, точно не помню. „
image
Это данные подтягиваются с сайта или непосредственно с датчика?

К Home Assistant есть два плагина: один подтягивает с luftdaten.info, другой прямо с датчика. Я пользуюсь тем вторым.

Подскажите, а как там преобразованием уровней 5->3.3v? Ведь датчик пыли запитывается от 5-ти вольт, а в документации к ESP пишут, что входы не толернатны к 5v. Как решали эту проблему?
Стало интересно, что отечественные метеорологи считают характеристика загрязнения атмосферного воздуха. Нашлось:
Для оценки качества атмосферного воздуха, полученные концентрации загрязняющих веществ (в мг/м3 или мкг/м3) сравнивают с предельно допустимыми концентрациями (ПДК). Средняя концентрация за месяц загрязняющего вещества сравнивается со среднесуточной ПДК (ПДКс.с.), наибольшая разовая концентрация – с максимальной разовой ПДК (ПДКм.р.).

ПДК — санитарно-гигиенический норматив, установленный Минздравсоцразвития России (СанПиН 2.1.6.1032-01).
Используются два показателя качества воздуха: стандартный индекс (СИ) и наибольшая повторяемость (НП):

  • СИ — наибольшая измеренная за короткий период времени концентрация примеси, деленная на ПДКм.р., из данных измерений на посту за одной примесью, или на всех постах за одной примесью, или на всех постах за всеми примесями.
  • НП — наибольшая повторяемость превышения ПДК из данных измерений на посту за одной примесью, или на всех постах за одной примесью, или на всех постах за всеми примесями (выражается в %).

Сходу не понятно как бы оценочно сравнить с показаниями этой станции мониторинга за месяц.

Ремарка по итогам нескольких месяцев эксплуатации.

Разница в качестве измерений хорошо видна на этом графике из статьи от Random Nerd Tutorials:

У меня сначала в показаниях DHT22 и BMP280 была разница в 1-3 градуса. Потом DHT стал показывать тоже самое, что и BMP280.
DHT22 Температура 31.6 °C

DHT22 Относительная влажность 49.8 % 

BMP280 Температура 31.3 °C

BMP280 Давление воздуха 969.40 hPa

C гигрометром ВИТ-2 разница у DHT-22 меньше на 15%. Тут я не знаю, кто прав.

а также ещё и DHT22, который подключается на D7 (см. схему подключения).

Схемы в статье нет, но всё просто - DATA к D7, питание VCC к 3,3 вольт.

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

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Публикации

Истории