Arduino и китайские датчики метеостанций

Как известно, что на Arduino ни делай — получится метеостанция.

Вроде бросил я заниматься поделками на Ардуино, но с давних времен были у меня не побежденные датчики от китайской метеостанции. Датчики не совсем обычные. Обычные — работают на частоте 433МГц, и шлют данные в модуляции OOK (https://habr.com/ru/post/426235/).

А эти — работают на частоте 868МГц и как оказалось — модуляция FSK.

a2bbaeff7ae06b1e4e09e45d9e2cdcd8.png

Полоса 868 вроде как меньше загажена, и частотная модуляция вроде как меньше чувствительна к помехам. Датчики лежали без дела, и сам факт того что у меня не получилось их понять меня несколько раздражал. И на новогодних карантинных каникулах я решил их понять.

Но получить данные с этих датчиков оказалось для меня гораздо сложнее, чем с остальных. Одна из причин — единая микросхема для логики и для радиосвязи в передатчике. Если в остальных метеодатчиках можно было подключиться логическим анализатором к входу данных блока передатчика, то тут — я не смог это сделать. Другая причина — для FSK надо учесть значительно больше параметров чем для OOK. И ширпотребные приемники этот метеодатчик вообще не видят.

Для приема сигнала метеодатчика я использовал трансмиттер cc1101, хотя можно обойтись его аналогом — только приемником cc113L.

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

Но я победил!

В итоге мой «Шлюз для метеодатчиков 433 мГц в MQTT/UDP» был переименован в «Шлюз для метеодатчиков в MQTT/UDP» и стал поддерживать в том числе и эти датчики. Вот такой девайс получился:

4566e7e797cde7f342b5254cd852ee26.png

По характеристикам эти метеодатчики — самые лучшие из имеющихся у меня (см. https://habr.com/ru/post/426235/).

Преимущества:

  • Частота 868МГц

  • Модуляция FSK

  • Длительность сигнала — два пакета менее чем по 10 мс каждый. При столь быстрой передаче влияние помех уменьшается.

  • Постоянный (не меняющийся при смене батарейки) ID устройства

  • Есть преамбула и CRC

В итоге при получении данных с этих метеодатчиков данные приходят практически всегда (при нормальной дальности). При не нормальной еще не испытывал.

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

Халява, сэр! https://github.com/valerivp/wth-mqtt-udp-gate

© Habrahabr.ru