433 МГЦ

Коммерческие предложения на предоставление услуг и/или создания продуктов

Модератор: immortal

talib
Сообщения: 3
Зарегистрирован: Чт ноя 03, 2016 1:56 pm
Благодарил (а): 0
Поблагодарили: 0

433 МГЦ

Сообщение talib » Вт ноя 29, 2016 9:16 am

Народ, я верю в вас!
Реально ли показания с датчика 433мгц заливать в majordomo без использование Arduino?\
Т.е. у меня мж крутится на 3 малине, к которой я цепанул приемник на 433 и поставил вирингпай и снифер для 433мгц.
Но снифер работает через терминал (командную строку) и при его запуске бесконечно будет выдавать принимаемые сигналы, была попытка с читать их в мж (exec("sudo ~/433/433Utils/RPi_utils/RFSniffer")), но из этого ничего не получилось и в свойстве обьекта всегда было пусто. если работать через терминал малины то все работает отлично.
Что мне делать?
Вложения
Безымянный.png
Безымянный.png (45.81 КБ) 11862 просмотра
talib
Сообщения: 3
Зарегистрирован: Чт ноя 03, 2016 1:56 pm
Благодарил (а): 0
Поблагодарили: 0

Re: 433 МГЦ

Сообщение talib » Вт ноя 29, 2016 9:19 am

Можно попытаться переписать сам снифер, тык что бы он при каждом запросе давал один код а потом вырубался и при отсутствии сигнала выдавл "0", но тогда придётся его запускать несколько раз в секунду что будет не удобно и не надёжно, да и я не сильно шарю в том коде что бы его переписывать, все что я смог это убрать ненужные слова которые писались перед принимаемым кодом.
devoff
Сообщения: 181
Зарегистрирован: Пт апр 04, 2014 10:17 pm
Благодарил (а): 37 раз
Поблагодарили: 54 раза

Re: 433 МГЦ

Сообщение devoff » Ср ноя 30, 2016 12:53 pm

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

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 байт) 411 скачиваний
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

Re: 433 МГЦ

Сообщение immortal » Ср окт 04, 2017 1:12 am

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

можно подробнее как в МД сделано, или экпортируйте объект RCSwitch
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: 433 МГЦ

Сообщение nick7zmail » Ср окт 04, 2017 6:25 am

Что за путь ~/433/433Utils/RPi_utils/RFSniffer? Пропишите полный, начиная с /. Мд не знает что такое ~.

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

$otvet=exec("sudo /полный/путь/433/433Utils/RPi_utils/RFSniffer");
должно нормально рабоатать.
Ну или на python можно попробовать реализовать, как выше сказали...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

Re: 433 МГЦ

Сообщение immortal » Ср окт 04, 2017 3:57 pm

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
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: 433 МГЦ

Сообщение nick7zmail » Ср окт 04, 2017 4:18 pm

В смысле не умеет? У меня так половина сведений о системе собирается...строка рабочего кода к примеру

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

$temp=exec('cat /sys/class/thermal/thermal_zone0/temp')/1000;
sg('server.cputemp', round($temp,1));
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

Re: 433 МГЦ

Сообщение immortal » Ср окт 04, 2017 9:23 pm

nick7zmail писал(а):В смысле не умеет? У меня так половина сведений о системе собирается...строка рабочего кода к примеру

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

$temp=exec('cat /sys/class/thermal/thermal_zone0/temp')/1000;
sg('server.cputemp', round($temp,1));
пробовал i2cget и не получал данных, может с правами намудрил, наврал немного, gpio -1 read данные получает.
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Vitalij
Сообщения: 3
Зарегистрирован: Пн сен 25, 2017 10:57 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: 433 МГЦ

Сообщение Vitalij » Вт ноя 14, 2017 4:29 pm

Добрый день . Нужна помощь. я совсем не програмист очень трудно доходит. Имею реле на RF433 и пульт на RF433 подключено напрямую к R PI3, коды отсылаю реле работает , приемник принимает через питон скрипт тоже работает , xочю сделать чтобы МД был посредником между ними . В данный момент МД получает коды с пульта они появляются в свойствах rcData, а далее засада , как заставить Switch3 т.е. реле срабатывать. может кто описать по шагово логику? Спасибо.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: 433 МГЦ

Сообщение nick7zmail » Вт ноя 14, 2017 4:44 pm

Могу и объяснить и сделать. Через тимвивер.
За это сообщение автора nick7zmail поблагодарил:
Vitalij (Ср ноя 15, 2017 5:45 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить