2015年5月4日月曜日

Raspberry Pi 2 sdrサーバとしても利用

 rtl_tcpを利用して、Sdrサーバ(FMラジオ等)としても、利用しようとしていたのですが、以前のraspberry Piのようにはうまくいきませんでした。いったん接続をやめると、2回目は接続できないという不具合は解消しませんでした。
 いろいろ調べたものの解決方法はけっこう難しそうです。そこで、応急処置的ですが、PHPを利用して、rtl_tcpをシェルスクリプトでリスタートさせる方法をとってみたところ、何とか実用になりました。
 PHPは、sdr#をロードしたときに、以下のように、呼び出すようにしてみました。

 private void MainForm_Load(object sender, EventArgs e)
        {
            Encoding enc = Encoding.GetEncoding("Shift_JIS");
            HttpWebRequest req    =HttpWebRequest)WebRequest.Create("http://hostname/sdron.php");
            WebResponse res = req.GetResponse();
            Stream st = res.GetResponseStream();
            StreamReader sr = new StreamReader(st, enc);
            string html = sr.ReadToEnd();
            sr.Close();
            st.Close();
       
        }


==sdr.sh== chmod +xで実行権限もたせる必要あり
#!/bin/sh
service rtl_tcp restart


==sdr.php==
<?php
exec("/home/pi/sdr.sh");
?>
==sdron.php==
<?php
exec("sudo php -f /var/www/sdr.php");
print_r("sdr recovery" );
?>

0 件のコメント:

コメントを投稿