- Обзор датчика для сауны Ea2 SR111 и домашней метеостанции Ea2 EN209
- Комплект Ea2 EN209
- Дизайн и управление Ea2 EN209
- Базовая и расширенная функциональность Ea2 EN209
- Автономный датчик температуры и влажности Ea2 SR111
- Итоговое тестирование
- Чтение данных датчика погоды BL999 с помощью Arduino
- 1 Описание метеодатчика BL999 и его информационного протокола
- 2 Приём данных с метеодатчика BL999при помощи Arduino
Обзор датчика для сауны Ea2 SR111 и домашней метеостанции Ea2 EN209
Многоступенчатый приход весны в этом году, украшенный практически еженедельными сообщениями синоптиков об «уж в этот раз бесповоротном» наступлении тепла, несколько подорвал веру людей в прогнозы погоды. Это заставило нас обратиться к методам самостоятельного изучения капризов природы.
К счастью, современные технологии позволяют заметно расширить способы наблюдений за погодой, добавляя к традиционным барометрам, термометрам и сборникам народных примет такой класс устройств, как домашняя метеостанция.
Изучить возможности домашних метеостанций, представленных на рынке, мы попытались на примере модели Ea2 EN209. Интересно, что эта метеостанция входит в список совместимых устройств датчика Ea2 SR111. Он предназначается для использования в «горячих» помещениях сауны или парилке бани, замеряя температуру воздуха и влажность. Датчик Ea2 SR111 также был доступен для нашего изучения и тестирования – чем мы с удовольствием воспользовались.
Комплект Ea2 EN209
Начнём обзор с метеостанции. Модель EN209 появилась в ассортименте гонконгской компании Ea2 в конце 2014 года и стала своего рода «флагманом» своей линейки устройств, в которую входят и электронные термометры, и проекционные часы, и, собственно, домашние метеостанции. Основные из главных примет «флагманского» уровня Ea2 EN209 – это, во-первых, универсальное питание от сети и батареек, а во-вторых, цветной дисплей.
Поставляется Ea2 EN209 в достаточно объёмной картонной коробке со стандартным для бытовой электроники дизайном и оформлением (полиграфия с внешним видом устройства в информативном ракурсе и перечень технических характеристик). Внутри упаковки находятся сама метеостанция, внешний датчик-термометр, подставка для Ea2 EN209 с магнитным креплением, сетевой адаптер и руководство пользователя с гарантийным документом.
Во внешнем датчике-термометре, идущим в комплекте, легко узнать модель Ea2 BL999. Учитывая, что метеостанция умеет одновременно работать с тремя подобными устройствами одновременно, приятно знать, что при необходимости докупить дополнительное оборудование не составит никакого труда.
Кстати, тестируя датчик для сауны Ea2 SR111 в режиме совместной с метеостанцией Ea2 EN209 работы, мы будем сравнивать его именно с комплектным Ea2 BL999.
Как можно заметить, батарейки для основного устройства и датчика в комплект Ea2 EN209 не входят. В предыдущих моделях метеостанций этой линейки, отличающихся исключительно автономным питанием, это стало бы определённым препятствием на пути к немедленному использованию. У Ea2 EN209, как мы уже писали выше, есть возможность работы от электросети – что, несомненно, большой плюс.
Дизайн и управление Ea2 EN209
Внешний вид Ea2 EN209 можно назвать лаконичным и функциональным. Обладая настенным креплением, метеостанция хорошо смотрится как смонтированной на вертикальную поверхность, так и поставленной на полку или стол.
Центральную часть фронтальной стороны корпуса Ea2 EN209 занимает информационный жидкокристаллический дисплей. Как уже было сказано выше, экран метеостанции цветной, сегментный, с регулировкой яркости. В режиме питания от электросети он включён постоянно, а при работе устройства от батареек включается на короткий период времени по нажатию специальной клавиши. Она располагается на верхней грани метеостанции и отвечает также за выключение сигнала будильника.
Все остальные элементы управления собраны на тыловой стороне корпуса. В частности, тут находятся кнопки выбора режимов Mode/Set, настройки радиоканалов для работы с несколькими датчиками, выбора длительности периода наблюдений за давлением (12/24 часа), переключения шкалы градусов (Цельсий или Фаренгейт), включения режима истории замеров, переключения системы отображения давления (абсолютное или относительное), активации режима оповещения и кнопка включения режима «Демо». Также тут расположено отверстие, в глубине которого находится кнопка перезагрузки метеостанции.
В нижней части тыловой стороны корпуса Ea2 EN209 находится отсек для установки трёх батареек типоразмера AAA и отсек для подключения адаптера электросети. Внутри последнего есть специальные канавки и прорези для аккуратного вывода проводов.
В целом, метеостанция Ea2 EN209 отличается весьма высоким качеством сборки. Пластмасса, из которой сделан корпус, не выглядит и не ощущается дешёвой. Хруст при попытках сжатия и перекручивания устройства отсутствует, монтажные стыки имеют одинаковую ширину, технических заусенцев не обнаружено.
Базовая и расширенная функциональность Ea2 EN209
Базовую функциональность метеостанции Ea2 EN209 обеспечивают установленные в её корпус датчики температуры с рабочим диапазоном от -10 до +50 градусов Цельсия с погрешностью не более 5%, влажности воздуха с рабочим диапазоном от 20 до 99% и давления – с рабочим диапазоном от 637 до 787 миллиметров ртутного столба.
Как мы видим, характеристики встроенных датчиков вполне достаточны для помещения. Для получения погодных данных «с улицы» служит комплектный термометр Ea2 BL999. Он работает от двух батареек типоразмера ААА, ёмкости которых обычно хватает на полгода-год автономного существования. Внутри Ea2 BL999 установлены датчики температуры с рабочим диапазоном от -40 до +50 градусов Цельсия и влажности с рабочим диапазоном от 20 до 99%. Передача данных в головное устройство (метеостанцию Ea2 EN209) идёт на радиочастоте 433 мегагерца, дистанция уверенного приёма составляет 30 метров. Производитель особо подчёркивает, что работоспособность и точность измерения и предсказания погоды в огромной степени зависят от используемого типа батареек (щелочные, солевые, литиевые) и места монтажа термометра. В частности, нужно обращать внимание на то, чтобы батарейки могли нормально функционировать при температурах ниже -10 градусов Цельсия, чтобы на Ea2 BL999 не падали прямые солнечные лучи, чтобы датчик находился там, где его не заливает дождь и не покрывает снег. Также рекомендуется крепить устройство с некоторым зазором от стены – например, на специальном кронштейне.
При соблюдении всех рекомендаций установки пара из метеостанции и Ea2 EN209 и комплектного датчика Ea2 BL999 позволяет выводить на дисплей головного устройства температуру и влажность в помещении и на улице, показатели барометра (моментальные и в динамике на 12 или 24 часа), текущее время, дату и название дня недели, а также пиктограмму прогноза погоды на ближайшие 12 или 24 часа. Метеостанция оперирует пятью вариантами развития погодных событий: ясно, переменная облачность, облачно, дождь и снег.
В качестве прибора для метеонаблюдений Ea2 EN209 позволяет (как уже было сказано выше) отслеживать изменение атмосферного давления на протяжении последних 12 или 24 часов (в зависимости от выставленного режима), запоминать минимальное и максимальное значение температуры и влажности (из когда-либо замеренных), а также подавать сигнал при достижении температуры заранее заданных пороговых значений.
Большим плюсом Ea2 EN209 можно считать возможность метеостанции получать и воспроизводить на своём экране данные со внешних датчиков, связанных с метеостанцией разными радиоканалами (числом до трёх). Многоканальная синхронизация позволяет охватить с помощью одного головного устройства сразу несколько точек в доме или на приусадебном участке, температурный режим в которых кажется пользователю значимым. При этом, для большего контроля к метеостанции можно подключать не только комплектный термометр Ea2 BL999 или аналогичные ему устройства, а, например, датчик для сауны Ea2 SR111.
Автономный датчик температуры и влажности Ea2 SR111
Датчик для сауны Ea2 SR111 лишь формально специализирован для контроля за качеством жара и пара. На самом деле, возможности модели заметно шире, в чём мы убедились, получив устройство на тестирование.
Ea2 SR111 поставляется в небольшой картонной коробке, дизайном перекликающейся с упаковкой метеостанции Ea2 EN209. Внутри неё находится сам датчик, руководство по эксплуатации и выносной дополнительный термосенсор на шнуре. Он подключается в специальный разъём на правой грани корпуса основного устройства и позволяет контролировать температуру в жарких помещениях.
Сравнивая Ea2 SR111 и идущий в комплекте с метеостанцией датчик Ea2 BL999, необходимо сразу отметить наличие у Ea2 SR111 жидкокристаллического дисплея, благодаря которому устройство можно использовать автономно. У Ea2 BL999 никаких дисплеев и индикаторов нет – поэтому его данные можно считывать лишь с экрана метеостанции.
Как и Ea2 BL999, Ea2 SR111 в качестве элементов питания использует батареи типоразмера ААА в количестве двух штук. Устройство передаёт данные на частоте 433 мегагерца, позволяя выбрать для этого переключателем один из трёх каналов. Также датчик умеет работать со шкалами как Цельсия, так и Фаренгейта, переключаясь между ними специальной кнопкой.
Основные технические отличия между Ea2 SR111 и комплектным Ea2 BL999 связаны с наличием у автономного датчика выносного сенсора температуры, подключаемого к устройству с помощью достаточно длинного (1,2 метра) провода. Благодаря ему Ea2 SR111 может измерять влажность в одном помещении – где размещён основной блок, а температуру – в другом, где находится проводной термосенсор.
Диапазон измерений температуры Ea2 SR111 находится в пределах от -50 до +140 градусов Цельсия. При температурах выше 60-70 градусов для измерения рекомендуется использовать выносной проводной термосенсор во избежание оплавления корпуса головного устройства. Диапазон влажности оценивается датчиком в пределах от 20 до 99 процентов. Ещё раз особо отметим, что соответствующий сенсор находится лишь в корпусе основного устройства и отсутствует в выносной термопаре.
Говоря о сценариях использования Ea2 SR111, мы должны говорить о двух их вариантах: в качестве автономного устройства или как часть комплекса, завязанного на метеостанцию Ea2 EN209.
В первом случае Ea2 SR111 отлично подойдёт для контроля за температурой и влажностью в сауне, хамаме или русской бане. В последнем случае головное устройство лучше разместить в предбаннике, а термопару на проводе закрепить непосредственно в парилке.
Также раздельно можно разместить Ea2 SR111, если вы собираетесь использовать устройство в качестве штатного наружного градусника. Выведя датчик термопары через окно, вы одновременно будете видеть, насколько тепло или холодно сегодня на улице, и знать о температуре и достаточном увлажнении воздуха внутри жилого помещения.
Синхронизируя Ea2 SR111 с метеостанцией Ea2 EN209, в самом очевидном сценарии использования человек получает возможность узнавать результаты замера температуры и влажности в сауне или бане, не выходя из дома – непосредственно на дисплее метеостанции. Как утверждает производитель, расстояние стабильной передачи данных от датчиков (Ea2 SR111 или Ea2 BL999) составляет 30 метров. Наши практические тесты подтвердили это, выяснив, что радиосигнал отлично проходит сквозь преграды в виде деревянных стен и металлических конструкций.
Менее очевидный, но доказавший свою практическую эффективность, сценарий использования пары Ea2 EN209 и Ea2 SR111 – контроль из приусадебного домика влажности и температуры в теплицах. Не секрет, что большая часть территории нашей страны своим климатом заставляет садоводов прибегать к услугам парников и теплиц. Сохранять в них идеальный для растений баланс тепла бывает непросто. Но датчик Ea2 SR111 с этим прекрасно справляется. Неоценимую помощь ему тут оказывает метеостанция Ea2 EN209. Получая по радио данные Ea2 SR111, она позволяет настроить включение звукового оповещения – если температура в теплице выйдет за рамки необходимого диапазона.
Итоговое тестирование
Напоследок следует сказать о точности измерений, показанных метеостанцией Ea2 EN209 и датчиками Ea2 BL999 и Ea2 SR111. Как уже было сказано выше, в значительной степени она связана с правильностью установки устройств, которые не следует размещать под прямыми лучами солнца, рядом с источниками повышенной влажности и так далее…
При соблюдении всех условий, и метеостанция, и датчики показывали температуру, полностью совпадающую с той, что демонстрировал эталонной градусник.
Столь же точны были и погодные предсказания метеостанции, уверенно показывающей грядущие изменения в природе на ближайшие сутки.
Источник
Чтение данных датчика погоды BL999 с помощью Arduino
- датчик BL999 от комнатной метеостанции (вроде такой);
- плата Arduino Nano или любой другой модификации;
- радиоприёмник XY-MK-5V;
- соединительные провода (рекомендую вот такой набор);
- макетная плата (breadboard);
- компьютер с установленной Arduino IDE или другой средой разработки.
1 Описание метеодатчика BL999 и его информационного протокола
Датчик BL999 – это недорогой датчик температуры и влажности, который используется в комплекте с домашними метеостанциями. Датчик может работать как в комнате, так и на улице. Периодически он передаёт метеостанции по радиоканалу данные измерений и отчёт о своём состоянии. Подобные погодные датчики сейчас очень распространены. Рассматриваемый сенсор BL999 имеет следующие характеристики:
- диапазон измеряемых температур: −40…+50°C;
- диапазон измеряемой влажности: 1…99%;
- период измерений: 30 сек;
- рабочая радиочастота: 433,325 МГц;
- число каналов: 3;
- рабочее расстояние: до 30 м на открытых пространствах.
К одной метеостанции можно подключить до трёх таких датчиков. Номер (канал) датчика устанавливается переключателем, который расположен под съёмной крышкой батарейного отсека (трёхпозиционная кнопка SW1 на фото ниже). Фактически, канал здесь – это просто признак в структуре пакета данных датчика, никакого физического смысла (например, изменение рабочей частоты) он в себе не несёт.
Чтобы лучше понять протокол датчика, с помощью которого он отправляет данные метеостанции, можно попытаться воспользоваться радиоприёмником и разбираться с тем, что приходит из радиоэфира. Но на популярной частоте 433 МГц работает множество бытовых устройств, и приёмник будет ловить большое количество посторонних шумов. Этот факт не позволит нам спокойно изучить протокол датчика.
Внешний вид и внутренности метеодатчика BL999
Поэтому давайте для начала разберём датчик и подключимся осциллографом прямо к выходу, который генерирует цифровой сигнал непосредственно перед отправкой на передающую антенну. Землю можно найти возле «минуса» батареи в отсеке для батарей, а сигнальный провод подключим к верхнему выводу платы, как на фотографии. Для быстрого теста я подключил миниатюрный осциллограф DS203. На осциллограмме видно, что датчик генерирует какой-то сигнал. Далее этот сигнал поступает на передающую антенну и излучается в пространство.
Места подключения щупа осциллографа к метеодатчику BL999
Чтобы изучить генерируемый датчиком сигнал, нужен хороший осциллограф. Данные отправляются пакетами длительностью примерно 500…600 мс. Вот как выглядит типичный пакет с датчика BL999 на экране осциллографа.
Изучение сигнала метеодатчика BL999 Типичный пакет метеодатчика BL999 на экране осциллографа
Снимок экрана для этого пакета. Здесь красным цветом показан аналоговый сигнал, а голубым – оцифрованный сигнал, без присущих аналоговым сигналам искажений.
Осциллограмма типичного пакета метеодатчика BL999
Вот представлены 4 оцифрованных информационных пакета, сгенерированных датчиком. Эти пакеты пришли друг за другом с разницей в 30 секунд. Именно с такой периодичностью датчик BL999 отсылает свои данные.
Информационные пакеты метеодатчика BL999
Посмотрим на этот сигнал. С первого взгляда бросается в глаза, что:
- данные передаются пакетами;
- каждый пакет начинается с короткого импульса, за которым следует относительно длительный промежуток времени с нулевым уровнем;
- в каждом пакете присутствует 4 группы импульсов, разделённых такими же длительными паузами;
- в каждой группе содержатся импульсы, следующие друг за другом через короткие или вдвое более длинные паузы;
- всего имеются 3 вида промежутков между импульсами: самые короткие (условно назовём их типа A), вдвое более длинные (B) и вчетверо более длинные (C);
- в каждой группе ровно по 37 импульсов;
- все 4 группы каждого пакета одинаковые (содержат повторяющиеся последовательности импульсов).
Очевидно, что в данном случае применяется некое временное кодирование (скорее всего, фазо-импульсное или частотно-импульсное), когда значимая информация скрыта в длительности пауз между импульсами. В случае датчика BL999 короткая пауза между соседними импульсами (A) означает логический нуль, а длинная (B) – логическую единицу. Изучим сигнал более детально.
Длительность пауз логических нулей и логических единиц | Длительность между первым импульсом и данными, а также между группами |
Длительность всех импульсов одинакова (с допуском на погрешность) | Единичный импульс при большем увеличении масштаба по времени |
Как видно, в сигнале присутствует ряд коротких импульсов. Длительность всех импульсов одинакова и равна примерно 486 мкс. Длительность коротких промежутков (логический «0») равна примерно 2,4 мс, длительность средних промежутков (логическая «1») равна примерно 4,5 мс. Продолжительность самых длинных промежутков – около 9,4 мс.
Как уже было упомянуто, в пакете присутствуют 4 группы по 37 импульсов. Этими импульсами закодированы 36 битов, которые можно условно разбить на участки по 9 полубайтов. Следующий рисунок показывает, что закодировано в этих 36-ти битах:
Назначение битов информационного пакета метеодатчика BL999 в одной группе
Полубайт также называют «ниббл» (англ. nibble) или тетрада. Это единица измерения информации, содержащая четыре бита.
Давайте разберём реальный пример, и на его основе расшифруем закодированные в нём данные. Возьмём одну группу из 36-ти битов из вот такого пакета, пришедшего от датчика BL999:
Пример информационного пакета метеодатчика BL999
В пакете, согласно схеме, присутствуют следующие части:
Обозначение | Номера битов | Описание | Значение из примера |
---|---|---|---|
ID | 35…32, 29…28 | Это идентификатор датчика. Он задаётся произвольным образом и изменяется при каждом включении. | 0101_11 = 23 |
Chan | 31…30 | Номер канала датчика. Кодируется обычным двоичным кодом: «01» – 1, «10» – 2, «11» – 3. | 01 = 1 ый канал |
Bat | 27 | Уровень заряда батареи: «0» – норма, «1» – низкий заряд. | 0 = норма |
? | 26…24 | Нет данных. | 100 |
Temperature | 23…12 | Данные температуры. Число записано в обратном порядке и умножено на 10. Отрицательные температуры, кроме этого, хранятся в дополнительном коде (*). | 0111_1111_0000 обращение 0000_1111_1110 = 254 деление на 10 25,4°C |
Humidity | 11…4 | Влажность. Записывается как результат вычитания из 100, в дополнительном коде (*). | 0000_1101 обращение 1011_0000 инверсия битов 0100_1111=79 +1 =80 вычитание из 100% 100 − 80 = 20% |
Checksum | 3…0 | Контрольная сумма. Вычисляется как сумма 8-ми полубайтов, записанных в обратном порядке. От получившегося числа берутся 4 младших разряда и также записываются в обратном порядке. | 0101 0111 0100 0111 1111 0000 0000 1101 0100 1010 + 1110 + 0010 + 1110 + 1111 + 0 + 0 + 1011 = 100_0010 обращаем 0010 0100 |
(*) Дополнительный код числа – это специальный вид представления чисел, который часто используется в вычислительной технике. Онлайн-калькулятор и хорошая статья на эту тему здесь.
Каждая группа из 36 битов повторяется в пакете по 4 раза, что сделано для повышения надёжности приёма. Если в каком-то из четырёх дублей из-за помех в радиолинии контрольная сумма не сошлась, возьмём тот из четырёх, где с контрольной суммой всё в порядке.
2 Приём данных с метеодатчика BL999при помощи Arduino
Для того чтобы мы могли принимать данные с метеодатчика, нам нужен радиоприёмник, работающий на частоте 433 МГц. Прекрасно подойдёт копеечный модуль XY-MK-5V, который работает как раз на этой частоте. Мы уже не раз использовали его в своих проектах. Подключается он элементарно: вывод Data – к любому цифровому выводу Arduino, питание – к +5V Arduino, и земля к земле, соответственно.
Приёмник XY-MK-5V и Arduino Nano принимают сигнал датчика BL999
Существует отличная библиотека для Arduino, которая позволяет получать по радиоканалу и декодировать данные датчика BL999. Скачаем библиотеку, распакуем в папку libraries, откроем пример из библиотеки и загрузим в память Arduino. Если поблизости есть датчик BL999, то в мониторе последовательного порта Arduino IDE мы должны увидеть следующее:
Вывод скетча для метеодатчика BL999 в Arduino IDE
Не забудьте настроить монитор порта на скорость 115200 бит/с: именно такая скорость используется автором библиотеки для передачи данных от Arduino.
Источник