地デジ受信レベルの測定とZABBIX連携

Ξ 9月 5th, 2011 | → 0 Comments | ∇ Linux, コンピュータ, ソフトウェア, ネットワーク, ハードウェア |

●HDUSで地デジレベルの測定
どうも関東でも県境になると、東京タワーの電波が弱くなるせいか、ラジオダクトとかフェージングとかの影響を受けやすいようで、30分~1時間程度、レベルと品質が急激に下がる現象がおきます。
何が起こっているか調べるために、CentOSで、地デジ受信レベルの測定して、ログ管理したいのでいろいろ検証した。
※スカイツリーから電波が出るようになると、多少は変わるのだろうか・・・。

LEADERあたりの測定器を使いたいところだが、24時間365日これにとられてしまうのはもったいないので(高額なので)、安価で相対的にレベル管理をしたいと考え、SKNETのMonsterTV HDUS + recfriioというパターンでやってみた。

recfriioだと、受信すると下記のように表示されるので、
-----
# /usr/local/hdus/bin/recfriio --hdus --b25 --lockfile lock 27 10 tes.ts
B25Decoder initialized.
Tuner type is HDUS.
Search friios from dir: /dev/bus/usb
3 friios found:
args usbbus : /dev/bus/usb/001/002
/dev/bus/usb/001/002: this friio.
opening HDUS...done.
freq = 557
CNR: 31.4054
Signal level: 59.6279
Output ts file.
sync 42 bytes
sync 56 bytes
done.
Rec time: 9.104928 sec.
CNR: 31.0652
Signal level: 59.0575
closing HDUS...done.
-----

この出力の、「Signal level」と「CNR」を利用する。Signal levelとCNRは受信前と受信後の2つ出てくるので、平均をとることにした。

また、複数のアンテナ線を使用したいので、HDUSを3台接続中(RF切替器の手もあるが、今回は3台使った)。
がしかし、HDUSというかUSBの問題か、接続する順番(というか認識の順番)が、起動時に入れ変わってしまうというトラブルが発生。
このままでは、HDUSがラウンドロピンしてしまうので(笑)、アンテナ線が特定できないと使い物にならない。
もともとrecfriioは複数台つながることを想定していないようだ。

----
# lsusb
Bus 003 Device 002: ID 04e6:511a SCM Microsystems, Inc.
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 001 Device 003: ID 3275:6051 VidzMedia Pte Ltd ※このへんが、前後入れ替わる。
Bus 001 Device 004: ID 3275:6051 VidzMedia Pte Ltd ※このへんが、前後入れ替わる。
Bus 001 Device 002: ID 3275:6051 VidzMedia Pte Ltd ※このへんが、前後入れ替わる。
Bus 004 Device 001: ID 0000:0000
----

でこれでは、だめなので、recfriioを改造した。
具体的には、オプションで、USBデバイス番号を指定できるようにした。

-----
# /usr/local/hdus/bin/recfriio --hdus --usbbus /dev/bus/usb/001/002 --b25 --lockfile lock 27 10 tes.ts
B25Decoder initialized.
Tuner type is HDUS.
Search friios from dir: /dev/bus/usb
3 friios found:
args usbbus : /dev/bus/usb/001/002
/dev/bus/usb/001/003: this friio. (fd:6)
/dev/bus/usb/001/004: this friio. (fd:7)
/dev/bus/usb/001/002: this friio. (fd:8)
use_device_fd : 8
opening HDUS...done.
freq = 557
CNR: 31.4054
Signal level(b): 59.6279
Output ts file.
sync 42 bytes
sync 56 bytes
done.
Rec time: 9.104928 sec.
CNR: 31.0652
Signal level(a): 59.0575
closing HDUS...done.
-----

これでUSB接続が固定できた。
この情報をメールで送信できるプログラムを別途作成。

●ZABBIXで統合管理してみた。
HDUS接続してるサーバをセンサーとして、メールでZABBIXサーバに送信。
複数の測定場所が想定されるので、SNMPでZABBIXサーバがとりに行く方式はやめ(センサー側に固定IPとか必要になるので)、メールでセンサー側が一方的にZABBIXサーバに送りつける方法とした。
で、メール受信したら、zabbix_senderで特定キーに流し込む。

グラフ化とトリガーを組み合わせれば、レベルの管理とトリガーによる警報発報が可能。

センサー用PCを組込系のARM系とかで構成できれば、HDUSとの組合せで小さくできるので、ポータブルも可能かも。
ネットワークさえ現地で確保できれば、いろいろ用途が広がりそう。

しばらく使ってみたいと思います。

 

Leave a reply


*

About

    Place for about text

    The Munch theme is built with PS, brushes and patterns by milo IIIIVII.

    Open right sidebar.php in the theme folder to edit this message.
    Check my other themes too.

     

FlickR

    Solitude
    Solitude
    Solitude
    Solitude