Main

Как Собрать Информацию Из Радиоканалов RTL-SDR And GNU Radio

Установка на raspberry или подобные системы: Установка rtl_433

https://github.com/merbanan/rtl_433/issues/543

git clone -b feat-rcswitch https://github.com/zuckschwerdt/rtl_433.git rtl_433_rcswitch cd rtl_433_rcswitch mkdir build cd build cmake .. make sudo make install

Для Raspberry Pi еще потребовалось исключить модуль из ядра:

sudo modprobe -r dvb_usb_rtl28xxu

сценарий meteo2mqtt:

$cmd='sudo modprobe -r dvb_usb_rtl28xxu'; $answ=shell_exec($cmd); echo $answ;

$fname="/home/pi/433_".time().".log";

$cmd='killall rtl_433 '; $answ=shell_exec($cmd); echo $answ;

$cmd='killall rtl_sdr '; $answ=shell_exec($cmd); echo $answ;

//$cmd='/home/pi/rtl_433_rcswitch/build/src/rtl_433 -f 433920000 -s 250000 -F json | mosquitto_pub -h localhost -t home/rtl_433 -l >'.$fname.' 2>&1'; //$cmd='/home/pi/rtl_433_rcswitch/build/src/rtl_433 -f 433920000 -s 250000 -F json | mosquitto_pub -h localhost -t /home/rtl_433 -l'; //$cmd='dir|mosquitto_pub -h localhost -t home/rtl_433 -l '; //md='date|mosquitto_pub -h localhost -t home/rtl_433 -l '; //$cmd='date|mosquitto_pub -h localhost -t /home/rtl_433 -l'; //$cmd='date>'.$fname.' 2>&1|mosquitto_pub -h localhost -t /home/rtl_433 -l'; $cmd='/home/pi/rtl_433_rcswitch/build/src/rtl_433 -f 433920000 -s 250000 -F json|mosquitto_pub -h localhost -t /home/rtl_433 -l'; $answ=shell_exec($cmd); echo $answ;

сценарий rtl_433_state (запускаем раз в минуту) $cmd='ps -A|grep 433'; //$cmd='ps -A'; $answ=shell_exec($cmd); //echo $answ; $rez=substr_count ($answ,'433' ); echo $rez; if ($rez=="1" ){sg('mysdr.statecolor','green');} else {sg('mysdr.statecolor','red'); if (gg('mysdr.autorestart')==1) {RunScript('meteo2mqtt'); } }

создаем классы rtl_objects и sdr

метод класса sdr onCHange [Скрыть] Скрытый текст: $jsonanswer=$this->getProperty('value'); //$jsonanswer='"{"time" : "2017-05-21 20:44:57", "model" : "Akhan 100F14 remote keyless entry", "id" : 595913, "data" : "0x8 (Alarm)"}'; //say($jsonanswer,1); $data=json_decode($jsonanswer,true); $objn=$data['model'].' '.$data['id']; addClassObject('rtl_objects',$objn); sg( $objn.'.json',$jsonanswer); foreach ($data as $key=> $value ) { sg( $objn.'.'.$key,$value); }

Обсуждение: http://majordomo.smartliving.ru/forum/viewtopic.php?f=8&t=3504