Arduino и китайские датчики метеостанций
Как известно, что на Arduino не делай – получится метеостанция 🙂
Вроде бросил я заниматься поделками на Ардуино, но с давних времен были у меня не побежденные датчики от китайской метеостанции. Датчики не совсем обычные. Обычные – работают на частоте 433МГц, и шлют данные в модуляции OOK (https://habr.com/ru/post/426235/).
А эти – работают на частоте 868МГц и как оказалось – модуляция FSK.
Полоса 868 вроде как меньше загажена, и фазовая модуляция вроде как меньше чувствительна к помехам. Датчики лежали без дела, и сам факт того что у меня не получилось их понять меня несколько раздражал. И на новогодних карантинных каникулах я решил их понять.
Но получить данные с этих датчиков оказалось для меня гораздо сложнее, чем с остальных. Одна из причин – единая микросхема для логики и для радиосвязи в передатчике. Если в остальных метеодатчиках можно было подключиться логическим анализатором к входу данных блока передатчика, то тут – я не смог это сделать. Другая причина – для FSK надо учесть значительно больше параметров чем для OOK. И ширпотребные приемники этот метеодатчик вообще не видят.
Для приема сигнала метеодатчика я использовал трансмитер cc1101, хотя можно обойтись его аналогом – только приемником cc113L.
Сложно описать все мои попытки поймать сигнал этого метеодатчика. Буквально пару недель назад я вообще мало понимал отличия модуляций радиосигналов вообще и цифровых в частности.
Но я победил!
В итоге мой “Шлюз для метеодатчиков 433мГц в MQTT/UDP” был переименован в “Шлюз для метеодатчиков в MQTT/UDP” и стал поддерживать в том числе и эти датчики. Вот такой девайс получился:
По характеристикам эти метеодатчики – самые лучшие из имеющихся у меня (см. https://habr.com/ru/post/426235/ ).
Преимущества:
-
Частота 868МГц
-
Модуляция FSK
-
Длительность сигнала – два пакета менее чем по 10мс каждый. При столь быстрой передаче влияние помех уменьшается.
-
Постоянный (не меняющийся при смене батарейки) ID устройства
-
Есть преамбула и CRC
В итоге при получении данных с этих метеодатчиков данные приходят практически всегда (при нормальной дальности). При не нормальной еще не испытывал.
Данная разработка может пригодиться всем создателям метеостанций и для реализаций всяческих климатических установок, в которых требуются автономные датчики температуры и влажности.
Халява, сэр! https://github.com/valerivp/wth-mqtt-udp-gate