Парсер данных новой метеостанции БТА
Jun. 7th, 2022 05:33 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Наверное, больше года назад получили мы новую метеостанцию, мужики ее установили на метеовышку рядом с БТА, а спустя какое-то время подключили. И в общей системе ее не было: данные собираются овновским микрокомпьютером по RS-485 и выплевываются (в виде картинки!) в веб-морду. Попытки напрямую получить данные по сети ни к чему не привели (код обфусцирован, а парсить выхлоп wireshark'а дурных нема). Намедни проверили: подключили к ее RS-485 преобразователь - данные есть. Правда, какое-то время не могли определить, что же там за протокол (метео по идее должна была текстовый в формате IMEI выдавать, а мы видели явно модбас); запросили документацию на протокол, получили.
Сегодня воткнули в acs5 этот преобразователь, я взял первый попавшийся готовый сниффер модбаса на гитхабе, немножко его модифицировал и получил данные.
Жаль, конечно, что нельзя самому отправить посылку на считывание: в модуле метео есть маппинг регистров, чтобы за один присест можно было все данные считать, а не отправлять уйму запросов на чтение одного регистра. Но, раз уж приходится только наблюдать за шиной, и так сойдет.
Теперь остается переделать демон, который брал данные со старой метеостанции и заполнял системные величины АСУ БТА, да переделать на новую метеостанцию (старая уже канула в Лету, только анемометр остался, и тот врет).
Сегодня воткнули в acs5 этот преобразователь, я взял первый попавшийся готовый сниффер модбаса на гитхабе, немножко его модифицировал и получил данные.
Жаль, конечно, что нельзя самому отправить посылку на считывание: в модуле метео есть маппинг регистров, чтобы за один присест можно было все данные считать, а не отправлять уйму запросов на чтение одного регистра. Но, раз уж приходится только наблюдать за шиной, и так сойдет.
Теперь остается переделать демон, который брал данные со старой метеостанции и заполнял системные величины АСУ БТА, да переделать на новую метеостанцию (старая уже канула в Лету, только анемометр остался, и тот врет).