SmartLiving.ru
http://majordomo.smartliving.ru/forum/

433 МГЦ
http://majordomo.smartliving.ru/forum/viewtopic.php?f=15&t=3424
Страница 1 из 2

Автор:  talib [ Вт ноя 29, 2016 9:16 am ]
Заголовок сообщения:  433 МГЦ

Народ, я верю в вас!
Реально ли показания с датчика 433мгц заливать в majordomo без использование Arduino?\
Т.е. у меня мж крутится на 3 малине, к которой я цепанул приемник на 433 и поставил вирингпай и снифер для 433мгц.
Но снифер работает через терминал (командную строку) и при его запуске бесконечно будет выдавать принимаемые сигналы, была попытка с читать их в мж (exec("sudo ~/433/433Utils/RPi_utils/RFSniffer")), но из этого ничего не получилось и в свойстве обьекта всегда было пусто. если работать через терминал малины то все работает отлично.
Что мне делать?

Вложения:
Безымянный.png
Безымянный.png [ 45.81 КБ | Просмотров: 2157 ]

Автор:  talib [ Вт ноя 29, 2016 9:19 am ]
Заголовок сообщения:  Re: 433 МГЦ

Можно попытаться переписать сам снифер, тык что бы он при каждом запросе давал один код а потом вырубался и при отсутствии сигнала выдавл "0", но тогда придётся его запускать несколько раз в секунду что будет не удобно и не надёжно, да и я не сильно шарю в том коде что бы его переписывать, все что я смог это убрать ненужные слова которые писались перед принимаемым кодом.

Автор:  devoff [ Ср ноя 30, 2016 12:53 pm ]
Заголовок сообщения:  Re: 433 МГЦ

Реализовал у себя на питоне, скрипт постоянно работает и снифит все.

https://libraries.io/pypi/pi_switch - здесь информация

просто в код RCSwitchReceiver добавил -

Код:
  
if received_value
:
            num += 1

            url 
= 'http://192.168.1.10/objects/?object=RCSwitch&op=set&p=code'
            payload = {'v':received_value }

            r = requests.get(url, params=payload)
            print(r.url)



Соответственно при получения кода, скрипт задает свойство объекту.
НО при постоянной включенном скрипте он грузит систему, поэтому нужно поставить задержку time.sleep (0.2)

ну а в МЖД метод у свойства -

Код:
$code=$this->getProperty("code");

switch ($code) {
case '65557':sg ('Bedroom.Light2',1);break;
case '65556':sg ('Bedroom.Light2',0);break;

case '69653':sg ('Bedroom.Light1',1);break;
case '69652':sg ('Bedroom.Light1',0);break;
 

case 
'8888':sg ('Bedroom.Light1',1);break;
case '9999':sg ('Bedroom.Light1',0);break;

case '81941':sg ('Hall.Light',1); callMethod("Hall.Light",array("light_num"=>1,"light_st"=>1));break;
case '81940':sg ('Hall.Light',0); callMethod("Hall.Light",array("light_num"=>1,"light_st"=>0));break;

case '86037':sg ('Hall.Light2',1);callMethod("Hall.Light",array("light_num"=>2,"light_st"=>1));break;
case '86036':sg ('Hall.Light2',0);callMethod("Hall.Light",array("light_num"=>2,"light_st"=>0));break;
  

default:
say ('код не определен');
};



Полный файл в приложение.

Вложения:
pi_receiver.rar [595 байт]
Скачиваний: 47

Автор:  immortal [ Ср окт 04, 2017 1:12 am ]
Заголовок сообщения:  Re: 433 МГЦ

devoff писал(а):
Реализовал у себя на питоне, скрипт постоянно работает и снифит все.
....



можно подробнее как в МД сделано, или экпортируйте объект RCSwitch

Автор:  nick7zmail [ Ср окт 04, 2017 6:25 am ]
Заголовок сообщения:  Re: 433 МГЦ

Что за путь ~/433/433Utils/RPi_utils/RFSniffer? Пропишите полный, начиная с /. Мд не знает что такое ~.
Код:
$otvet=exec("sudo /полный/путь/433/433Utils/RPi_utils/RFSniffer");
должно нормально рабоатать.
Ну или на python можно попробовать реализовать, как выше сказали...

Автор:  immortal [ Ср окт 04, 2017 3:57 pm ]
Заголовок сообщения:  Re: 433 МГЦ

nick7zmail писал(а):
Что за путь ~/433/433Utils/RPi_utils/RFSniffer? Пропишите полный, начиная с /. Мд не знает что такое ~.
Код:
$otvet=exec("sudo /полный/путь/433/433Utils/RPi_utils/RFSniffer"); 
должно нормально рабоатать.
Ну или на python можно попробовать реализовать, как выше сказали...

Вроде exec не умеет забирать данные из консоли (из шела) не пробывал я конечно rfsniffer но gpio и i2c пробывал, надо чтобы скрипт сам посылал http запрос. Кроме того RFSniffer должен быть запущен постоянно, так что как описано выше, но вот тут я подробно расписал viewtopic.php?f=18&t=4675

Автор:  nick7zmail [ Ср окт 04, 2017 4:18 pm ]
Заголовок сообщения:  Re: 433 МГЦ

В смысле не умеет? У меня так половина сведений о системе собирается...строка рабочего кода к примеру
Код:
$temp=exec('cat /sys/class/thermal/thermal_zone0/temp')/1000;
sg('server.cputemp', round($temp,1));

Автор:  immortal [ Ср окт 04, 2017 9:23 pm ]
Заголовок сообщения:  Re: 433 МГЦ

nick7zmail писал(а):
В смысле не умеет? У меня так половина сведений о системе собирается...строка рабочего кода к примеру
Код:
$temp=exec('cat /sys/class/thermal/thermal_zone0/temp')/1000;
sg('server.cputemp', round($temp,1));

пробовал i2cget и не получал данных, может с правами намудрил, наврал немного, gpio -1 read данные получает.

Автор:  Vitalij [ Вт ноя 14, 2017 4:29 pm ]
Заголовок сообщения:  Re: 433 МГЦ

Добрый день . Нужна помощь. я совсем не програмист очень трудно доходит. Имею реле на RF433 и пульт на RF433 подключено напрямую к R PI3, коды отсылаю реле работает , приемник принимает через питон скрипт тоже работает , xочю сделать чтобы МД был посредником между ними . В данный момент МД получает коды с пульта они появляются в свойствах rcData, а далее засада , как заставить Switch3 т.е. реле срабатывать. может кто описать по шагово логику? Спасибо.

Автор:  nick7zmail [ Вт ноя 14, 2017 4:44 pm ]
Заголовок сообщения:  Re: 433 МГЦ

Могу и объяснить и сделать. Через тимвивер.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/