Thermo sensor oregon что это
Обзор погодной станции с Bluetooth Oregon Scientific BAR218HG.
Доброго времени суток, уважаемые читатели!
Сегодня я рад представить вам обзор погодной станции BAR218HG от компании Oregon Scientific. Устройство это, надо отметить, весьма необычное, ведь помимо своей основной функции, как то отображение текущих данных о погоде и ее прогнозирование, оно имеет модуль Bluetooth, что позволяет просматривать вышеуказанные данные, а также статистику за несколько дней, на экране смартфона или планшета.
Ну, обо всем по порядку.
О КОМПАНИИ
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
Модель: Oregon Scientific BAR218HG;
Тип: погодная станция.
Основные функции:
— измерение температуры в помещении и на улице;
— измерение влажности в помещении и на улице;
— журнал изменений параметров за 7 дней;
— приложение для смартфонов и планшетов.
Основное устройство:
— количество каналов (датчиков) возможных к подключению: 5;
— диапазон измерения влажности: от 25 % до 95 % с шагом 1 %;
— прогноз погоды на 12-24 часов;
— отображение прогноза погоды: осадки, переменная облачность, облачность, ясно;
— индикаторы тенденций изменения атмосферного давления, температуры и влажности (стабильно, растет, падает);
— отображение фаз луны;
— отображение минимальных/максимальных значений температуры и влажности;
— предупреждающие сообщения – жарко, туман, заморозки, шторм, ветер;
Беспроводной датчик:
— диапазон измерения влажности: от 25 % до 95 % с шагом 1 %;
— частота передачи радиосигнала: 433 МГц;
— дальность передачи радиосигнала: до 30 м;
— цикл определения температуры: около 40 секунд.
Отмечу, что погодная станция Oregon Scientific BAR218HG имеет стандартный для большинства подобных устройств набор характеристик, единственно, что ее выделяет на общем фоне – это наличие Bluetooth модуля.
УПАКОВКА И КОМПЛЕКТАЦИЯ
Упакована погодная станция Oregon Scientific BAR218HG в довольно объемную картонную коробку, выполненную в светлой цветовой гамме. На упаковку нанесено изображение самого устройства, его особенности, технические характеристики на десяти языках, дата изготовления, а также указана совместимость с мобильными устройствами. К сожалению большая часть полезной информации нанесена на упаковку на английском языке.
Внутри упаковки скрывается комплект, состоящий из самой погодной станции, беспроводного внешнего датчика, четырех батареек размера АА, инструкции и гарантийного талона.
Не могу не отметить тот факт, что инструкция содержит исчерпывающую информацию о функциональных возможностях и настройке погодной станции Oregon Scientific BAR218HG в том числе и на русском языке.
ВНИШНИЙ ВИД И ФУКНЦИОНАЛЬНЫЕ ЭЛЕМЕНТЫ
Большую часть передней панели занимает монохромный дисплей, на который выводится вся информация, как с внешнего датчика, так и с датчиков самой станции. Дисплей разделен на секции, благодаря чему удобно просматривать и воспринимать выводимую на него информацию.
Под дисплеем расположены пять кнопок, с помощью которых производится переключение каналов, режимов, настройка станции и включение подсветки.
Ниже более подробно рассмотрю отображаемые на дисплее элементы, а также органы управления.
1 – индикатор, показывающий номер канала и уровень принимаемого от внешнего датчика сигнала.
2 – индикатор низкого заряда элемента питания внешнего датчика;
3 – пиктограмма прогноза погоды и тенденция изменения атмосферного давления.
4 – предупреждающие погодные сообщения: высокая температура, ураган, шторм, туман, заморозки.
5 – температура внутри помещения (текущая, минимальная, максимальная) с тенденцией изменения.
6 – индикатор соединения по протоколу Bluetooth. Данный индикатор горит постоянно если к устройству подключен смартфон или планшет.
8 – индикатор заморозков.
9 – кнопка MODE. Для настройки параметров станции необходимо нажать и в течении нескольких секунд удерживать данную кнопку, для смены настраиваемого параметра необходимо однократно нажать кнопку. Кроме того, кнопка позволяет менять отображаемую на дисплее информацию – время, день недели, дата.
10 – кнопка MEM. С ее помощью имеется возможность просмотра минимальных и максимальных значений температуры и влажности как внутри помещения, так и снаружи.
11 – кнопка LIGHT. Дисплей Oregon Scientific BAR218HG оборудован подсветкой, которая включается при нажатии на данную кнопку. Выключается подсветка автоматически через 5 секунд после нажатия на кнопку.
12 – кнопки увеличения и уменьшения значений параметров при настройке. Также однократное нажатие на кнопку ВВЕРХ переключает канал дистанционного датчика, ее удержание в течение нескольких секунд включает Bluetooth.
13 – область отображения времени, даты, дня недели, секунд, формата часов AM/PM. День недели отображается на английском языке.
14 – влажность внутри помещения (текущая, минимальная, максимальная) и тенденция ее изменения.
15 – отображение фазы луны.
16 – влажность, измеряемая внешним датчиком, (текущая, минимальная, максимальная) и тенденция ее изменения.
17 – температура, измеряемая внешним датчиком, (текущая, минимальная, максимальная) и тенденция ее изменения.
На задней панели расположился батарейный блок, предусматривающий установку трех элементов питания размера АА. Под крышкой батарейного блока скрыты кнопка RESET, а также переключатель отображения температуры °С/°F.
Внешний беспроводной датчик имеет маркировку THGN132N, изготовлен он из белого матового пластика, габариты составляют 95x 55×22 мм, вес 62 грамма. Отмечу, что корпус внешнего датчика достаточно маркий.
На лицевой стороне датчика расположен светодиодный индикатор, мигающий красным светом в момент отправки данных на базовый блок.
С тыльной стороны датчика расположено отверстия для крепления устройства на стене и батарейный отсек, предусматривающий установку одного элемента питания размера АА. Под крышкой батарейного отсека расположена кнопка сброса и переключатель канала.
УСТРОЙСТВО В РАБОТЕ
Настало время проверить работу погодной станции Oregon Scientific BAR218HG. Для начала необходимо установить элементы питания в базовый блок и беспроводной датчик, после чего провести настройку базового блока. Для настройки необходимо воспользоваться кнопкой MODE и стрелками ВВЕРХ и ВНИЗ. Процесс настройки чрезвычайно прост и занимает не более пары минут.
После того как базовый блок свяжется с датчиком, можно приступать к монтажу последнего. Производитель рекомендует монтировать датчик на расстоянии не более 30 метров от основного блока. Также не рекомендуется попадание на датчик прямых солнечных лучей и воды. Т.к. испытания я проводил в офисе, то закрепил датчик на двухстронной скотч между москитной сеткой и стеклопакетом.
После установки необходимо подождать несколько минут, для того, что бы данные на станции обновились. На этом процесс настройки и установки завершен.
Понаблюдав за поведением погодной станции в течение нескольких дней, я сделал вывод, что температурные данные, получаемые с беспроводного датчика, приблизительно равны тому, что обещают синоптики, что не может не радовать. Что же касается предсказывания осадков, то здесь так же не возникло проблем, данные, прогнозируемые станцией на ближайшие 12 часов в большинстве случает, оказывались достоверными.
С основным функционалом Oregon Scientific BAR218HG мы вроде бы разобрались, и далее я рассмотрю дополнительную возможность погодной станции, а именно возможность передачи данных на смартфон. Для этого, как я отмечал ранее, погодная станция оборудована Bluetooth модулем. Производитель заявляет о совместимости устройства со смартфонами и планшетами под управлением iOS 5 и выше или Android 4.3 и выше.
Для того, что бы погодная станция могла передавать данные на смартфон, на последний необходимо установить программное обеспечение Weather@Home, если речь идет о андроид устройствах.
После запуска программы необходимо произвести подключение к Oregon Scientific BAR218HG, для этого на погодной станции нажимает и в течение нескольких секунд удерживаем кнопку ВВЕРХ, а на смартфона нажимаем кнопку Connect. После подключения есть возможность переименовать базу и датчики, делается это для удобства просмотра данных с нескольких датчиков, расположенных в разных местах.
В программе доступен ряд настроек, естественно выставляю метрические единицы измерения.
Главное окно программы выглядит следующим образом.
Отображается здесь дата, температура в помещении и на улице, влажность в помещении и на улице, а также уровень заряда элементов питания основного блока и беспроводного датчика.
В программе доступен просмотр температуры, влажности и давления в виде графиков, а также их минимальные и максимальные значения. Кроме того, как и заявлял производитель, имеется возможность просмотра статистики за семь дней.
Функционал конечно у программы хороший, имеется возможность просмотра всех необходимых данных и статистик.
Не могу не отметить тот факт, что программное обеспечение все-таки несколько «сыроватое», имеет место периодическое ее падение и вылет ошибок. Коннект к погодной станции при запуске программы не всегда происходит с первого раза.
ВЫВОД
Бесспорно, Oregon Scientific BAR218HG заслуживает внимания, к ее достоинствам можно отнести широкие функциональные возможности, стильный внешний вид и возможность просмотра данных на смартфоне. Свои основные функции погодная станция отрабатывает, конечно же, на все 100%, минус у нее всего один – это недоработанное программное обеспечение для смартфонов.
О декодировании протокола погодных датчиков Oregon Scientific
Лет десять назад как-то по случаю я купил простенькую погодную станцию Oregon Scientific BAR208HG. Радовала она домочадцев достаточно долго, и продолжает радовать до сих пор. Мне же со временем стало не хватать её функционала и захотелось расширить свои возможности наблюдения за погодой. И тут выяснился один неприятный факт — покупка продвинутой метеостанции от того же Oregon Scientific не давала возможности транслировать показания с её датчиков на старую станцию. Не совпадала версия протокола передачи данных. Примерно в это же время я был вовлечён в такую увлекательную авантюру, как передачу метеоданных на сервис небезызвестного Народного мониторинга. Уже на тот момент сети имелось достаточно много информации о самих погодных станциях и датчиках Oregon, о протоколе передачи данных и методах их расшифровки. Я легко нашёл и несколько готовых программ и библиотек Arduino для приёма и расшифровки сигнала. Вся эта информация показалась мне недостаточно систематизирована, местами неточна, а программы давали удовлетворительный результат только на очень коротких расстояниях. В конечном итоге я пришёл к старой истине: «Хочешь сделать что-то хорошо — сделай сам». Результатом последующих изысканий стало написание вот этой заметки, в которой хотелось бы поделиться полученными знаниями и умениями.
Версии протокола
Вся экосистема Oregon Scientific работает по общему принципу — датчики являются передатчиками, вещающими через строго определённые интервалы времени. Для минимизации коллизий при передаче интервалы вещания для всех датчиков различны, например, для моей станции датчики передают показания с интервалом 39, 41 и 43 секунды на 1-ом, 2-ом и 3-ем канале соответственно. Сами метеостанции являются в свою очередь только приёмниками. Таким образом связь является односторонней. Производитель использует несколько версий протокола передачи данных:
Все датчики вещают на несущей частоте 433Мгц. Метод модуляции — ООК (On/Off Key), т.е. банальный «вкл/выкл», как в азбуке Морзе. Во всех версиях протокола используется манчестерское кодирование с разной избыточностью и тактовой частотой 2048Гц. На рисунке ниже приведены методы кодирования информации для обоих рассматриваемых протоколов версий 2.1 и 3.0
Нужно отметить, что длины импульсов и пауз не кратны тактовой частоте. Такая несимметричность удобна при использовании OOK приёмника, когда неизвестно, прямой или инверсный у него цифровой выход. Ведь по своей сути манчестерское кодирование и является дифференциальным — не зависящим от начального значения сигнала. При такой несимметричности кода можно правильно выставить синхронизацию ещё в момент приёма первого бита. Производитель пошёл ещё дальше — параметры несимметричности кода различается для разных версий протокола. Вероятно, это сделано для уверенной идентификацией принимающей стороной версии получаемого кода ещё до его расшифровки.
Пакет данных
В обоих версиях передача данных происходит полубайтами, тетрадами или нибблами. Передача осуществляется младшим битом вперёд.
Тип датчика — поле длиной в 4 тетрады. Исходя из этого типа, принимающая сторона должна сделать вывод, известен ли ей этот тип и способна ли она обрабатывать такие пакеты. Ведь тип датчика определяет многое:
Значение поля «Канал» задаётся переключателем под крышкой батарейного отсека датчика. Значение же поля «Идентификатор» меняется каждый раз после сброса или смены батареек. Идентификатор позволяет работать нескольким датчикам и метеостанциям, каждому со своим, даже если все они находятся в непосредственной близости друг к другу. Предполагается, что перевод погодной станции в режим поиска датчика и одновременный сброс датчика с большой долей вероятности приведёт к тому, что первым придёт сигнал именно от только что сброшенного датчика. Приёмник запоминает его идентификатор, и до следующего вызова процедуры поиска будет игнорировать все аналогичные датчики, работающие на этом же канале, но с иными идентификаторами. Важно отметить, что значение идентификатора выбирается только из определённого множества, а не может быть случайным.
Поле «Батарея» размером в одну тетраду содержит несколько информационных битов:
Размер и наполнение поля «Данные» определяется типом датчика. Я собрал в сети информацию о данных и методах её расшифровки для наиболее распространённых типов:
Поле «Контрольная сумма» — первая ступень проверки целостности полученных данных. Рассчитывается она, как однобайтовая сумма всех тетрад начиная с поля типа датчика и заканчивая данными. Например, для пакета
Контрольная сумма будет равна:
5h + Dh + 5h + 3h + 1h + 4h + Dh + 0h + 1h + 5h + 1h + 0h + 9h + 5h + 0h + Ah + Ch + 1h + 3h = 5Bh
Разработчики программ при написании процедур декодирования данных часто ограничиваются проверкой только этого поля, что нередко приводит к ошибкам при раскодировании. Очевидно, что комплементарное искажение одного и того же бита двух разных тетрад в пакете может остаться незамеченным при таком методе проверки.
Поле CRC8 — вторая ступень проверки целостности данных. В обеих версиях протокола используется алгоритм CRC8-CCITT с порождающим полиномом 07h. Поскольку в пакете принят обратный порядок передачи битов от младшего к старшему, то и расчёт ведётся в таком же порядке для полей начиная от «типа» и заканчивая «данными». Различие в расчёте между версиями 2.1 и 3.0 заключается в том, что в версии 2.1 из расчёта исключено поле «ID» и стартовая сумма не всегда равна нулю а определяется типом датчика. Например, для пакета датчика THN132N (версия 2.1)
расчёт производится с начальным значением D6h для последовательности
Для пакета же датчика PCR800 (версия 3.0), имеющего вид
рассчёт производится с нулевым начальным значением для последовательности
В сводной таблице приведены основные параметры наиболее распространённых датчиков.
Практическая реализация
Хотелось бы немного рассказать о своём опыте реализации декодировщика протокола. Опробованные мной декодировщики для платформы Arduino ориентированы на работу с устойчивым, неискажённым сигналом и обеспечивают уверенный приём только на очень малых расстояниях между датчиком и приёмником. С увеличением этого расстояния микроконтроллер с внешним приёмником теряет связь намного быстрее, чем «родная» погодная станция. Подключение осциллографа к выходу приёмника даёт ответ на вопрос, почему это происходит. На осциллограммах показан сигнал от THGN132N на выходе приёмника при различном удалении датчика.
Видно, что с увеличением расстояния, когда уровень принимаемого сигнала падает, на него начинают накладываться шумы, приводящие к дроблению и сужению импульсов, появлению иных помех на цифровом выходе приёмника. Вероятно разработчики из Oregon знакомы с этой проблемой и научились её решать, а вот для Arduino я такого решения не нашёл. Посчитав наиболее правильным при обработке такого сигнала вычисление огибающей с попыткой последующего восстановления неверных блоков кода, я написал свою библиотеку, где постарался учесть всю исследованную проблематику. Надо заметить, что в моей реализации такого метода обработки кода требуется значительный объём ОЗУ. Кроме того, программа чувствительна к отклонению тактовой частоты передатчика, что случается, как оказалось, не так уж редко в силу низкого качества используемых в датчиках компонентов, в том числе и кварцевых резонаторов.