Привет,
Имею нетривиальную задачку: в домашней сети есть некоторое количество устройств (термостаты), которые отзываются на mDNS (точнее, даже DNS-SD), причем, в ответе на запрос отдают кучу нужной мне информации - уставка, текущая температура в помещении и прочее.
Также имеется некий контроллер умного дома, который умеет загружать данные по http либо дергая конкретный порт UDP. Научить его опрашивать термостаты по dns-sd я не могу в силу ряда причин.
Возникает задача - делать опрос устройств (на bash или powershell я такой скрипт напишу без проблем) и отдавать результаты этого опроса, например, по запросу на заданный UDP-порт.
Для примера, вот образец опроса в винде (кое-что сократил):
PS C:\Users\Cyril> dns-sd -B _services._dns-sd._udp
Browsing for _services._dns-sd._udp
Timestamp A/R Flags if Domain Service Type Instance Name
19:46:12.684 Add 2 8 . _udp.local. _syncleo
PS C:\Users\Cyril> dns-sd -B _syncleo._udp local
Browsing for _syncleo._udp.local
Timestamp A/R Flags if Domain Service Type Instance Name
19:46:53.769 Add 3 8 local. _syncleo._udp. 641*
19:46:53.769 Add 3 8 local. _syncleo._udp. 4c2*
19:46:53.769 Add 3 8 local. _syncleo._udp. 4c3*
19:46:53.769 Add 2 8 local. _syncleo._udp. f04*
PS C:\Users\Cyril> dns-sd -L 641* _syncleo._udp local
Lookup 641*_syncleo._udp.local
19:47:54.043 641*_syncleo._udp.local. can be reached at 641*.local.:41122 (interface 8)
000000000000.temperature=23.40 000000000000.target_temp=5.0 public=* curve=29 vendor=RusClimate basetype=67 devtype=67 firmware=1.55 protocol=2 macaddr=*:*:*:*:*:*
Внимание, вопрос (-ы):
1. Реализуемо ли такое на кинетике?
2. Если да - куда (откуда) начинать копать?
Очень не хочется ради опроса четырёх железок городить какой-то сервер..
Спасибо!