Еще один беспроводной датчик температуры и влажности. Z-Wave плата Z-Uno + Sensirion SHT20 +11



Как положено порядочному гигу у меня есть метеостанция, которую я собрал сам из DHT22, Raspberry Pi и экранчика Nokia, это решение на постоянном питании, передающее данные по Ethernet.

Но теперь мне понадобилась мобильная метеостанция на балкон беспроводная и на батарейках.
В качестве радио модуля я использовал Z-Wave плату Z-Uno, в качестве датчика температуры и влажности решил попробовать Sensirion SHT20 работающий по I2C.



Материалы и цены:

Материал Магазин Цена
1 Z-Wave плата Z-Uno 5smart.ru 3500 р
2 Датчик Sensirion SHT20 voltmaster.ru 72 р
3 Корпус Gainta G517B voltmaster.ru 160 р
4 Батарейный отсек BH421 2xAAA voltmaster.ru 14 р


Z-Uno постоянно обновляется, добавляется поддержка новой периферии и библиотеки. На данный момент актуальная версия прошивки 2.0.9 и в ней появилась поддержка следующих устройств:

  • 1-Wire DS18B20 temperature sensor
  • DHT22 && DHT11 temperature and humidity sensor
  • 125Khz RFID card reader
  • I2C BMP180 pressure and temperature sensor
  • и другие устройства, примеры здесь z-uno.z-wave.me/examples


Датчика Sensirion SHT20, работающего по I2C шине в списке поддерживаемых не оказалось, поэтому пришлось написать свою реализацию для Z-Uno. Синтаксис скетча под Z-Uno максимально похож на Arduino, весь скетч уместился в 35 строк:



Скетч для Z-Uno по работе с датчиком температуры и влажности Sensirion SHT20
#include <Wire.h>
#include "SHT2x.h"

int16_t temperature;
uint8_t humidity;

ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_SLEEPING);

#define ZUNO_CHANNEL_TEMPERATURE   1
#define ZUNO_CHANNEL_HUMIDITY   2

ZUNO_SETUP_CHANNELS(
    ZUNO_SENSOR_MULTILEVEL_TEMPERATURE(getterTemp),
    ZUNO_SENSOR_MULTILEVEL_HUMIDITY(getterHumid)
);

void setup() {
  Wire.begin();
}

void loop() { 
  temperature = SHT2x.GetTemperature();
  zunoSendReport(ZUNO_CHANNEL_TEMPERATURE);
  humidity = SHT2x.GetHumidity();
  zunoSendReport(ZUNO_CHANNEL_HUMIDITY);
  zunoSendDeviceToSleep(); 
}

byte getterTemp(void) {
  return temperature;
}

byte getterHumid(void) {
  return humidity;
}


SHT2x.cpp доработанный для Z-Uno
/*
  SHT2x - A Humidity Library for Arduino.

  Supported Sensor modules:
    SHT21-Breakout Module - http://www.moderndevice.com/products/sht21-humidity-sensor
	SHT2x-Breakout Module - http://www.misenso.com/products/001
	
  Created by Christopher Ladden at Modern Device on December 2009.
  Modified by Paul Badger March 2010
  
  Modified by www.misenso.com on October 2011:
	- code optimisation
	- compatibility with Arduino 1.0

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

//#include <inttypes.h>
#include <Wire.h>
#include "Arduino.h"
#include "SHT2x.h"



/******************************************************************************
 * Global Functions
 ******************************************************************************/

/**********************************************************
 * GetHumidity
 *  Gets the current humidity from the sensor.
 *
 * @return float - The relative humidity in %RH
 **********************************************************/
float SHT2xClass::GetHumidity(void)
{
	return (-6.0 + 125.0 / 65536.0 * (float)(readSensor(eRHumidityNoHoldCmd)));
 
}

/**********************************************************
 * GetTemperature
 *  Gets the current temperature from the sensor.
 *
 * @return float - The temperature in Deg C
 **********************************************************/
float SHT2xClass::GetTemperature(void)
{
	return (-46.85 + 175.72 / 65536.0 * (float)(readSensor(eTempNoHoldCmd)));
}


/******************************************************************************
 * Private Functions
 ******************************************************************************/

