Приветствую!
Хочу декодировать сигнал от метеодатчика Oregon Scientific. Он транслирует данные на частоте 433MHz с модуляцией включением/выключением (OOK) и кодированием манчестерским кодом.
Из железа у меня есть WeMos D1 mini pro и декодер RX-4M50RR30SF. Подключил я декодер по даташиту, завел на вход микроконтроллера, закачал программку небольшую:
Начинаю слушать... В эфире какой-то шум идет бесконечный. Ставлю фильтр помех (для декодера можно пустить одну из ног на землю через резистор) - получаю кое-какие данные. Но вот что с ними делать - ума не приложу. Пример данных под спойлером.
Я так понимаю, что проще всего взять каждую вторую цифру и это будет нужный мне бит? Или я не прав? Ссылки на C-код или ардуино-код давать не надо, у меня используется луа. Лучше подскажите, пожалуйста, с алгоритмом.
Хочу декодировать сигнал от метеодатчика Oregon Scientific. Он транслирует данные на частоте 433MHz с модуляцией включением/выключением (OOK) и кодированием манчестерским кодом.
Из железа у меня есть WeMos D1 mini pro и декодер RX-4M50RR30SF. Подключил я декодер по даташиту, завел на вход микроконтроллера, закачал программку небольшую:
Код:
do
-- use pin 1 as the input pulse width counter
local pin, pulse1, du, now, trig = 1, 0, 0, tmr.now, gpio.trig
gpio.mode(pin, gpio.INT)
local function pin1cb(level)
local pulse2 = now()
print(level, pulse2 - pulse1)
pulse1 = pulse2
trig(pin, "both")
end
trig(pin, "both", pin1cb)
end
1 828637
0 2115
0 2058
0 2055
0 2057
0 2055
0 2058
0 2055
0 2058
0 2061
0 2051
1 2142
1 2136
1 2070
1 2058
1 2056
0 2059
1 2055
1 2058
0 2056
0 2057
1 2056
1 2058
1 2069
0 2093
1 2066
0 2058
1 2056
0 2058
1 2055
0 2059
0 2055
0 2057
0 2055
0 2058
1 2069
1 2058
1 2057
1 2058
0 2056
1 2058
0 2056
1 2058
0 2056
0 2058
1 2055
1 2058
1 2070
0 2058
0 2055
0 2058
1 2055
0 2059
0 2055
1 2057
1 2056
0 2059
1 2055
1 2058
0 2057
1 2146
1 2139
1 2072
0 2059
0 2058
0 2055
1 2058
0 2056
1 2057
0 2057
1 2057
0 2056
1 2070
1 2090
1 2070
1 2056
0 2059
1 2055
0 2058
0 2056
0 2057
1 2055
1 2059
0 2056
0 2077
0 2055
1 2058
0 2056
1 2057
1 2056
0 2058
0 2055
0 2051
0 2115
0 2058
0 2055
0 2057
0 2055
0 2058
0 2055
0 2058
0 2061
0 2051
1 2142
1 2136
1 2070
1 2058
1 2056
0 2059
1 2055
1 2058
0 2056
0 2057
1 2056
1 2058
1 2069
0 2093
1 2066
0 2058
1 2056
0 2058
1 2055
0 2059
0 2055
0 2057
0 2055
0 2058
1 2069
1 2058
1 2057
1 2058
0 2056
1 2058
0 2056
1 2058
0 2056
0 2058
1 2055
1 2058
1 2070
0 2058
0 2055
0 2058
1 2055
0 2059
0 2055
1 2057
1 2056
0 2059
1 2055
1 2058
0 2057
1 2146
1 2139
1 2072
0 2059
0 2058
0 2055
1 2058
0 2056
1 2057
0 2057
1 2057
0 2056
1 2070
1 2090
1 2070
1 2056
0 2059
1 2055
0 2058
0 2056
0 2057
1 2055
1 2059
0 2056
0 2077
0 2055
1 2058
0 2056
1 2057
1 2056
0 2058
0 2055
0 2051