遠隔地にある無線受信機の遠隔制御及び遠隔聴取機構の設計と実装を
Download
Report
Transcript 遠隔地にある無線受信機の遠隔制御及び遠隔聴取機構の設計と実装を
アナログ無線受信機のウェブベースの
遠隔制御および遠隔聴取の研究
慶應義塾大学環境情報学部
入野 仁志
本研究の目的と概要
• 目的
– 利用者がどこにいても、ノイズの少ない状態でアナロ
グ無線受信が出来る環境の実現
• 概要
– インターネットを利用して、遠隔地にある無線受信機
の遠隔制御及び遠隔聴取機構の設計と実装を行った
• 無線受信機制御のための汎用的な制御機構
• 特殊なハードウェアやソフトウェアを用いない
– ウェブベース
本機構の特徴
• 既存の、PCから制御できる無線受信機
– 専用アプリケーションの存在
– ネットワークの利用を考慮していない
→ 汎用的な制御機構の必要性
• 本機構は汎用的な制御機構を作った
背景(無線通信)
• 無線通信の利点
– 広範囲で受信可能
• 無線通信の欠点
– 良好な受信環境が限定される
• 地理的要因
• 設備的要因
– 一度環境構築すると、移動が難しい
– 制御場所と聴取場所が同じ
背景(制御)
• PCから制御できる無線受信機が存在する。
– 専用アプリケーションの存在
– ネットワークの利用が考慮されていない
• ネットワークに接続する場合機種ごとに違う手法が
必要となる。
本研究目的の実現のために
• 汎用的な無線受信機制御用インターフェー
スが必要
– 機種ごとにばらばらなインタフェースを隠蔽する
– ネットワークを用いた遠隔制御機構の構築のコ
ストが低くなる
設計
本機構の設計目標
• 遠隔制御
– 多種の無線受信機に柔軟に対応可能
– クライアントの計算機環境(OS、デバイス)に依存しな
い
• ブラウザの利用→ウェブアプリケーション
• 遠隔聴取
– クライアントの計算機環境(OS、デバイス)に依存しな
いサーバからクライアントへの音声転送機構
• ブラウザの利用→ウェブアプリケーション(アプレット)
本機構の動作手順
1. クライアントからラジオサーバ
へ制御の要求
2.
機種別の制御信号を送信
3.
無線受信機の音をラジオサーバの
サウンドカードへ入力
ラジオサーバからクライアントへ音声
の転送
4.
無線受信機
ラジオサー
バー
Internet
クライアント
本機構の構成
•
•
•
•
サーバサイドスクリプト
制御コマンド
音声送信プログラム
音声受信プログラム
制御コマンド
音声送信プログラム
サーバサイドスクリプト
Internet
音声受信プログラム
制御
• サーバサイドスクリプト
– 制御のためのユーザインタ
フェースを提供
– 制御コマンドの引数を生成す
る
• 制御コマンド
– 無線受信機への制御信号送
信
– 機種の差異を隠蔽する
– サーバサイドスクリプトから呼
び出される
制御コマンド
サーバサイドスクリプト
Internet
制御コマンドの扱う機能
•
•
•
•
•
•
初期化、シリアルポートとの接続設定
制御ON/OFF、制御状態の取得
周波数の取得、設定
変調方式の取得、設定
音量の設定
スケルチレベルの設定
音声
• 音声送信プログラム
– 音のサンプリング
– UDPパケット化と送信
• 音声受信プログラム
– ウェブブラウザ上で動作
– 利用時に動的にダウンロード
– UDPパケット受信と再生
音声送信プログラム
Internet
音声受信プログラム
実装
ユーザの入力
機種名
周波数の設定
等
制御
• サーバサイドスクリプト
– デザイン部分
– 制御コマンドコントロー
ル部分
• 制御コマンド
– 機種隠蔽プログラム
– 設定用ヘッダファイ
ル
– 機種個別プログラム
サーバサイドスクリプト
(デザイン部分)
サーバサイドスクリプト
(制御コマンドコントロール部分)
機種隠蔽
プログラム
NRD545
PCR100
機種個別プログラム
サーバサイドスクリプト
• 入力:HTTPのPOSTメソッド
• 出力:制御コマンドの引数
HTTPのPOSTメソッド
サーバサイドスクリプト
– radio –r “ラジオ名” –f “周波数”
(デザイン部分)
– radio –r “ラジオ名” –m “変調方式” サーバサイドスクリプト
(制御コマンドコントロール部分)
OS
FreeBSD 4.5
Servlet Engine Jakarta Tomcat 3.2.4
JAVA
使用言語
(Servlet + JSP
+Beans)
制御コマンドの引数
制御コマンド
• 入力:サーバサイドスクリプトが生成した引数
– radio –r “ラジオ名” –f “周波数”
• 出力:各機種個別の制御信号
機種隠蔽
プログラム
OS
開発言
語
FreeBSD 4.5
C言語
使用
日本無線 NRD545
無線受信機 JCOM PCR100
NRD545 PCR100
機種個別プログラム
ラジオ隠蔽の詳細
FUNC radio_f,
radio_f_arr[] =
{
{&nrd545_init, &nrd545_open_serial, &nrd545_get, &nsrd545_set, &nrd545_freq_get, &nrd545_freq_set,
&nrd545_mode_get, &nrd545_mode_set, &nrd545_afgain_set, &nrd545_sq_level_set, &nrd545_end},
A社の関数ポインタ
{&pcr100_init, &pcr100_open_serial, &pcr100_get, &pcr100_set, &pcr100_freq_get, &pcr100_freq_set,
&pcr100_mode_get, &pcr100_mode_set, &pcr100_afgain_set, &pcr100_sq_level_set, &pcr100_end},
B社の関数ポインタ
};
初期化、状態の取得、状態の設定、周波数の取得、周波数の設
定・・・・
• 関数ポインタ用構造体
• ヘッダファイル内で配列を所持
• 引数によって使う構造体を決定
機種別の制御信号(例)
NRD545
PCR100
制御開始
"H1\r"
“H101\r\n”
“G301\r\n”
周波数の設定
(10MHz)
“F0010000000\r “K0010000000050
”
300\r\n”
変調方式の設
定(FM)
"D5\r"
機種別の実装例(周波数)
NRD545
int nrd545_freq_set(u_int32_t freq){
nrd545_act_1int(RADIO_FREQ_SET, freq);
sleep(1);
周波数設定用関数
PCR100
int pcr100_freq_set(u_int32_t _freq){
pcr100_freq_mode_filter_set(_freq,
state.mode, filter);
周波数設定関数
}
呼び出し
return 1;
}
int pcr100_freq_mode_filter_set(u_int32_t _freq, char
_mode, u_int32_t _filter){
呼び出し
char in[21];
int nrd545_act_1int(u_int32_t data, int32_t param){
:
case RADIO_FREQ_SET:
if(0 <= param && param <= 2000000000) {
sprintf(in, "F%.10d\r", param);
周波数の実際の設定部分
}
int _mode_int;
周波数と
state.mode = _mode;
変調方式と
:
フィルターの
sprintf(in, "K0%.10d%.2d%.2d00\r\n",
state.freq, _mode_int,
filter);
設定を行う関数
state.freq = _freq;
/* printf("%s", in); */
break;
send_cmd(in);
:
}
• 内部の実装はまったく異なる
機種隠蔽部分の実装例(周波
数)
周波数の設定
radio_f.freq_set(“周波数”);
• 同じ方法で呼び出すことができる
音声送信プログラム
• 入力:サウンドデバイスファイル
• 出力:音声受信プログラムとユニキャスト通信
– RTP/UDPパケット
– 8KHz, 8bit, モノラル, μ-lawのペイロード
OS
FreeBSD 4.5
開発言語
C言語
音声受信プログラム
• 入力:音声送信プログラムが送信したRTPパケット
• JAVAアプレット
– ポリシーファイルを用いてアプレット制限の回避を行う
OS
Windows 2000
開発言語
JAVA 1.3.1
JMF 2.1.1
評価
評価項目
• 利用者への計算機環境への依存度
• 多種のアナログ無線受信機への対応
利用者への計算機環境への依存度
PC
制御
PC以外
Windows Linux
FreeBSD PDA
携帯電話
○
○
○
○
○
• ブラウザがある環境下で本制御機構は動作する。
多種のアナログ無線受信機への対応
• 新規に対応機種を追加する場合
– 機種依存する部分を実装するのみ
– 周波数、変調方式設定、スケルチレベルの設定
の機能を持つ
共通プログラム
NRD545
PCR100
機種個別プログラム
まとめ
• ノイズの少ない状態でアナログ無線通信
の環境の実現を行った
• 汎用的な無線受信機制御インタフェースを
作成した
• 利用者の環境に依存が少ない設計と実装
を行った
• 利用者はウェブブラウザのみで利用がで
きる
今後の展望
音声部分
–
–
–
–
圧縮フォーマット
マルチキャスト
蓄積機構
PC以外のデバイスで動作しない
• (JAVAの環境がない)
おわり
遠隔から利用
• 遠隔から利用する無線受信機の場所と聴
本機構の利用
取者の場所を分離する
聞
こえ
る
制御の要求
ネット
ワーク
良好な受信環境下
音の転送
聞こ
えな
い
聞こ
える