2014年2月27日木曜日

rtl_tcpでoffset tuning

SDR#を使わせていただいている。
rtl_tcpの機能はとても便利である。ただどうしてもノイズが多いようだ。特にraspberry Piを受信サーバにすると、有線LANのノイズらしきものがかなりある。
そこで、offset Tuningが有効なようなので、rtl_tcpでも使えないか調べてみた。rtl_tcpのほうにはその機能があるけれど、クライアント側のsdr#では、その機能は省略されているようだった。
sdr#でもsourceを公開していたので、それをもとに、機能を追加して修正してみた。

修正ポイントとしては、
private const byte CMD_SET_OFFSET_TUNING = 0xa;
というようなコマンドを追加してやるとうまくいった。

チェックボックスをダイアログに追加して
 private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            _owner.OffsetTunig  = checkBox1.Checked;
        }

プロパティとしての追加は
       public bool OffsetTunig
        {
            get { return _offsetTuning; }
            set
            {
                _offsetTuning = value;
                SendCommand(CMD_SET_OFFSET_TUNING, _offsetTuning ? 1 : 0);
            }
        }
という具合に

ノイズの少ない聞きやすいFM音声(ステレオ)になりました。

2014年2月22日土曜日

rtl_tcp自動起動

http://ttrftech.tumblr.com/post/37834957647/raspberry-pi-remote-rtl2832u-sdr-server-and-rtl-tcp
を参考にさせていただいた。
LAN経由で、sdrを試みる。

でも、なぜか、自動起動しない。
sudo update-rc.d -n rtl_tcp start 99 5の最後を2 3 4 5としたら
うまくいきました。

USBワンセグで、SDR

USBワンセグが、SDRに使えると言うことで試してみた。まずはFMラジオを聴くなどして利用している。1000円前後で買えるので、コスパが良い。

SDR#というソフトはソースも公開されているので、VC#2012で、少しカスタマイズ。
rlt_tcpで、LAN経由で聴くのですが、回線が細い場合もあるので、サンプルレートの初期値が最低で起動するようにビルド。

RTLTCPのRTLtcpSettingsで
 samplerateComboBox.SelectedIndex = 3;を9に変更






raspberry PiでGPIOをWEBから操作

GPIOをPHPで操作できないか試してみた。権限の関係でうまくいかない。

とりあえず gpio4on.phpとして
 <?php
var_dump(exec("echo 4 > /sys/class/gpio/export"));
var_dump(exec("echo out > /sys/class/gpio/gpio4/direction"));
exec("echo 1 > /sys/class/gpio/gpio4/value",$arr,$res);
print_r( $arr );
var_dump( $res );

?>
などと試して見るがだめ

そこで、sdrhf.php
<?php
var_dump(exec("sudo php -f gpio4on.php"));
?>
と試してみたらうまくいった。

まだまだ、Linuxは勉強不足。

***************

/etc/sudoersに
www-data ALL = NOPASSWD: /path/to/script.sh
のようにして、特定のスクリプトに実行権限を与える必要も