アナログ無線受信機のウェブベースの 遠隔制御および遠隔聴取の研究 慶應義塾大学環境情報学部 入野 仁志 本研究の目的と概要 • 目的 – 利用者がどこにいても、ノイズの少ない状態でアナロ グ無線受信が出来る環境の実現 • 概要 – インターネットを利用して、遠隔地にある無線受信機 の遠隔制御及び遠隔聴取機構の設計と実装を行った • 無線受信機制御のための汎用的な制御機構 • 特殊なハードウェアやソフトウェアを用いない – ウェブベース 本機構の特徴 • 既存の、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の環境がない) おわり 遠隔から利用 • 遠隔から利用する無線受信機の場所と聴 本機構の利用 取者の場所を分離する 聞 こえ る 制御の要求 ネット ワーク 良好な受信環境下 音の転送 聞こ えな い 聞こ える
© Copyright 2024 ExpyDoc