После того, как удалось разобраться с датчиком Explore Scientific ST1004, меня заинтересовал его ближайший родственник - ST1005. При той же цене он показался более привлекательным - у него, в отличие от собрата, имеется дисплей. По заявлению производителя он совместим с другой серией погодных станций - RPW3009000000.

Итак что представляет из себя ST1005. В отличие от ST1004 тут всё сделано заметно лучше. Да, датчик точно так же идёт в совершенно неприглядной коробке, но он завёрнут в мешочек из пенополиэтилена - всё же копеечная, но забота о потребителе.

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

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

А вот то, что датчик передаёт в эфир, выглядит весьма печально... и странно. Как и в ST1004 здесь используется частотно-импульсное кодирование, соотношение такт/бит здесь иное: 1/4 для нуля и 1/7 для единицы. Необычно то, что тактовая частота здесь находится в районе 1470,6Гц - что не кратно частоте установленного в схеме часового кварца - 32768Гц. Частота передачи данных плавает, причём не только с изменением температуры и напряжения батареи, но и зависит от режима работы: при нажатии кнопку "TX" она отличается от частоты в режиме передачи данных по таймеру. Почему так происходит, остаётся только догадываться. Но это ещё не всё! Отсутствие у пакета передачи данных традиционной для радиопередачи преамбулы - это ещё полбеды. Вместо преамбулы здесь используются импульсы нестандартной для протокола длины с некратными длительности тактов передачи интервалами.

И все эти параметры точно так же меняются при изменении температуры датчика и напряжения питания. Отловить такой "плавающий" пакет в эфире не намного сложнее, чем обычный, но возможностей восстановить его при наличии помех значительно меньше. На эту бочку дёгтя всё же есть ложка мёда - в пакете присутствует контрольная сумма. Считается она тоже как-то странно. Это не CRC, а обычное сложение тетрад, но всё же она есть.А это хоть какие-то данные для проверки полученного пакета.

Вещание идёт сериями пакетов с интервалами 93c, 97c и 101c для 1-ого, 2-ого и 3-его канала соответственно. Содержание каждого из пакетов данных следующее:

  • Байт (8-и битовое поле) идентификатора . Изменяется после каждого сброса устройства,

  • Тетрада (4-ех битовое поле), содержащая флаг разряженной батареи (&8h), флага передачи данных по кнопке "ТХ" (&4h) и номер канала (&2h + 1),

  • Трёхтетрадное (12-и битовое) знаковое число, разделив которое на 10 получаем данные о температуре с точностью до десятой доли градуса,

  • 7-и битовое поле, содержащее целочисленное значение влажности,

  • 6-и битное поле контрольной суммы, рассчитываемое как сумма восьми первых восьми тетрад пакета, последняя из которых логически помножена на Еh.

Например для пакета

IIIIIIII OIIO OOOOOOIIOIOO IOIIIII OOOIOO

получаем следующие значения:

1.IIIIIIII = FFh - ID пакета,

2.OIIO = 6h:

6h & 8h = 0 - батарея заряжена,

6h & 4h = 4 - передача по кнопке "ТХ",

6h & 2h + 1 = 3 - канал передачи,

3.OOOOOOIIOIOO = 34h - Температура +5.2C,

4.IOIIIII = 5Fh - влажность 95%

5.OOOIOO = 4h- контрольная сумма, рассчитанная следующим образом:

IIII + IIII + OIIO + OOOO + OOII + OIOO + IOII + IIIO = OOOIOO = 4h

Если рассматривать ST1005 как отдельное устройство для сбора метеоинформации, то его можно описать одним словом - оно странное. Неплохое "железо" в совокупности с необычным, плохо восстанавливаемым в условиях помех протоколом передачи данных делают из датчика прежде всего цифровой термометр с дисплеем, а уже только потом - устройство в системе умного дома или домашней метеостанции но с небольшим радиусом вещания. У меня в итоге примерно так и вышло: после добавления поддержки протокола в библиотеку для сбора данных с беспроводных метеодатчиков, ST1005 поселился в неотапливаемой кладовке, совсем недалеко от базового блока домашней метеостанции.

Комментарии (2)


  1. Javian
    15.09.2021 09:51

    Читаю третью статью и не пойму какой приемник используется для "Все датчики вещают на несущей частоте 433Мгц".


    1. invandy Автор
      15.09.2021 11:11

      Да в принципе любой ООК приёмник на 433Мгц, даже самый дешёвый с Али способен принять от них сигнал