コンピュータ 理 工 学 特 別 研 究 報 告 書 題 目 Raspberry Pi を 用 いたネットワーク 機 器 の 開 発 ビデオメッセージ 端 末 学 生 証 番 号 1245009 氏 名 深 尾 悠 介 提 出 日 平 成 28 年 2 月 2 日 指 導 教 員 蚊 野 浩 京 都 産 業 大 学 コンピュータ 理 工 学 部
要 約 インターホンやテレビドアホンには 留 守 録 機 能 を 持 つものがある.Panasonic の 製 品 に 家 中 どこでもドアホン というものがあり, 外 出 中 に 訪 問 者 の 画 像 を 確 認 することができるが, 留 守 録 を 確 認 することができない. 留 守 録 をスマ ートフォンから 確 認 することができれば, 訪 問 の 内 容 まで 把 握 できるため, 外 出 中 の 来 客 に 素 早 く 対 応 することができる. 本 研 究 では 専 用 回 路 や 周 辺 機 器 を 容 易 に 接 続 することができ,オーダーメイドなデジタル 機 器 の 試 作 に 利 用 でき る Raspberry Pi を 用 いて, 外 出 中 でもスマートフォンから 留 守 録 を 確 認 するこ とができる ビデオメッセージ 端 末 を 開 発 した. 留 守 録 を 外 出 中 に 確 認 する 方 法 として,そのビデオメッセージを YouTube に アップロード 方 法 を 採 用 した.YouTube Data API(v3)という API を 使 うことで ユーザプログラムから 動 画 をアップロードすることができる.また Raspberry Pi で 音 声 付 き 動 画 を 作 成 するために,カメラモジュール,マイクモジュールを 使 って, 動 画 ファイルと 音 声 ファイルを 同 時 に 生 成 し,その 2 つのファイルを 結 合 するという 方 法 で 音 声 付 き 動 画 を 作 成 した. 開 発 した 端 末 は,スイッチが 押 されると,5 秒 後 に 10 秒 間 のビデオメッセー ジの 録 画 が 始 まり,そのままビデオメッセージが YouTube に 非 公 開 としてアッ プロードされる.スマートフォンには,アップロードを 知 らせるメールが 送 ら れ,メール 中 の URL をクリックして 動 画 を 確 認 することができる. この 端 末 を 使 うことで,いつ 誰 がどのような 目 的 で 訪 問 してきたのかという ことを, 外 出 中 であっても 確 認 できるようになった.これを 使 えば, 外 出 中 にす ぐに 対 応 しなければいけない 人 が 来 たときに, 訪 問 の 目 的 まで 把 握 できるため, 素 早 く 対 応 することができる. 開 発 後 に 分 かった 課 題 として, 現 在 使 用 している 英 文 字 30 文 字 だけを 表 示 す るディスプレイモジュールでは, 十 分 に 使 いやすい 端 末 になっていない.まず, この 端 末 が 一 体 どういった 端 末 なのかが 分 からない.また, 録 画 中 の 映 像 を 確 認 できないことも 不 便 であった. ii
目 次 1 章 序 論 1 2 章 Raspberry Pi とネットワーク 装 置 2 2.1 Raspberry Pi の 特 徴 と 機 能 2 2.2 Raspberry Pi を 使 ったネットワーク 装 置 の 例 3 3 章 ビデオメッセージ 端 末 の 開 発 4 3.1 YouTube Data API とビデオメッセージのアップロード 4 3.2 ビデオメッセージ 端 末 のシステム 構 成 6 3.3 ビデオメッセージ 端 末 の 操 作 手 順 6 3.4 システムを 構 成 するソフトウエア 7 3.5 開 発 したプログラム 9 4 章 実 験 結 果 と 考 察 13 4.1 ビデオメッセージ 端 末 の 性 能 13 4.2 ビデオメッセージ 端 末 の 利 用 状 況 13 4.3 考 察 13 5 章 結 論 15 参 考 文 献 謝 辞 付 録 16 16 17 iii
1 章 序 論 インターホンやテレビドアホンには 留 守 録 機 能 を 持 つものがあり,いつ 誰 が 訪 問 してきたのかを 帰 宅 後 に 確 認 することができる. 留 守 録 を 外 出 中 にスマート フォンから 確 認 することができれば,この 機 能 はさらに 便 利 なものになる. Panasonic の 製 品 に 家 じゅうどこでもドアホン というものがある[2]. 親 機 とワイヤレスで 接 続 された 子 機 を 使 うことで 家 のどこにいても 来 客 の 対 応 が 可 能 である.また 専 用 のアプリをスマートフォンにインストールすることで, 親 機 と 接 続 されたルータの 電 波 が 届 く 範 囲 なら,スマートフォンからも 来 客 の 対 応 ができる.この 製 品 には, 外 出 中 でも 訪 問 者 の 画 像 を 確 認 することができ る 機 能 がある.しかし, 来 客 との 対 応 ができる 訳 ではない. 誰 が 訪 問 してきた かは 確 認 できるが, 用 件 まで 確 認 することはできない. 留 守 録 をスマートフォ ンから 確 認 することができれば, 訪 問 の 内 容 まで 把 握 できるため, 外 出 中 の 来 客 に 素 早 く 対 応 することができる. 本 研 究 では, 専 用 回 路 や 周 辺 機 器 を 容 易 に 接 続 することができ,オーダーメイドなデジタル 機 器 の 試 作 に 利 用 できる Raspberry Pi という CPU 基 板 を 用 いて, 外 出 中 でもスマートフォンから 留 守 録 を 確 認 することができる ビデオメッセージ 端 末 を 開 発 する. 留 守 録 をスマートフォンから 確 認 する 手 段 として,ビデオメッセージを SNS へアップロードすることが 考 えられる.SNS はインターネット 上 の 交 流 を 通 して, 人 と 人 とのつながりを 促 進,サポートするコミュニティ 型 の Web 技 術 である. SNS に 留 守 録 をアップロードすることができれば,その 内 容 をスマートフォンか ら 簡 単 に 確 認 することができる. SNS には twitter,facebook,line などがある.しかし twitter や Facebook に 留 守 録 をアップロードすると, 登 録 された 全 ての 人 がその 動 画 を 視 聴 するこ とができるため,プライバシーを 守 ることができない.YouTube は 非 公 開 で 動 画 をアップロードすることができ, 自 分 だけが 確 認 することができる.そこで, 本 研 究 では Raspberry Pi に 実 装 するアプリケーションから,YouTube にビデオ メッセージをアップロードする 方 法 を 採 用 する. 本 論 文 は, 次 のように 構 成 される.2 章 で Raspberry Pi の 特 徴 と 機 能, 開 発 可 能 なネットワーク 装 置 について 述 べる.3 章 ではビデオメッセージ 端 末 のシス テム 構 成 と,システムを 構 成 するためのソフトウエアについて 説 明 する.4 章 で はビデオメッセージ 端 末 の 性 能 と 利 用 状 況 についての 評 価 を 行 う.5 章 で 結 論 を 述 べる. 1
2 章 Raspberry Pi とネットワーク 装 置 2.1 Raspberry Pi の 特 徴 と 機 能 Raspberry Pi は 英 国 ラズベリー 財 団 が 開 発 した 名 刺 サイズのコンピュータで ある. 子 供 や 学 生 にコンピュータ 技 術 を 学 んでもらい,プログラミングの 知 識 や 技 術 を 身 につけることが 目 的 である. Raspberry Pi は Python を 主 要 なプログラミング 言 語 として 利 用 することが 想 定 されている.それが,Pi という 名 前 の 由 来 でもある.しかし,Python 以 外 に, C 言 語 や C++,Java などのコンパイラ 言 語,PHP,Ruby,Perl といったスクリプ ト 言 語 も, 普 通 に, 使 用 可 能 である.さらに,GPIO という 汎 用 入 出 力 端 子 に 専 用 回 路 を 接 続 することで,オーダーメイドなデジタル 機 器 を 開 発 することがで きる. Raspberry Pi で 使 用 できる OS は 1 種 類 ではない.オープンソースで 開 発 され, 無 償 で 利 用 できる Raspberry Pi 用 の OS が 何 種 類 もある.その 中 で, 最 も 一 般 的 な OS は Raspbian である.Raspbian は Linux のディストリビューションの 1 つである Debian の 豊 富 なソフトウエアが 利 用 でき, 接 続 可 能 な 周 辺 機 器 も 多 い. 本 研 究 ではこの Raspbian を 使 用 する. Raspberry Pi には 普 通 のパソコンに 匹 敵 するインタフェースが 用 意 されてい る. 図 1 を 例 に 説 明 していく.Raspberry Pi の 大 きな 特 徴 として,ハードディ スクは 使 用 せず,OS を SD メモリカードから 起 動 する 点 が 挙 げられる.1はその SD メモリカードの 挿 入 口 である.2は Raspberry Pi へ 電 力 を 供 給 するための 電 源 端 子 である.3はディスプレイに 接 続 する HDMI 端 子 である.4は USB2.0 ポ ートである.5には 40 本 の 端 子 があり, 多 数 の GPIO( 汎 用 入 出 力 ) 端 子,UART (シリアル 通 信 ) I2C( 電 子 回 路 のシリアル 通 信 )などの 通 信 用 端 子, 電 源 用 に 3.3V,5V,GND 端 子 が 用 意 されている.6はイーサネットポートであり, Raspberry Pi をネットワークに 接 続 できる.7はカメラモジュール 接 続 用 の 拡 張 ポートである. ウェブカメラやカメラモジュールを 接 続 すれば 映 像 を 記 録 でき,GPIO に LED を 接 続 すれば 光 らせることができる. 他 にも 様 々な 機 能 が Raspberry Pi には 備 わっている. 2
図 1 Raspberry Pi2 Model B 2.2 Raspberry Pi を使ったネットワーク装置の例 Raspberry Pi を使うと様々なネットワーク装置を開発することができる 例えば ウェブカメラを使用することで 監視カメラを開発することができ る mjpg-streamer というソフトウエアをインストールすることで 動画のスト リーミング配信を行うことができる また 動画の撮影を行っている Raspberry Pi の IP アドレスへアクセスすることで その映像を Web から確認することもで きる 他にも GPIO に接続したスイッチを用いて スイッチを押すと定型文を 自動で twitter につぶやく装置も開発することができる ttytter という twitter クライアントを使用することでコマンドラインから様々なつぶやきを 投稿することができる このようにさまざまな用途に利用されている Raspberry Pi ではあるが 調査 した範囲では Raspberry Pi に実装したアプリケーションから SNS に動画をア ップロードする機能を持つものはなかった 3
3 章 ビデオメッセージ 端 末 の 開 発 序 論 と2 章 で 述 べたことから, 玄 関 などに 設 置 する 端 末 装 置 で, 訪 問 者 が 入 力 する 録 画 メッセージを,SNS を 介 してスマートフォンから 確 認 できる 装 置 を 開 発 することにした. Raspberry Pi のソフトウエアを 開 発 するために,Raspberry Pi 本 体, 通 常 の ディスプレイ,キーボード,マウス,イーサネット 接 続 が 必 要 である.また, ビデオメッセージ 端 末 として 動 作 させるために,カメラモジュール,マイク, 小 型 ディスプレイモジュール,スイッチ,モバイルバッテリが 必 要 である. 今 回 は, 小 型 ディスプレイモジュールとして,40 文 字 の 英 数 字 表 示 が 可 能 な 製 品 を 利 用 した.システム 開 発 中 は,これらのすべてを 接 続 してプログラムを 作 成 する.システムが 完 成 すれば, 通 常 のディスプレイとキーボード,マウスを 取 り 外 し,ビデオメッセージ 端 末 として 動 作 させる. 図 2 ビデオメッセージ 端 末 を 構 成 する 要 素 3.1 YouTube Data API とビデオメッセージのアップロード Twitter, Facebook, LINE などの SNS には 動 画 を 共 有 する 機 能 がある.それは, SNS のアプリケーションソフトの 機 能 として 備 わっているものであり,ユーザは SNS が 用 意 したインタフェースを 利 用 して 動 画 をアップロードする.それに 対 し て, 今 回 はビデオメッセージ 端 末 用 に 独 自 のソフトウエアを 開 発 し,そのプロ グラムの 中 から SNS に 動 画 をアップロードする 計 画 である. SNS など 外 部 ソフトウエアの 機 能 の 一 部 は,API(Application Program 4
Interface)と 呼 ばれる 関 数 を 通 じて,ユーザプログラムから 利 用 することがで きる. 今 回 の 開 発 にあたって,そのような SNS の API を 調 査 した.その 結 果, YouTube Data API(v3)を 使 うことで,ユーザプログラムから 動 画 をアップロー ドできることがわかった.YouTube Data API(v3)は,Google Developers という, Google 関 連 のソフトウエアやオープンソースソフトウエアの 開 発 者 向 けのサイ トが 提 供 している API である. YouTube Data API(v3)の Python インタフェースを 使 って, 動 画 をアップロー ドする 手 順 を 説 明 する.まず Google APIs Client Library for Python という Python 向 けのクライアントライブラリを, 次 のように Raspberry Pi にインスト ールする. $ sudo pip install -upgrade google-api-python-client 次 に,Google Developers Console というサイトにアプリケーションを 登 録 す ることで,YouTube Data API(v3)を 使 用 することができるようになる.さらに, Google Developers Console に 新 しいプロジェクトを 作 成 し,そのプロジェクト の YouTube Data API v3 を 有 効 にする. 次 に 認 証 情 報 として,OAuth2.0 クライ アント ID を 追 加 する. 認 証 情 報 の 承 認 済 みのリダイレクト URL に http://localhost:8080/を 入 力 して 作 成 を 行 うと,OAuth のクライアント ID と クライアントシークレットを 取 得 できる.YouTube Data API(v3)が 提 供 する client_secrets.json というファイルの,クライアント ID とクライアントシー クレットを 記 入 する 部 分 に, 自 分 が 取 得 したものを 記 入 する. 以 上 で, 事 前 の 準 備 は 完 了 である. 動 画 をアップロードする Python コード upload_video.py を 作 成 する. 実 際 に は,YouTube Data API(v3)のサイト[1]にある upload_video.py のコードをダウ ンロードして,そのまま 利 用 した.このコードを 実 行 するときは, 次 のように, コマンドラインから 動 画 の 属 性 情 報 を 引 数 として 与 える. $ python upload_video.py --file= out.avi --title= ビデオメッセージ --description= 訪 問 者 がビデオメッセージを 残 しました --keywords= 留 守 録 --category= 22 --privacystatus= private 5
上 の 例 で,--file=に 続 く 文 字 列 はアップロードする 動 画 のファイル 名 である. title は 動 画 のタイトルである.description はその 動 画 の 説 明 であり,category は 動 画 に 関 連 する YouTube 動 画 カテゴリのカテゴリ ID である.ここではデフォ ルト 値 である 22( 人 &ブログ カテゴリ)にしておく.keywords は 動 画 に 関 連 す るキーワードのことである.privacyStatus は public にすると 公 開,private にすると 非 公 開 となる.ビデオメッセージは 本 人 以 外 が 視 聴 することは 許 され ないので,ここでは 非 公 開 にするため private に 設 定 する. 以 上 を 実 行 すると, 引 数 に 与 えられた 情 報 を 持 つ 動 画 が YouTube にアップロードされる. 3.2 ビデオメッセージ 端 末 のシステム 構 成 ビデオメッセージ 端 末 のシステムを 図 3 に 示 す. 端 末 本 体 は,Raspberry Pi とカメラモジュール, 小 型 ディスプレイモジュール,マイク,スイッチ,モバ イルバッテリで 構 成 される.Raspberry Pi で 動 作 するアプリケーションは Python,C,シェルスクリプで 記 述 したプログラムの 組 み 合 わせである. 訪 問 者 が Raspberry Pi 本 体 に 入 力 するビデオメッセージは,YouTube Data API(v3)を 利 用 して YouTube サーバにアップロードされる.ビデオメッセージを 受 け 取 っ た YouTube サーバはユーザのスマートフォンにメールを 送 信 する.メールを 確 認 したユーザは,YouTube にアクセスしてビデオメッセージを 閲 覧 する. 図 3 ビデオメッセージ 端 末 のシステム 構 成 3.3 ビデオメッセージ 端 末 の 操 作 手 順 訪 問 者 は, 次 のようにビデオメッセージ 端 末 を 操 作 する. 玄 関 に 設 置 された 6
端 末 のそばに, 留 守 の 場 合,この 端 末 を 利 用 してビデオメッセージを 送 ること ができます のような 案 内 を 掲 示 する.ビデオメッセージを 残 す 訪 問 者 は 端 末 のスイッチを 押 す.するとビデオメッセージの 記 録 が 始 まる. 入 力 を 終 えると, ビデオメッセージが, 自 動 的 に YouTube にアップロードされる. 訪 問 者 は 端 末 のスイッチとキャラクタディスプレイを 用 いて,ビデオメッセ ージの 記 録 状 態 を 確 認 制 御 する.キャラクタディスプレイに 表 示 される 文 字 とスイッチ 操 作, 端 末 の 状 態 を 図 4 に 示 す. 初 期 状 態 では Please Push Button と 表 示 しておく. 訪 問 者 がスイッチを 押 すと, Start a Message After 5sec を 表 示 する.5sec の 部 分 は, 順 次,0sec までカウントダウンする.これは, 訪 問 者 に 時 間 の 余 裕 を 与 えて, 良 いビデオメッセージを 記 録 してもらうためであ る.カウントダウンが 終 わると Recording 10sec と 表 示 し,ビデオメッセ ージの 記 録 を 行 う.ビデオメッセージの 記 録 が 終 わると Done Thank you!! と 表 示 し,5 秒 後 に 最 初 の Please Push Button に 戻 る. 図 4 ビデオメッセージ 端 末 に 表 示 されるディスプレイの 流 れ 3.4 システムを 構 成 するソフトウエア Raspberry Pi は, 音 声 入 力 が 標 準 機 能 として 備 わっていないため,そのまま では 音 声 付 き 動 画 を 作 成 することができない.そこで, 次 のようにして 音 声 付 動 画 を 作 成 した. まず, 記 録 する 動 画 の 長 さを 10 秒 間 に 固 定 した.raspivid コマンドを 使 うと, 次 のように, 音 声 の 付 いていない 10 秒 の 動 画 を 作 成 することができる. $ raspivid o video.avi t 10000 w 640 h 480 vf -o オプションで 保 存 するファイル 名 を 指 定 する.-t オプションで 撮 影 する 秒 数 を 指 定 する. 単 位 はミリ 秒 であるため,10 秒 間 の 場 合 -t 10000 となる.-w,-h 7
で 画 像 の 横 と 縦 の 画 素 数 を 指 定 する.この 場 合 640 480 画 素 で 保 存 される. 設 置 した 状 態 ではカメラが 反 転 するため-vf オプションで 180 度 回 転 させる. 以 上 で 10 秒 の 音 声 なし 動 画 を 作 成 することができる. 次 に 10 秒 の 音 声 の 録 音 する 方 法 を 説 明 する.Raspberry Pi で 音 声 を 録 音 する ためのライブラリ alsa-utils,sox,libsox-fmt-all を 下 記 のようにインスト ールする. $ sudo apt-get install alsa-utils sox libsox-fmt-all 次 にオーディオモジュールの 優 先 順 位 を 変 更 する.cat /proc/asound/modules を 実 行 するとモジュールの 優 先 順 位 を 確 認 できる. $ cat /proc/asound/modules 0 snd_bcm2835 1 snd_usb_audio となっておれば,USB 入 力 を 優 先 させるため,/etc/modprobe.d/alsa-base.conf を 次 のように 書 き 換 える. : # keep snd-usb-audio from being loaded as first soundcard option snd-usb-audio index=-2 : となっているところを : # keep snd-usb-audio from being loaded as first soundcard # option snd-usb-audio index=-2 option snd-usb-audio index=0 : に 変 更 し,リブートする.cat /proc/asound/modules で 確 認 すると, $cat /proc/asound/modules 0 snd_usb_audio 1 snd_bcm2835 のように, 優 先 順 位 が 変 更 されている. 以 上 で 録 音 の 準 備 は 完 了 した.USB マイクを 接 続 し,arecord コマンドを 使 っ て, 次 のように 録 音 する. $ arecord D plughw:0,0 d 10 sound.wav 8
plughw:の 0,0 はマイクのカード No とデバイス No である.arecord l コマンド で 自 分 の 環 境 でのカード No とデバイス No を 調 べることができる.-d で 秒 数 を 指 定 し, 最 後 にファイル 名 を 指 定 する. 以 上 で 音 声 が 記 録 できる. 音 声 なし 動 画 の 記 録 と 音 声 の 記 録 を 同 時 に 行 うには,2 つのコマンドラインを & で 結 合 する.つまり $ arecord D plughw:0,0 d 10 sound.wav & raspivid o video.avi t 9000 w 640 h 480 vf と 入 力 することで,これら 2 つの 処 理 を 同 時 に 実 行 できる. 音 声 ファイルと 音 声 なし 動 画 ファイルを 結 合 して, 音 声 付 き 動 画 を 生 成 する ためのソフトウエアとして avconv がある. 次 のように,avconv をインストール する. $ sudo apt-get install avconv avconv コマンドを 使 って 2 つのファイルを 結 合 する. $ avconv i video.avi i sound.wav map 0:0 map 1:0 out.avi -i で 結 合 するファイルを 指 定 する.-map は 結 合 するファイルに 割 り 当 てた Stream を 指 定 する. 後 に 出 力 する 動 画 ファイルの 名 前 を 指 定 する.Stream とは データの 入 出 力 全 般 を 扱 うデータ 列 のことであり, $ avconv i video.avi i sound.wav と 記 述 することで 確 認 することができる. これらの 処 理 を 行 うことで 音 声 付 動 画 を 作 成 することができる. 3.5 開 発 したプログラム ビデオメッセージ 端 末 用 に 開 発 したプログラムのフローチャートを 図 5 に 示 す. 9
図 5 ビデオメッセージ 端 末 用 プログラムのフローチャート プログラムの 先 頭 で,WiringPi の 初 期 化 を 行 う.WiringPi は Raspberry Pi の GPIO を 制 御 するためのライブラリである[3]. 次 いで,キャラクタディスプ レイに Please push button と 表 示 させる. 次 に,スイッチが 押 されている かの 判 定 を 行 い, 押 されていればディスプレイに Start a Message After 5sec から 0sec までのカウントダウン 表 示 を 行 う.カウントダウンが 終 了 すると, 次 にビデオメッセージの 録 画 及 び,YouTube へのアップロードを 行 う.これらの 処 理 はシェルスクリプトを 用 いる.シェルスクリプトの 処 理 の 流 れを 図 6 に 示 す. 音 声 の 録 音 と 動 画 の 撮 影 を 同 時 に 行 い, 次 にそれら 2 つのファイルを 結 合 する. 結 合 したファイルを YouTube にアップロードした 後,そのファイルを 削 除 する. 同 じ 名 前 のファイルを 作 成 すると, 上 書 きするかどうかを 確 認 するため 処 理 が 止 まってしまう.よってファイルは 毎 回 削 除 しなければならない. 10
図 6 シェルスクリプトの 処 理 の 流 れ ビデオメッセージ 端 末 用 のソフトウエアは,Raspberry Pi に 電 源 を 入 れた 直 後 に, 自 動 的 に 実 行 されなければならない.そのように 設 定 するために,まず raspi-config を 操 作 し, 起 動 時 にキャラクター 端 末 で login 待 ちするモードに する. 次 に,/etc/inittab を 編 集 する. 1:2345:respawn:/sbin/getty 38400 tty1 となっている 行 をコメントアウトし, 1:2345:respawn:/bin/login f pi tty1 /dev/tty1 2>&1 と 入 力 する.これで login 待 ちしないでユーザ pi で 自 動 的 にログインする. 最 後 に.profile ファイルの 最 後 の 行 に 実 行 したいコマンドを 入 力 する. 以 上 の 設 定 に 加 えて,プログラムを 終 了 してシャットダウンさせる 手 順 と, GUI に 戻 る 手 順 をプログラムに 加 える. 図 7 の 赤 線 で 示 したのが 追 加 部 分 である. この 処 理 を 加 えることによって,ブートアップ 終 了 直 後 にスイッチを 押 してい ればプログラムが 終 了 し,GUI に 移 る.また,5 秒 のカウントダウン 直 後 にスイ ッチを 押 していればシャットダウンする. 以 上 がビデオメッセージ 端 末 用 のプ ログラムである. 11
図 7 ビデオメッセージ 端 末 用 プログラムに 終 了 の 手 順 を 加 えたフローチャート 12
4 章 実 験 結 果 と 考 察 4.1 ビデオメッセージ 端 末 の 性 能 端 末 のスイッチを 押 すと,ビデオメッセージの 記 録 YouTube へのアップロー ドを 行 う.スイッチを 押 すと 途 中 で 終 了 することができないため,やり 直 すこ とはできない.ビデオメッセージの 長 さは 10 秒 で, 動 画 サイズは 480 640 画 素 である.スイッチを 押 して,ビデオメッセージが YouTube にアップロード 完 了 するまでに 要 する 時 間 は 約 1 分 である.アップロードされてメールが 届 くま での 時 間 は 約 5 分 である.メール 文 の, 動 画 の URL をクリックすると 動 画 を 確 認 することができる.その 時 点 でいつ 誰 が 訪 問 してきたのかを 確 認 することが できる.つまり 訪 問 者 がビデオメッセージを 投 稿 して, 本 人 が 確 認 するまでの 時 間 は 約 6 分 である.ディスプレイには 30 文 字 の 英 語 を 表 示 することができる. 以 上 がビデオメッセージ 端 末 の 性 能 である. 4.2 ビデオメッセージ 端 末 の 利 用 状 況 研 究 室 の 入 口 に 実 際 に 設 置 して 利 用 してみることで 以 下 のことがわかった. 使 用 しているディスプレイモジュールに 表 示 できるのは 英 語 だけ,かつ 30 文 字 以 内 と 限 られているため,この 端 末 の 状 態 を 十 分 に 説 明 ができない.よって どういった 端 末 なのか 分 からないため, 説 明 書 きを 隣 に 貼 らなければならなか った. スイッチを 押 すとビデオメッセージ 録 画 のカウントダウンが 始 まるのは, 何 を 話 すか 考 えるための 時 間 的 な 余 裕 を 与 えるため,よい 点 である.しかし, 現 在 の 装 置 は, 録 画 中 に 録 画 時 間 の 10 秒 をカウントダウンできない.これは,シ ェルスクリプトとディスプレイを 動 かす 処 理 を 同 時 に 行 えないためである.こ れではいつ 動 画 が 終 わるのかはっきりと 認 識 できないので, 不 便 である.また, 文 字 だけを 表 示 するディスプレイモジュールを 使 用 しているため, 録 画 中 にど のように 映 っているのかを 確 認 することができない. 装 置 の 外 観 について 述 べると,マイクが 少 し 大 きい. 説 明 書 き, 本 体,LAN ケ ーブルと 合 わせると, 全 体 でかなりの 幅 をとってしまう. 4.3 考 察 システムとしては 一 通 り 仕 上 がっているためビデオメッセージ 端 末 としての 機 能 は 果 たせているがまだまだ 改 善 点 は 残 っている. 改 善 すべき 事 項 に 次 のも 13
のがある. (1) 端 末 の 説 明 書 きを 不 要 にする. (2) 10 秒 間 の 録 画 中 に 秒 数 をカウントダウンできるようにする. (3) 録 画 中 に 映 っている 自 分 の 映 像 を 確 認 できるようにする. これらは 全 てタッチパネル 付 きディスプレイモジュールを 利 用 することで 解 決 できると 考 えている. 例 えば,タッチパネルモジュールに 留 守 録 を ( 名 前 ) に 送 りましょう と 表 示 してその 下 に push とするだけでこの 端 末 の 機 能 を 理 解 することができる.タッチパネルモジュールにすれば,カウントダウンも, 映 像 を 映 すことも 可 能 である.それだけでなく 他 の 機 能 も 追 加 できるようにな ると 考 えられる. 映 像 だけでなく 文 章 を 残 したり, 映 像 と 文 章 どちらも 送 った りと 端 末 としての 幅 も 広 がるのではないかと 考 えられる. 無 線 LAN にしてマイクも 小 型 化 できれば 幅 もとらないしビデオメッセージ 端 末 として 見 栄 えもよくなると 考 えられる. 14
5 章 結 論 留 守 中 にスマートフォンから 留 守 録 を 確 認 することができる 端 末 ビデオメ ッセージ 端 末 の 一 通 りのシステムを 開 発 することができた.スイッチが 押 さ れると,5 秒 後 に 10 秒 間 のビデオメッセージの 録 画 が 始 まり,そのままそのビ デオメッセージが YouTube に 非 公 開 としてアップロードされる.スマートフォ ンに,アップロードを 知 らせるメールが 送 られ,メール 中 の URL をクリックし て 動 画 を 確 認 する.この 端 末 を 使 うことでいつ 誰 が 来 客 してきたのかが 外 出 中 に 確 認 できるようになった.これを 使 えば, 外 出 中 にすぐに 対 応 しなければいけ ない 人 が 来 たときに, 内 容 まで 把 握 できるため, 素 早 く 対 応 することができる ようになった. システムは 完 成 したが, 改 善 の 余 地 は 残 されている. 現 在 使 用 している, 英 文 字 30 文 字 だけを 表 示 するディスプレイモジュールでは,ユーザに 伝 えること ができる 情 報 に 限 界 がある.まず,この 端 末 が 一 体 どういった 端 末 なのかが 分 からない.また, 録 画 している 映 像 の 確 認 を 行 えない.タッチパネル 付 きディ スプレイモジュールを 使 用 すればそれらは 解 決 できると 考 えられる.さらに, 有 線 LAN から 無 線 LAN に 変 更 し,マイク,モバイルバッテリも 小 型 化 できれば ビデオメッセージ 端 末 としての 見 栄 えもよくなり, 幅 もとらなくなるため, さらに 見 た 目 としての 良 質 なものが 仕 上 がると 考 えられる. 15
参 考 文 献 [1] YouTube Data API の 概 要, https://developers.google.com/youtube/v3/getting-started [2] Panasonic 家 中 どこでもドアホン, http://panasonic.jp/door/swd701ks/ [3] Wiring Pi の Web サイト,http://wiringpi.com 謝 辞 本 研 究 を 進 めるにあたり, 丁 寧 な 御 指 導 を 賜 りました 蚊 野 浩 教 授 に 深 く 感 謝 申 し 上 げます. 16
付 録 本 研 究 で 作 成 したプログラムの 説 明 表 1 本 研 究 で 作 成 したプログラム 一 覧 名 前 説 明 rusuban.c ディスプレイに Please push button と 表 示 し,ス イッチが 押 されると Start a Message After 5sec から 0sec までカウントダウンを 行 い,ビデオメッセー ジの 記 録,YouTube へのアップロードを 行 う. 録 画 中 は Recording 10sec と 表 示. 録 画 が 終 わると, Done Thank you!! と 表 示 し, 最 初 の Please push button に 戻 る. videoupload.sh 10 秒 の 音 声 と 動 画 のファイルを 同 時 に 作 成 する. 次 に 音 声 と 動 画 を 結 合 し,そのファイルを YouTube にアッ プロードする. 最 後 にアップロードした 動 画 を 削 除 す る. upload_video.py YouTube Data API(v3)という API でビデオメッセージ を YouTube にアップロードするための Python プログラ ム. client_secrets.json YouTube Data API(v3)という API を 使 用 するためには, Google Developers Console というサイトにアプリケー ションを 登 録 する 必 要 がある.このプログラムでは Google Developers Console からの 情 報 を 取 得 する. 17