310 likes | 391 Views
アナログ無線受信機のウェブベースの 遠隔制御および遠隔聴取の研究. 慶應義塾大学環境情報学部 入野 仁志. 本研究の目的と概要. 目的 利用者がどこにいても、ノイズの少ない状態でアナログ無線受信が出来る環境の実現 概要 インターネットを利用して 、 遠隔地にある 無線受信機の遠隔制御及び遠隔聴取機構 の設計と実装を行った 無線受信機制御のための汎用的な制御機構 特殊なハードウェアやソフトウェアを用いない ウェブベース. 本機構の特徴. 既存の、 PC から制御できる無線受信機 専用アプリケーションの存在 ネットワークの利用を考慮していない
E N D
アナログ無線受信機のウェブベースの遠隔制御および遠隔聴取の研究アナログ無線受信機のウェブベースの遠隔制御および遠隔聴取の研究 慶應義塾大学環境情報学部 入野 仁志
本研究の目的と概要 • 目的 • 利用者がどこにいても、ノイズの少ない状態でアナログ無線受信が出来る環境の実現 • 概要 • インターネットを利用して、遠隔地にある無線受信機の遠隔制御及び遠隔聴取機構の設計と実装を行った • 無線受信機制御のための汎用的な制御機構 • 特殊なハードウェアやソフトウェアを用いない • ウェブベース
本機構の特徴 • 既存の、PCから制御できる無線受信機 • 専用アプリケーションの存在 • ネットワークの利用を考慮していない → 汎用的な制御機構の必要性 • 本機構は汎用的な制御機構を作った
背景(無線通信) • 無線通信の利点 • 広範囲で受信可能 • 無線通信の欠点 • 良好な受信環境が限定される • 地理的要因 • 設備的要因 • 一度環境構築すると、移動が難しい • 制御場所と聴取場所が同じ
背景(制御) • PCから制御できる無線受信機が存在する。 • 専用アプリケーションの存在 • ネットワークの利用が考慮されていない • ネットワークに接続する場合機種ごとに違う手法が必要となる。
本研究目的の実現のために • 汎用的な無線受信機制御用インターフェースが必要 • 機種ごとにばらばらなインタフェースを隠蔽する • ネットワークを用いた遠隔制御機構の構築のコストが低くなる
本機構の設計目標 • 遠隔制御 • 多種の無線受信機に柔軟に対応可能 • クライアントの計算機環境(OS、デバイス)に依存しない • ブラウザの利用→ウェブアプリケーション • 遠隔聴取 • クライアントの計算機環境(OS、デバイス)に依存しないサーバからクライアントへの音声転送機構 • ブラウザの利用→ウェブアプリケーション(アプレット)
無線受信機 本機構の動作手順 • クライアントからラジオサーバへ制御の要求 ラジオサーバー • 機種別の制御信号を送信 • 無線受信機の音をラジオサーバのサウンドカードへ入力 Internet • ラジオサーバからクライアントへ音声の転送 クライアント
本機構の構成 • サーバサイドスクリプト • 制御コマンド • 音声送信プログラム • 音声受信プログラム 制御コマンド 音声送信プログラム サーバサイドスクリプト Internet 音声受信プログラム
制御 • サーバサイドスクリプト • 制御のためのユーザインタフェースを提供 • 制御コマンドの引数を生成する • 制御コマンド • 無線受信機への制御信号送信 • 機種の差異を隠蔽する • サーバサイドスクリプトから呼び出される 制御コマンド サーバサイドスクリプト Internet
制御コマンドの扱う機能 • 初期化、シリアルポートとの接続設定 • 制御ON/OFF、制御状態の取得 • 周波数の取得、設定 • 変調方式の取得、設定 • 音量の設定 • スケルチレベルの設定
音声 • 音声送信プログラム • 音のサンプリング • UDPパケット化と送信 • 音声受信プログラム • ウェブブラウザ上で動作 • 利用時に動的にダウンロード • UDPパケット受信と再生 音声送信プログラム Internet 音声受信プログラム
ユーザの入力機種名 周波数の設定等 制御 • サーバサイドスクリプト • デザイン部分 • 制御コマンドコントロール部分 • 制御コマンド • 機種隠蔽プログラム • 設定用ヘッダファイル • 機種個別プログラム サーバサイドスクリプト(デザイン部分) サーバサイドスクリプト(制御コマンドコントロール部分) 機種隠蔽プログラム 機種個別プログラム NRD545 PCR100
サーバサイドスクリプト HTTPのPOSTメソッド • 入力:HTTPのPOSTメソッド • 出力:制御コマンドの引数 • radio –r “ラジオ名” –f “周波数” • radio –r “ラジオ名” –m “変調方式” サーバサイドスクリプト(デザイン部分) サーバサイドスクリプト(制御コマンドコントロール部分) 制御コマンドの引数
制御コマンド • 入力:サーバサイドスクリプトが生成した引数 • radio –r “ラジオ名” –f “周波数” • 出力:各機種個別の制御信号 機種隠蔽プログラム 機種個別プログラム 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}, {&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}, }; • 関数ポインタ用構造体 • ヘッダファイル内で配列を所持 • 引数によって使う構造体を決定 A社の関数ポインタ B社の関数ポインタ 初期化、状態の取得、状態の設定、周波数の取得、周波数の設定・・・・
機種別の実装例(周波数) NRD545 PCR100 int nrd545_freq_set(u_int32_t freq){ nrd545_act_1int(RADIO_FREQ_SET, freq); sleep(1); return 1; } 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); } break; : int pcr100_freq_set(u_int32_t _freq){ pcr100_freq_mode_filter_set(_freq, state.mode, filter); } int pcr100_freq_mode_filter_set(u_int32_t _freq, char _mode, u_int32_t _filter){ char in[21]; int _mode_int; state.freq = _freq; state.mode = _mode; : sprintf(in, "K0%.10d%.2d%.2d00\r\n", state.freq, _mode_int, filter); /* printf("%s", in); */ send_cmd(in); } 周波数設定関数 周波数設定用関数 • 内部の実装はまったく異なる 呼び出し 呼び出し 周波数と 変調方式と フィルターの 設定を行う関数 周波数の実際の設定部分
機種隠蔽部分の実装例(周波数) • 同じ方法で呼び出すことができる 周波数の設定 radio_f.freq_set(“周波数”);
音声送信プログラム • 入力:サウンドデバイスファイル • 出力:音声受信プログラムとユニキャスト通信 • RTP/UDPパケット • 8KHz, 8bit, モノラル, μ-lawのペイロード
音声受信プログラム • 入力:音声送信プログラムが送信したRTPパケット • JAVAアプレット • ポリシーファイルを用いてアプレット制限の回避を行う
評価項目 • 利用者への計算機環境への依存度 • 多種のアナログ無線受信機への対応
利用者への計算機環境への依存度 • ブラウザがある環境下で本制御機構は動作する。
多種のアナログ無線受信機への対応 • 新規に対応機種を追加する場合 • 機種依存する部分を実装するのみ • 周波数、変調方式設定、スケルチレベルの設定の機能を持つ 共通プログラム 機種個別プログラム NRD545 PCR100
まとめ • ノイズの少ない状態でアナログ無線通信の環境の実現を行った • 汎用的な無線受信機制御インタフェースを作成した • 利用者の環境に依存が少ない設計と実装を行った • 利用者はウェブブラウザのみで利用ができる
今後の展望 音声部分 • 圧縮フォーマット • マルチキャスト • 蓄積機構 • PC以外のデバイスで動作しない • (JAVAの環境がない)
本機構の利用 聞こえる 聞こえる 制御の要求 ネットワーク 音の転送 遠隔から利用 • 遠隔から利用する無線受信機の場所と聴取者の場所を分離する 聞こえない 良好な受信環境下