Как положено порядочному гигу у меня есть метеостанция, которую я собрал сам из 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
    07.06.2017 17:27
    +1

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


    1. Ruckus
      07.06.2017 17:33

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


      1. aivs
        07.06.2017 17:38

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


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


    1. aivs
      07.06.2017 17:34

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


  1. Akon32
    07.06.2017 17:33
    +1

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


    1. aivs
      07.06.2017 17:39
      -3

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


      1. Akon32
        07.06.2017 17:51
        +4

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


        1. aivs
          07.06.2017 17:57
          -2

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


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


          1. dmitryrf
            07.06.2017 22:56

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


            1. e_butcher
              08.06.2017 09:21

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


              1. dmitryrf
                08.06.2017 10:47

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

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

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


                1. Akon32
                  08.06.2017 12:16
                  +1

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


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


                  1. dmitryrf
                    08.06.2017 12:21

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


                    1. Akon32
                      08.06.2017 13:27

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


                      1. dernuss
                        08.06.2017 13:45

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


                      1. dmitryrf
                        08.06.2017 13:49

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


                        1. Alexeyslav
                          09.06.2017 08:18

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


                          1. dmitryrf
                            09.06.2017 09:21

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


                            1. aivs
                              09.06.2017 10:33
                              +1

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


                              1. dmitryrf
                                09.06.2017 10:36

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


                                1. dernuss
                                  09.06.2017 11:35

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


                                  1. dmitryrf
                                    09.06.2017 11:40

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

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


                                    1. dernuss
                                      09.06.2017 11:42

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


  1. Kisa_ua
    07.06.2017 18:14
    +3

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


    1. dernuss
      07.06.2017 18:43

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


      1. Kisa_ua
        07.06.2017 19:55

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


        1. dernuss
          07.06.2017 20:34

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

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


          1. aivs
            07.06.2017 20:56
            -1

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


            1. dernuss
              07.06.2017 21:01
              +1

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


          1. Kisa_ua
            08.06.2017 10:29

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


    1. Bonio
      07.06.2017 20:55

      rf433 + attiny

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


      1. Kisa_ua
        08.06.2017 10:36

        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в.


        1. Bonio
          08.06.2017 10:46

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


        1. dernuss
          08.06.2017 10:53

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

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

          Transmitter Module Specification:

          Operating voltage :3-12V


          1. Kisa_ua
            08.06.2017 11:07

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


            1. kovalyuk
              08.06.2017 13:19

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


              1. Kisa_ua
                08.06.2017 13:53

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


                1. kovalyuk
                  08.06.2017 14:02

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


                  1. Kisa_ua
                    08.06.2017 18:34

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


        1. Alexeyslav
          09.06.2017 11:58

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


    1. Nikolay_Ch
      08.06.2017 16:30

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


      1. Kisa_ua
        08.06.2017 18:24

        Да, все работает и принимает показания. Приемник на 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.


        1. Nikolay_Ch
          08.06.2017 18:26

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


        1. dernuss
          08.06.2017 20:54

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

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


          1. Kisa_ua
            08.06.2017 21:53

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


  1. Nizametdinov
    07.06.2017 18:32
    +1

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


    1. Akon32
      07.06.2017 18:43

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


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


      1. aivs
        07.06.2017 19:29
        +1

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


        1. Akon32
          08.06.2017 12:09

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


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


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


          1. aivs
            08.06.2017 13:17

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


  1. mm7
    07.06.2017 20:12

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


    1. aivs
      07.06.2017 20:55

      Ну хаб же!


  1. Estranged01
    07.06.2017 20:49

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


    1. aivs
      07.06.2017 20:53

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



      1. Estranged01
        07.06.2017 20:54

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


    1. dernuss
      07.06.2017 20:58

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


  1. Bonio
    07.06.2017 21:08
    +1

    Sensirion SHT20

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


    1. aivs
      07.06.2017 21:19

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



      1. Bonio
        07.06.2017 21:22

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


        1. aivs
          07.06.2017 21:24

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


    1. dernuss
      07.06.2017 21:20

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


      1. aivs
        07.06.2017 21:22

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


        1. dernuss
          07.06.2017 21:30

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


          1. Bonio
            07.06.2017 21:35

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

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


            1. dernuss
              07.06.2017 21:38

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


              1. HOMEZ
                09.06.2017 09:14

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


            1. Alexeyslav
              09.06.2017 14:37

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


    1. Alexeyslav
      08.06.2017 10:21

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


      1. Bonio
        08.06.2017 10:40

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


        1. Alexeyslav
          11.06.2017 00:52

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


          1. Bonio
            11.06.2017 01:07
            +1

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


          1. dernuss
            11.06.2017 12:11

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


            1. Alexeyslav
              12.06.2017 09:02

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


              1. dernuss
                12.06.2017 10:44

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


                1. Alexeyslav
                  12.06.2017 11:42

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


                  1. dernuss
                    12.06.2017 16:04

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

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

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


  1. xtala
    08.06.2017 11:48
    -1

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


  1. googhalava
    08.06.2017 14:18

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


    1. aivs
      08.06.2017 14:18

      контроллер RaZberry