invandy / Oregon_NR

Arduino library for Oregon Scientific and Explore Scientific wireless sensors decode and simulate
Other
31 stars 21 forks source link

This Arduino code is for receiving and transmitting data in Oregon Scientific RF protocol version 2.1 and 3.0. and Explore Scientific weather station protocol also
The folowed sensors data format are supported including calculation of CRC8:

Receive and emulate:

  • THGN132N (THGN122N, THGN123N, THGR122N, THGR228N, THGR238N, THGR268),
  • RTGN318 (RTGN130),
  • THGR810 (THGN800, THGN801, THGR800, THWR800, THGR221(?), THGR511(?)),
  • BTHGN129,
  • BTHR968.
  • Receive only:

  • THN132N (THR238N, THRN122, THN122, THWR288N, THR268),
  • RTHN318 (RTHR328N, RTHN129),
  • THGN500,
  • THN800,
  • WGR800,
  • UVN800,
  • PCR800,
  • ST1004,
  • ST1005.


  • Aslo supported self-developed sensors. Please contact author for additional infromation.


    Данная библиотека Ардуино предназначена для приема и передачи данных в формате беспроводного протокола Oregon Scientific v2.1 и v3.0 а также данных в формате метеостанций Explore Scientific

    Поддерживается формат следующих датчиков, включая рассчёт CRC8.

    Приём и эмуляция:

  • THGN132N (THGN122N, THGN123N, THGR122N, THGR228N, THGR238N, THGR268),
  • RTGN318 (RTGN130),
  • THGR810 (THGN800, THGN801, THGR800, THWR800, THGR221(?), THGR511(?)),
  • BTHGN129,
  • BTHR968.

  • Только приём:

  • THN132N (THR238N, THRN122, THN122, THWR288N, THR268),
  • RTHN318 (RTHR328N, RTHN129),
  • THGN500,
  • THN800,
  • WGR800,
  • UVN800,
  • PCR800,
  • ST1004,
  • ST1005.

  • Код приёмника протестирован на оригинальных датчиках THGN132N, THN132N, WGR800 и ST1004.

    Код передатчика протетстирована на погодных станциях BAR206, BAR208 эмуляцией сигнала THGN132N
    Для успешного приёма погодной станцией сигнала необходимо соблюдать следующие условия при передаче данных:
    Влажность 2-98%
    Температура -50...+70С
    При создании энергосберегающих датчиков с режимом "глубокого сна" нужно учесть, что интервалы между пакетами для успешного приёма погодной станцией должны отличаться от номинальных не более чем на +-1сек. Например для THGN132:

    Канал 1 - 39 (38 - 40) c
    Канал 2 - 41 (40 - 42) c
    Канал 3 - 43 (42 - 44) c


    Если пришёл пакет с корректной CRC и контрольной суммой, но значение температуры и влажности некорректные, например +3.0С переданы не как 0300, а A200 то датчик может быть заблокирован до смены ID или до сброса погодной станциии.
    Блокировка навсегда возможна и при неправильном сочетании номера канала и ID датчика. Этот вопрос пока до конца не изучен
    br> Передача сигналов в формате RTGN318 и THGR810 до конца не протестирована. Поэтому возможны проблемы с приёмом этих сигналов погодной станцией
    на отдельных каналах
    Полное описание протокола: https://habr.com/ru/post/525446/

    Новое в версии
    20.9.26

  • Добавлена поддержка THN800, PCR800 (последний пока без CRC8),
  • Добавлен CRC8 WGR800,
  • Исправлен CRC8 RTGN318,
  • Улучшены библиотека передатчика и пример ретранслятора,
  • ДОбавлена возможность сконфигурировать библиотеку под приём длинных пакетов.
  • 20.9.27

  • Добавлен CRC8 PCR800.
  • 20.9.28

  • Исправлена ошибка, приводящая к нестабильной работе при больших длинах пакета.
  • 20.9.29

  • Исправлен CRC8 THGR810 в приёмнике и передатчики,
  • Добавлен пример с поиском CRC8.
  • 20.10.6

  • Добавлена поддержка THGN500,
  • Возможность установки размера буферов приёма и передачи в конструкторе.
  • 20.10.7

  • Исправлены ошибки в подсчёте CRC8 третьей версии протокола.
  • 20.10.8

  • Добавлена поддержка RTHN318,
  • 20.10.10

  • Добавлена поддержка BTHGN129 и BTHR968
  • 20.10.12

  • Улучшен приём на ESP
  • Исправлена расшифровка данных PCR800 и UVN800
  • 20.11.28

  • Исправлена ошибка с некорректным определением версии пакета
  • Улучшен тайминг передатчика
  • 21.01.28

  • ДОбавлен эмулятор передатчиков BTHR968 и BTHGN129
  • Исправлена ошибка при рассчёте давления для этих же датчиков
  • 21.08.31

  • Добавлена поддержка датчика Explore Scientific ST1004
  • Исправлена ошибка при работе с длинными пакетами данных
  • 21.09.14

  • Добавлена поддержка датчика Explore Scientific ST1005
  • Изменён метод поиска пакетов в эфире