uint16_t SHT2xClass::readSensor(uint8_t command)
{
    uint16_t result = 0 ;
    uint8_t data[2];

    // Sending request to sensor
    Wire.beginTransmission(eSHT2xAddress);   // We have to read some registers from sensor 
    Wire.write(command);        // Command     
    Wire.endTransmission(); 
    delay(100);
    
    Wire.requestFrom(eSHT2xAddress, 3); //Get 3 bytes
    byte i = 0;
    while(Wire.available()) {
      data[i++] = Wire.read();
    }

    result = data[0] << 8;
    result += data[1];
    result &= ~0x0003;   // clear two low bits (status bits)
    return result;
}

SHT2xClass SHT2x;


SHT2x.h
/*
  SHT2x - A Humidity Library for Arduino.

  Supported Sensor modules:
    SHT21-Breakout Module - http://www.moderndevice.com/products/sht21-humidity-sensor
	SHT2x-Breakout Module - http://www.misenso.com/products/001
	
  Created by Christopher Ladden at Modern Device on December 2009.
  
  Modified by www.misenso.com on October 2011:
	- code optimisation
	- compatibility with Arduino 1.0

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/


#ifndef SHT2X_H
#define SHT2X_H

//#include <inttypes.h>

typedef enum {
    eSHT2xAddress = 0x40,
} HUM_SENSOR_T;

typedef enum {
    eTempHoldCmd		= 0xE3,
    eRHumidityHoldCmd	= 0xE5,
    eTempNoHoldCmd      = 0xF3,
    eRHumidityNoHoldCmd = 0xF5,
} HUM_MEASUREMENT_CMD_T;

class SHT2xClass
{
  private:
	uint16_t readSensor(uint8_t command);
  uint8_t _data; 
  public:
    SHT2xClass(){};
    float GetHumidity(void);
    float GetTemperature(void);
};

extern SHT2xClass SHT2x;

#endif


Из особенных вещей, в скетче присутствует только строчка переводящая Z-Uno в спящий режим:

ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_SLEEPING);

И настройка, в какой канал отправлять температуру, а в какой влажность:

ZUNO_SETUP_CHANNELS(
    ZUNO_SENSOR_MULTILEVEL_TEMPERATURE(getterTemp),
    ZUNO_SENSOR_MULTILEVEL_HUMIDITY(getterHumid)
);

В остальном обычный Arduino код.

Sensirion SHT20 работает по I2C и подключается 2 проводками. По умолчанию в библиотеке Wire.h для I2C определены пины 9 и 10.

image

Информацию с датчика можно посмотреть на телефоне и она используется в автоматизации, для управления увлажнителем и кондиционером.


Данные обновляются каждые 12 минут, в таком режиме датчик должен проработать более 2-х лет от одного комплекта батареек.



Гаинтовский корпус G517B 90 х 60 х 20 см специально выбирался с местом под батареечный отсек, все отлично влезло.

На разработку Z-Wave датчика температуры и влажности ушло примерно 2 часа и 3746 р. Можно еще добавить E-Ink экран и повесить на стену!


Комментарии (79):

  1. Ruckus
    /#10118099 / +1

    За 700р есть датчик xiaomi, правда для его работы необходим Gateway их же (цена около 3000, в сумме какраз как сабж выйдет). Зато размеры в диаметре менее четырёх сантиметров и есть возможность мониторинга при наличии интернета из любой точки земного шара. А сейчас предзаказ на аналогичный датчик ещё и с давлением. Это если о цене и функционале =)
    А если говорить об изучении МК, то проектик вполне подходит, выглядит довольно простым даже для новичков.

    • Ruckus
      /#10118117

      Расскажите лучше как вы управляете кондиционером и увлажнителем, пролистал ваши статьи в надежде, что уже писали, но не увидел.

      • aivs
        /#10118147

        Там ничего сложного, поэтому и не стал специально писать. Для кондея я использую тот же модуль ИК, что и для телевизора:
        https://habrahabr.ru/post/193572/


        А увлажнитель включен через Z-Wave розеточный модуль Everspring, благо у меня не сбрасывается режим после отключения питания.

    • aivs
      /#10118121

      В моем случае, Z-Wave контроллер у меня уже есть, поэтому и была выбрана Z-Uno. Этот проект, как учебный, в перспективе можно более крутые вещи сделать на Z-Uno.

  2. Akon32
    /#10118119 / +1

    Дорого-то как…
    Контроллер & радио на базе ESP8266 выйдет раз в 25 (!) дешевле.

    • aivs
      /#10118151 / -3

      Спорим вы не сделаете датчик влажности на батарейках на ESP8266!!!
      потребление ESP8266 — 300 (при передачи 700 мА)
      потребление Z-Uno — 7 мкА (30 мА)

      • Akon32
        /#10118193 / +4

        Спящий режим — наше всё. Единицы микроампер.
        И где вы такие цифры взяли? По даташиту: "в среднем" — 80мА, при поддержке соединения ~ 1мА.
        По-вашему, оно 2 ватта рассеивает? Это была бы печка.

        • aivs
          /#10118211 / -2

          Немного перегнул, по даташиту у ESP8266 все очень хорошо, но на GT много статей есть, при различных условиях потребление в режиме передачи от 80 до 400 мА.
          В режиме сна < 1мА.


          Нужно будет на ESP8266 собрать такой же датчик для сравнения.

          • dmitryrf
            /#10118993

            Личный опыт: 2 датчика на ESP8266. Один измеряет температуру полотенцесушителя с помощью DS18B20, другой — давление воды с помощью АЦП. Оба передают данные раз в 5 минут и засыпают. Оба работают от китайских повербанков на элементе 18650 емкостью около 2000 mAh. Обоих хватает примерно на 2 недели.
            Потихоньку делаю замену на STM8L+NRF24. Предварительный подсчет показал несколько лет от одной CR2032.

            • e_butcher
              /#10119513

              А температура и давление перманентно измеряются или тоже раз в 5 минут?
              И чем обусловлено такое отличие в сроке работы ESP и STM, объясните несведущим…

              • dmitryrf
                /#10119759

                Измерение тоже раз в 5 минут, остальное время контроллер спит.

                Есть два существенных отличия — потребление в активном режиме и время активной работы. ESP находится в активном режиме 10 секунд. Больше половины из них уходит на регистрацию в сети. Потребление в активном режиме — 80 мА.
                STM8 будет находиться в активном режиме менее секунды. Уже снизили потребление в 10 раз. Потребление в активном режиме будет менее 15 мА (примерно 10-12 на NRF24 и 2-4 на STM8). Снизили потребление еще в 5 раз. Таким образом в худшем случае STM8+NRF24 потребляет в 50 раз меньше, чем ESP8266. Если вдаваться в детали, можно еще много где наэкономить.

                Добавлю, что в случае ESP идет передача данных через MQTT — это дополнительное время на обработку уровеня абстракции. STM8+NRF просто пуляет данные в эфир без регистрации в сети и установки соединения. Перекладывание из эфира в MQTT будет делать базовая станция, запитанная от сети.

                • Akon32
                  /#10119973 / +1

                  Естественно, "что-нибудь"+NRF24 будет правильней — я предложил ESP8266 только из-за простоты использования совмещённого CPU и радио.


                  А пробовали задействовать в ESP8266 режим сна, в котором удерживается соединение с AP ("light-sleep") ?

                  • dmitryrf
                    /#10119985

                    Нет, даже не слышал. Нашёл в интернете цифру 10-15 мА в данном режиме. Совсем не подарок :)

                    • Akon32
                      /#10120129

                      15mA — это при активном CPU. В light-sleep, якобы, порядка 0.9mA.

                      • dernuss
                        /#10120175

                        всё равно очень и очень много
                        для продолжительной работы от батареек нужно порядка ~1 µA в режиме сна.

                      • dmitryrf
                        /#10120195

                        Допустим, мы экономим 5 секунд на подключении к сети. При среднем токе активного режима около 80 мА, это 400 мАс (миллиампер*секунд). Пять минут сна в таком режиме стоят 0.9 мА * 300 с = 270 мАс. Т.е. выгода у нас 130 мАс на каждом цикле. За две недели происходит примерно 4000 пятиминутных циклом. Суммарная экономия составит 520 000 мАс. Каждый цикл стоит 270 + 400 = 670 мАс. Т.е. получим на 520 000 / 670 = 776 циклов или почти 65 часов работы. Неплохо. Если немного подкорректировать мой код, то, думаю, можно дотянуть время работы до 3 недель. Есть над чем подумать :)

                        • Alexeyslav
                          /#10122287

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

                          • dmitryrf
                            /#10122417

                            Тут вопрос трудозатрат. Работающие две недели датчики уже есть. Если парой строк кода за 5 минут я смогу увеличить время работы на 50%, то почему нет?

                            • aivs
                              /#10122649 / +1

                              Датчик который работает 2 недели…
                              Получается вы работаете на датчик (постоянное обслуживание), а не датчик на вас

                              • dmitryrf
                                /#10122655

                                Изначально я ожидал, что он протянет пару дней и на этом эксперимент закончится. Потом решил, что менять аккум два раза в месяц — совсем не трудно. А теперь пилю замену, т.к. за годик подзадолбался :)

                                • dernuss
                                  /#10122869

                                  Дальнобойности NRF24 вам хватит?

                                  • dmitryrf
                                    /#10122883

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

                                    Собственно, по той же причине в центре пришлось вешать точку доступа 5 ГГц, иначе сигнал не проходил.

                                    • dernuss
                                      /#10122891

                                      Вооот. Но если у вас всё уже предусмотрено, то норм.
                                      Я если буду делать, то на чём нить по мощнее, например si4010, si4432, si4463…

  3. Kisa_ua
    /#10118283 / +3

    Соглашусь, что такое решение очень и очень дорогим получается. При наличии raspberry в системе управлением, можно было бы и на rf433 + attiny + датчик температуры/влажности. Это на тот случай когда хочется МК освоить.
    Можно прикупить Oregon Scientific THGN132N(15-20у.е.), работает по rf433, описание протокола описано на просторах интернета. На raspberry приемник и управляем чем угодно и как угодно. Аналогичный датчик стоит на улице и уже больше трех лет на 2х батарейках АА работает.

    • dernuss
      /#10118371

      Я бы сделал на stm8l + si4432 + BME280 либо si4010 + BME280
      Да и наверное сделаю как нибудь ;)

      • Kisa_ua
        /#10118553

        C stm8l + si4432 + BME280 не сталкивался, поэтому плюсов и минусов не могу сказать, думаю такое решение тоже имеет место быть. А вот Аtiny85 и прикручивать к нему датчик температуры/влажности и передачи показаний по RF433 пробовал.
        Забыл добавить, что минусом работы с rf433 на дешевых приемниках/передатчиках является дальность передачи данных.
        Соглашусь с комментарием ниже от Nizametdinov, если уже есть система работающая на Z-Wave, то добавлять в нее различные RF протоколы, которые работают на различном железе, приведет к танцам с бубном.

        • dernuss
          /#10118647

          Да, ваш минус про дальность я подтверждаю, так как владею метеостанцией oregon. Фактически у меня дальность 1 комната, что несколько удручает. Про Аtiny85 при беглом изучении параметров я не нашёл ток в режиме спячки. У Stm8l ток в спячке ~1.3 µA.

          Ну а я в свою очередь не соглашусь с вами ;) и Nizametdinov, я за разумное расходование средств ;)
          3500 р ну явно перебор как по моему.

          • aivs
            /#10118687 / -1

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

            • dernuss
              /#10118701 / +1

              Да, но переплатить за датчик температуры??? Тем более тут всё равно тратится время на развлечение)
              Впрочем я и сам часто нерационально деньги расходую;)

          • Kisa_ua
            /#10119673

            В моем случае получается, если датчик орегоновский на улице, то пробивает одну стену несущую дома и 1-2 перегородки из гипса. Дальше уже не получается ловить сигнал. Приемник из дешевых китайских рф433. Аналогичный опыт в квартире, пробивает две кирпичных комнатных перегородки (приемник и передатчик из дешевых). Третью стену уже не пробивает. Но решение получается копеечным (raspberry не в счет).
            Аtiny85 в режиме с watchdog таймером ~5 µA. Информация с просторов интернета, сам не проверял. Моя поделка на attiny85+rf433+ds18b20 на 3-х батарейках проработало более 2-х лет, что ИМХО приемлемо.
            ESP8266 очень интересная вещь, но применяю такие решения только там где есть возможность постоянного питания и не требует применения акку/батареек.

    • Bonio
      /#10118683

      rf433 + attiny

      Тут с питанием городить что-то нужно будет, потому, эти передатчики зачастую требуют 12 вольт.
      Есть 5-вольтовые или даже 3-вольтовые, но и им нужно по мере разряда батарей поддерживать это напряжение, иначе он перестанет работать, когда в батарейке еще будет оставаться половина заряда.

      • Kisa_ua
        /#10119697

        rf433- 5v — http://www.electrodragon.com/product/433m-rf-wireless-module-a-pair-of-receiver-and-transmitter/
        Operating Voltage
        – 1.8 — 5.5V for ATtiny25V/45V/85V
        – 2.7 — 5.5V for ATtiny25/45/85
        для передатчиков требуется напряжение, от этого зависит дальность передачи сигнала, но все равно это не 12в.

        • Bonio
          /#10119755

          Вот про эти я и говорил, они требовательны к напряжению. А т.к. для датчиков разумнее всего применять питание 3в (таблеттка или две AA или AAA), получается, что при емкости батареек в 90% передатчик уже ничего передавать не будет. А зимой, например, и вовсе работать перестанет.
          С такими передатчиками нужно городить повышающие step-up преобразователи, которые сами по себе достаточно сложны, чтобы уже они высаживали батарейку до нуля.

        • dernuss
          /#10119773

          для передатчиков требуется напряжение, от этого зависит дальность передачи сигнала, но все равно это не 12в.

          По вашей же ссылке

          Transmitter Module Specification:

          Operating voltage :3-12V

          • Kisa_ua
            /#10119795

            Ок, согласен, что требуется большее напряжения для правильной и стабильной работы и для этого простое решение с питанием от 3х или 4,5в годится для поиграться, а для более серьезных проектов/вещей не годиться. Поэтому лучше поискать готовое решение на рынке. Как я писал ранее, готовый датчик орегоновский стоит в пределах 15-20 у.е., вероятно можно найти и другие датчики.
            Решение с китайскими xiaomi gateway + датчики температуры+ управляемые розетки будет сравнимо по цене одной только платы Z-Wave плата Z-Uno. Из недостатков, что такое решение работает только через некий китайский сервер.

            • kovalyuk
              /#10120103

              "xiaomi gateway… работает только через некий китайский сервер"
              Работает (может) через ваш персональный сервер — MajorDoMo, Domoticz, OpenHAB

              • Kisa_ua
                /#10120211

                Немного, не верно написал, конечно можно работать через персональную систему управления, но при этом все равно данные о включении и выключении розеток/выключателей будут отправляться на сторонний сервер. Такое поведение добавляет уязвимости в систему. Для меня это недостаток, что нельзя изолировать систему. Хорошо, если это просто датчики температуры, открытия дверей, дыма, которые просто сигнализируют о неком событии.
                Как раз сейчас тестирую xiaomi gateway + domotociz + homekit

                • kovalyuk
                  /#10120253

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

                  • Kisa_ua
                    /#10121209

                    В родном приложении (Mi Home), есть функция постановки на сигнализацию. При этом getaway моргает глазом и пикает как автомобильная сигнализация. Перенести данную функцию на domoticz без дополнительных сценариев не получается или я пока не разобрался, как это правильно сделать. Поэтому полностью закрывать на роутере «врагам» воздух не хотелось, а хотелось оставить только функцию постановки и снятия с «сингализации». Если перекрывать воздух «врагам», то необходимо придумать как ставить на сигнализацию систему из вне.
                    Правда я еще не весь 4pda перечитал.

        • Alexeyslav
          /#10122957

          Это рабочие напряжения для контроллеров а не передатчиков/приёмников. Китайцы… как напишут так сразу ховайся. Ну да, он по факту работает в этих диапазонах но только цифровая часть. У передатчика может сильно упасть выходная мощность а у приемника чувствительность(а то и вовсе пропасть у сверхрегенеративных) при приближении к нижней границе питания. В итоге пара будет работать да, только на 30 сантиметров. А выходная мощность и максимальное расстояние указаны для максимального напряжения в идеальных условиях(может даже не с комплектными антеннами).

    • Nikolay_Ch
      /#10120749

      Эм… А Вам удалось принять пакеты от датчика Орегона? Я что-то их получить не могу. Какой-то шум в эфире идет, который активизируется при передаче, но ничего похожего на байты, описанные в протоколе, я не наблюдаю. Использовал малину и приемник RX-4M50RR30SF.

      • Kisa_ua
        /#10121165

        Да, все работает и принимает показания. Приемник на rasbperry pi из самых дешевых, что вроде:
        https://microcontrollerelectronics.com/fs1000a-wireless-rf433-transmit-and-receive-module-pair/

        Кстати, ньюанс всех таких приемников и raspberry pi, приемник работает на 5в логике, а малина 3,3в. Поэтому необходимо понижать напряжение, например вот такой схемой
        https://www.sparkfun.com/products/12009
        Может работать и без понижение напряжения, но есть вероятность получить кирпич или просто не работающие пины(GPIO) на плате raspberry pi.

        • Nikolay_Ch
          /#10121171

          Вот просто соединили и все? Помех лишних не было? А пин оставляли в аналоге или в цифровой режим переводили? И… Как переводили в биты полученные данные?

        • dernuss
          /#10121683

          Кстати, ньюанс всех таких приемников и raspberry pi, приемник работает на 5в логике, а малина 3,3в. Поэтому необходимо понижать напряжение, например вот такой схемой
          https://www.sparkfun.com/products/12009

          Ужасно расточительно) достаточно двух, или даже одного резистора)

          • Kisa_ua
            /#10121771

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

  4. Nizametdinov
    /#10118331 / +1

    Очень годный проект и не дорого.
    Коментаторы забывают про гомогенность твой системы. Воротить систему на стыке 3-4 систем на физическом уровне и потом поддерживать(а это главное) — то еще шапито.

    • Akon32
      /#10118369

      Недавно смотрел в "оффлайн" магазинах — за 3-4к можно купить симпатичные часы с погодной станцией и беспроводным наружным датчиком. Датчик из тех часов меньше и вероятно рассчитан на уличные условия.


      А тут только компоненты датчика в эту цену.

      • aivs
        /#10118497 / +1

        А как информацию с этих часов в домашнюю автоматизацию передавать?
        Не алике есть датчики с экраном за 99?

        • Akon32
          /#10119953

          Боюсь, никак (если только не упарываться с веб-камерой, RPi и OpenCV).


          Но в одном случае получаем готовый продукт с примерно теми же функциями(*), а в другом за те же деньги — датчик в разобранном виде. Это и удивляет, тем более, что есть альтернативы.


          * на самом деле функции другие, и подойдут только части пользователей.

          • aivs
            /#10120099

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

  5. mm7
    /#10118597

    А как оно с телефоном разговаривает? Z-Wave это ж не BT и не Wi-Fi.

  6. Estranged01
    /#10118669

    Чего-то датчик стоит не 72 рубля, а аж 482.

    • aivs
      /#10118675

      В апреле еще 72 стоил. Вообще с ценами на эти датчики странности, т.к. два датчика отличаются одной буковкой в обозначении, а цена отличается в 100!!! раз. Возможно у Voltmaster рандомайзер выставляет цены на эти датчики. Сейчас по поиску "Sensirion", самый дешевый SHT-30 за 210р http://voltmaster.ru/cgi-bin/qwery.pl/id=747833230


      • Estranged01
        /#10118677

        Они в него, наверное, телевизор встроили.

    • dernuss
      /#10118691

      Да, какой то странный датчик, на али 116р с доставкой.

  7. Bonio
    /#10118717 / +1

    Sensirion SHT20

    Я где то читал, что эти датчики лучше не применять на улице. На данный момент BME280 выглядит наиболее привлекательно, он и температуру и влажность и давление может мерить.
    Отправку данных на narodmon.ru не думаете прикрутить?

    • aivs
      /#10118755

      В контроллере RaZberry встроенная поддержка inchart.com, туда данные скидываю.


      • Bonio
        /#10118781

        Суть narodmon на в графиках, хотя они там тоже есть, а в общедоступности информации об уличной температуре (влажности, давлении и т.д).

        • aivs
          /#10118793

          narodmon.ru прикольный сервис не знал, напишу модуль для контроллера.

    • dernuss
      /#10118765

      Зато SHT20 точнее чем BME280

      • aivs
        /#10118777

        Еще у SHT20 можно выбрать версию с питанием от 1.8В, 3.3В, 5.0В.
        Про BME280 не знаю какие варианты питания предусмотрены.

        • dernuss
          /#10118833

          В плане питания лучше BME280, у него от 1,71 до 3,6 В питание. И ещё BME280 давление измеряет.
          Но вот в температуре BME280 сливает SHT20. А ведь есть ещё SHT30 и SHT35…
          Я заинтригован…

          • Bonio
            /#10118859

            Но вот в температуре BME280 сливает SHT20

            Ну там не велика разница, на самом деле, у одного ±0,5%, у другого ±0,3%.

            • dernuss
              /#10118865

              Да, но у SHT30 уже 0,2 °C, а у SHT35 0,1°C.
              SHT30 платка на али стоит 110 р.

              • HOMEZ
                /#10122411

                Большая платка какая-то, мелкая почему-то в два раза дороже.

            • Alexeyslav
              /#10123511

              Это ещё белыми нитками шито. Масса ньюансов, надо уточнять характеристики по конкретному месту и цели использования датчика. Но что-то мне подсказывает что в итоге платиновый ТС всёравно победит по характеристикам.

    • Alexeyslav
      /#10119637

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

      • Bonio
        /#10119721

        Данный датчик (BME280) позиционируется, как датчик температуры давления и влажности, даже в даташите написано «digital humidity, pressure and temperature sensor».
        BMP180, например, это датчик давления, только давления. Но в нем есть также датчик температуры, но он не предназначен для снятия с него данных о температуре, а только лишь для компенсации показаний давления.

        • Alexeyslav
          /#10125891

          Ну, температуру он какую-то измеряет, но скорей всего температуру подложки датчика. Часто это вообще не вариант — толку измерять температуру подоконника, да еще слегка подогретого электричеством датчика?
          Лучше всего измерять температуру платиновым ТС в металлической капсуле с низким КЧТ, который вынесен за пределы комнаты сантиметров на 50 минимум.

          • Bonio
            /#10125903 / +1

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

          • dernuss
            /#10126209

            Не думаю что такая точность нужна для бытовых нужд.

            • Alexeyslav
              /#10126895

              Да там +- лапоть получается если не изолировать термометр от внешних излучений и восходящего потока воздуха в многоэтажке, например. Не термометр получится а черти что.

              • dernuss
                /#10126929

                Понятно, но это же не Гидрометцентр ;)
                Вон всякие Орегон продают. Народ покупает.

                • Alexeyslav
                  /#10126979

                  Однако, на своём термометре я уже научился автоматом вычитать 2 градуса. Показывает стабильно на 2 градуса больше чем есть реально. А на солнце может до 40 показать, хотя сам датчик находится в тени козырька, однако… внизу 4 этажа хорошо прогреваемые солнцем…
                  Пробовал вынести датчик на пол метра от стены, показывает гораздо лучше но… нужно оборудовать вынос, на временных палках это не дело.
                  Одно дело погодная станция, а совершенно другое дело ПРАВИЛЬНО разместить датчик от неё. В инструкции, кстати, должны быть требования к размещению датчика, но кто же их читает? Вешают куда получится.

                  • dernuss
                    /#10127195

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

                    Вот в частном доме лучше. Можно вынести датчик на участок в тень.

                    П.С. У меня тоже есть в планах (правда не на первом месте) сделать свою погодную станцию ;)

  8. xtala
    /#10119887 / -1

    3746 рубля за термометр? Автор признайся ты зачет по экономике в ВУЗе (или техникуме) за ящик пива получил? Это просто вопиющая цифирь за сраный термометр. Хотя подозреваю твои преподаватели с гордостью рассказывали как они учили самого Путина и Набиуллину экономике. Ну эти все — олимпиады за цену полета к Марсу, «рубль упал доходы увеличились (с) », Зенит арена по цене полноценной базы на Титане. Ну и все прочие высокие экономические достижения достойные Шнобелевской премии и воспевания в Камеди клабе.

  9. googhalava
    /#10120305

    А куда у вас датчик передает информацию по ZWave? Пропустил этот момент.