связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение SrFatCat » Вс мар 03, 2019 5:25 pm

directman66 писал(а):
Вт окт 09, 2018 1:28 pm
Потихоньку модуль обрастает функционалом
Поскольку работа над модулем остановилась, да и автор решил концептуально вернуться в будущем на надстройку над MQTT, а жить как-то надо :D Пока приходится запускать RTL_433 в режиме передачи JSON в MQTT и парсить строку.
Эта часть работает очень классно несколько месяцев, нареканий нет, очень доволен. Но вот с запуском/перезапуском RTL_433 из Majordomo никак не складывается. Я понимаю, что я с точки зрения Linux делаю что-то не так, но что именно - никак не могу понять. А главное, никакой информации к размышлению нет.
Короче, раз в 5 минут запускается примитивный скрипт, почти слизаный у уважаемого directman66

Код: Выделить всё

$answ=shell_exec('ps -A|grep 433');

if (strpos($answ, '433') == false){
 	if (gg('RTL_433.stateColor') == 'green'){
 		sg('RTL_433.stateColor','red');
     	say('Статус приемника RTL_433 изменился на красный', 1);
    }
    $answ=shell_exec('rtl_433 -f 433920000 -s 250000 -F json |  mosquitto_pub -u bogdan -P marus14kaMQT9 -t rtl_433 -l');
    echo 'shell_exec - '.$answ.'<br>';
} 
else {
 	if (gg('RTL_433.stateColor') == 'red'){
      sg('RTL_433.statecolor','green');
      say('Статус приемника RTL_433 изменился на зеленый', 1);
    }
}
он прекрасно видит - висит в процессах или нет RTL_433, но абсолютно никак не запускает его.
При ручном запуске скрипта в $answ=shell_exec('rtl_433 -f 433920000 -s 250000 -F json | mosquitto_pub -u bogdan -P marus14kaMQT9 -t rtl_433 -l'); леденящая пустота. Процесс не появляется. Естественно, тоже самое вручную из терминала прекрасно запускает RTL_433.
Что я делаю не так?
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение directman66 » Пн мар 04, 2019 6:59 am

У меня есть мысли сделать аналог сервера mqtt на php для модуля rtl_433, чтобы можно было указать адрес мажора. Но времени на реализацию пока нет.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение smart_g » Пн мар 04, 2019 10:17 am

SrFatCat писал(а):
Вс мар 03, 2019 5:25 pm

Но вот с запуском/перезапуском RTL_433 из Majordomo никак не складывается. Я понимаю, что я с точки зрения Linux делаю что-то не так, но что именно - никак не могу понять.
Очень похоже, что не розданы права на запуск скрипта пользователю www-data. В терминал вы заходите под логином основного пользователя.
Под его правами создаете скрипт и соответственно можете его выполнить.
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение SrFatCat » Пн мар 04, 2019 3:01 pm

smart_g писал(а):
Пн мар 04, 2019 10:17 am
Очень похоже, что не розданы права на запуск скрипта пользователю www-data. В терминал вы заходите под логином основного пользователя.
Под его правами создаете скрипт и соответственно можете его выполнить.
Очень похоже, что вы абсолютно правы. Если еще научите как правильно дать права www-data для rtl_433 и, возможно, mosquitto_pub буду очень очень благодарен
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение smart_g » Пн мар 04, 2019 3:31 pm

За это сообщение автора smart_g поблагодарил:
SrFatCat (Пн мар 04, 2019 5:46 pm)
Рейтинг: 1.16%
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение SrFatCat » Вт мар 05, 2019 10:26 pm

М-да ларчик открылся, но сильно сложнее чем просто права на какие-то файлы. И с php засада была и немного покрутить конфиги usb пришлось... Ну заработало и хорошо.
slavonu82
Сообщения: 9
Зарегистрирован: Чт авг 08, 2019 10:41 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение slavonu82 » Чт авг 08, 2019 11:08 pm

Удалось получить в MQTT информацию с датчиков 433.
Но остались некоторые проблемы.
1. Сделал все как в viewtopic.php?t=5833&start=20#p104599 ,
но rc.local запускается только вручную.
2. Данные с устройств получаю, привязываю к простым устройствам, вот только эти же данные могут выдавать устройства соседей, что иногда и наблюдаю в показаниях температуры.
Вопрос- как решить эти проблемы?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение nick7zmail » Пт авг 09, 2019 12:52 am

1)rc.local не может не запускаться. Скорее всего что то неправильно прописано (ссылку честно не открывал)
2) У устройств должен быть ID Или что то в этом роде. Надо по нему фильтровать показания.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
slavonu82
Сообщения: 9
Зарегистрирован: Чт авг 08, 2019 10:41 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение slavonu82 » Пт авг 09, 2019 8:38 am

nick7zmail писал(а):
Пт авг 09, 2019 12:52 am
1)rc.local не может не запускаться. Скорее всего что то неправильно прописано (ссылку честно не открывал)
2) У устройств должен быть ID Или что то в этом роде. Надо по нему фильтровать показания.
Каким образом можно фильтровать? Я новичек и не хотелось бы изобретать велосипед.
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение SrFatCat » Пт авг 09, 2019 10:49 am

slavonu82 писал(а):
Пт авг 09, 2019 8:38 am
nick7zmail писал(а):
Пт авг 09, 2019 12:52 am
2) У устройств должен быть ID Или что то в этом роде. Надо по нему фильтровать показания.
Каким образом можно фильтровать? Я новичек и не хотелось бы изобретать велосипед.
Ну тут как раз тот случай, когда каждый изобретает свой велосипед :D Я, к примеру, сделал объект
RTL_433_MQTT, который привязал к соответствующиму топику и при поступлении новых данных в него
разбираю JSON, распихивая данные из него по объектам датчиков. В объектах-датчикаков добавил свойство
ID. К сожалению, не со всеми прилетает ID, кроме того у большинства датчиков ID генерируется по новой при
каждом сбросе/установке батареек, но у меня все датчики разные и не совпадающие по имени с соседями, так
что фильтрую по имени. Привязка сопливая, но других вариантов не нашел.
Я далеко не гуру и наверняка есть более изящные способы, тем не менее, если такой вариант устроит - могу поделиться.
Ответить