Bluetooth を用いた PDA によるすれ違い通信の 実現

Bluetooth を用いた
PDA によるすれ違い通信の
実現
5107120
柴田洋佑
5107080
菅
1
貴将
目次
第 1 章 はじめに--------------------------------------------------------------p3
第 2 章 関連研究--------------------------------------------------------------p4
1 節 スマートフォン----------------------------------------------------p4
2 節 Bluetooth------------------------------------------------------------p5
3 節 GPS-------------------------------------------------------------------p6
4 節 Bluetooth プロファイル-----------------------------------------p7
5 節 Bluetooth を用いたシステムの応用--------------------------p7
第 3 章 Bluetooth を用いた宣伝広告ビジネスの提案---------------p9
1 節 基本アイディア------------------------------------------------------p9
2 節 提案の詳細------------------------------------------------------------p10
3 節 ビジネスへの展開---------------------------------------------------p13
第 4 章 データ送受信の検証-----------------------------------------------p15
1節 プログラミング言語と環境--------------------------------------p15
2節 データ交換-----------------------------------------------------------p16
第 5 章 考察--------------------------------------------------------------------p21
1節 広告配信システムにおける問題点とその対策--------------p21
第 6 章 まとめ-----------------------------------------------------------------p23
1 節 今後の課題------------------------------------------------------------p23
2 節 感想---------------------------------------------------------------------p23
参考文献-------------------------------------------------------------------------p25
謝辞-------------------------------------------------------------------------------p26
2
第1章 はじめに
近年、ネットで飲食店などの情報を取得する方法が広まってきた。たとえば、飲食店の
クチコミ情報サイトで料理の写真やおいしさの感想など十分な情報を提供することができ
る。どのお店へ行こうかと迷っている場合は、このクチコミサイトの情報を参考にするこ
とも多くなってきた。しかし、クチコミサイトなどの問題点はいくつかある。例えば、目
的のお店が掲載されていない場合や、細かな路地の中にあり見つかりにくいお店の情報な
どである。もっと大きな問題点は、なによりもネット上で検索しなくてはいけない点であ
る。携帯電話にて検索する場合、膨大な情報量の中から自分が検索したいピンポイントの
情報を得ることは非常に手間が掛る。検索不要なメールマガジンという手法も存在し一般
化されつつあるが、これは相手方のメールアドレスを取得する必要があり、自身のメール
アドレスもその相手方に送信する必要がある。また、メールマガジンはお店の宣伝目的が
多く、クチコミのような消費者が本当に知りたい情報でない場合が多い。
そこで、クチコミなどの消費者にとって有益な情報を容易に取得できるシステムを開発
した。実現方法は PDA の Bluetooth 通信を使ったデータの送受信ですれ違い通信である。
つまり、メールアドレスを相手に通知したり、会員登録せずに、消費者同士が町ですれ違
うだけで情報が交換できるシステムである。たとえば、現在自分が検索したい飲食店があ
るとする。そんな時、リアルタイムにて自身の現在地からその周辺のお店を見つけ出し、
店の評価を受信することが可能である。わざわざ、メールアドレスの取得や会員登録の必
要もなく、又、特別な作業を行うことなく Bluetooth 搭載の携帯情報端末を持ち歩くだけ
で自動的に情報を取得できる。このシステムの特徴としてもう一点注目したい点がある。
それは同じ目的や趣向の集まるところに行けば自然とその情報を得られる点である。例え
ば、電気街なら電気店の情報が、飲食店の集まっている繁華街なら飲食店の情報が自然と
集まる。この点を利用し、いかに自分が欲しい情報が速やかに取得できるかが見て取れる。
従来では細かいお店の情報を取得するのに大きな手間と時間を要していたが、本システム
を活用することにより、リアルタイムかつメールアドレス不要で日常生活における普段の
行動にて情報交換が可能になる。
すでに携帯端末でのデータ通信等は携帯でもゲーム機でもあるが、本提案は携帯でもゲ
ーム機でもあまり注目されていない Bluetooth を使用する。これにより、今後 Bluetooth
を使ったデータ通信が注目され活発になり、人間がいつでもどこでも情報が取得できると
いったユビキタス社会への一歩として貢献できる提案になると考えられる。
第2章では本提案に関連する研究を紹介し、Bluetooth を使うメリット、デメリットにつ
いては第3章で説明する。第4章では実際にデータを送受信させてみて、システムがどの
3
ようにして機能しているのかを実験、検証する。第5章では本システムにおいて広告配信
としてのデータ通信だけでなく、その他の分野にて Bluetooth を用いて行われるビジネス
の応用を紹介する。第6章にて、本システム全体の考察、検証し、多角的な視点において
Bluetooth を用いたすれ違い通信の活用方法などを提案する。第7章では本システムを通じ
ての感想や今後の課題などを述べる。
第2章
関連研究
本章では、Bluetooth を用いたデータの送受信において用いた技術に関連する技術の研究
について述べる。1節では本システムで使われたスマートフォンについて説明する。2節
では本システムにおいてメインとなる Bluetooth についての説明を述べる。
1節
スマートフォン
現在、iPhone 等のスマートフォンが注目されつつある中で、携帯端末の普及率は増加し
つつある。今話題となっている iPhone や Android などを代表として多機能な携帯電話のこ
とをいう。簡単にいえば、携帯電話とパソコン・PDA(携帯情報端末)の機能を組み合わ
せたものといえる。
スマートフォンとは携帯電話や PHS の電話やメール機能に加え、携帯情報端末(PDA :
Personal Digital Assistant)のスケジュール、住所録、メモなどの情報を携帯して扱うた
めの小型機器機能が融合して出来た高機能携帯電話である。最近では Bluetooth や Wi-Fi・
無線 LAN などの通信規格が搭載された機器も開発されている[1]。
従来の携帯電話と比較して、画面が広く通信機能が強化されて閲覧可能な web サイトも
拡充されているなど、音声通話以外の機能が充実している。アプリ(アプリケーション)をダ
ウンロードすることにより、自分好みに、パソコンのような使い方ができるのが特徴であ
る。それに対してこれまでの日本の携帯を「ガラケー」
(ガラパゴスケータイの略)と呼ぶ。
近年(2010 年時点)のスマートフォンは、音声通話機能よりプログラムの使用や WEB サ
イトへのアクセスなどの機能が話題となることが多く、もはや「携帯電話」というより「音
声通話可能な携帯コンピュータ」という性格のほうが強い[2]。
スマートフォン増加傾向は急激で、今後もスマートフォン市場がさらに拡大していくこ
とが予想される。図 1 は国内におけるスマートフォン普及率を市場規模でみたときの推移
である。黄色の棒グラフが国内スマートフォンの出荷数実績であり、赤の折れ線グラフは
前年度比である[3]。(出典:矢沢経済研究所)
これをみてわかるように 2008 年を境に前年度比は下降に転換し,2009 年からは緩やか
な下降となる。また、国内スマートフォンの普及は年々増加傾向にあり、今後も国内スマ
ートフォンの出荷数はさらに増えると考えられる。この分析結果から、いかにスマートフ
4
ォンが消費者にとって身近な存在として確立してきているかが見てとれる。
また、2010 年今冬 au から「IS03」が市場に投入されそれまで首位を独走していた
「iPhone」が 3 位、4位にまで転落するといったことが起こっている。さらに 2 位は NTT
ドコモの「GALAXY S」 がランクインしており Android 端末は今後続々と発売される[4]。
そんな中でもおサイフケータイやワンセグといった携帯電話の大部分の機能が盛り込ま
れたスマートフォンが人気を伸ばすのか、または,最新の OS を搭載したグローバルに適し
たスマートフォンが上位を獲得するのか等不安定要素はあるが,スマートフォンが今後さ
らに普及するのは間違いないと考えられる。
図1
国内におけるスマートフォン市場規模推移
2節 Bluetooth
Bluetooth とは従来のパソコンや現在の携帯ゲーム機器で使われている Wi-Fi とは異なっ
た通信規格をもつ。Wi-Fi が IEEE802.11g や IEEE802.11a などの規格に対し、Bluetooth
では IEEE802.15.1 の通信規格であり、免許申請不要で 2.4GHz 帯の周波数を利用している。
Bluetooth は携帯情報機器などで数メートル程度の機器間接続に使われる短距離無線通
信技術の一つであり、Ericsson 社、IBM 社、Intel 社、Nokia 社、東芝の 5 社が中心に提
唱している。ノートパソコンや PDA、携帯電話などをケーブルを使わずワイヤレスにて接
続し、音声やデータのやりとりすることができる[5]。
5
また、Bluetooth では無線機器同士にて半径 10~100m 範囲で常時通信を行うことがで
きる。さらに、Bluetooth は赤外線を利用する IrDA と違って、機器間の距離が 10m 以内
であれば障害物があっても利用することができる。その他、Bluetooth は 0.5 平方インチの
小型のトランシーバを利用するため、IrDA に比べ消費電力が小さく、製造コストも低く抑
えられる。Bluetooth を使ったシステムとして、画像ファイルの転送、アドレスの交換、名
刺の交換などすでに開発されているが、今回はその基礎部分のデータを送受信についてシ
ステムを作った。最近では、Bluetooth 同様オーディオプレーヤやデジタルカメラといった
家電製品にも用いられ、ニンテンドーDS や PSP においても様々な形で利用されてきてい
る。
本提案ではそういった利点を踏まえた上で Bluetooth を用いることにより、新たなビジ
ネスの形態を研究し提案した。今や Bluetooth は多くの携帯電話、PDA などの携帯機器に
搭載されており一般化されつつある。また、上記で述べたように消費電力の面も優れてい
る。そういう点からもビジネスの現場など様々な場面においての応用が利くと考えた。
3節
GPS
GPS とは全地球測位システム(Global Positioning System)といい、人工衛星によって現
在自分がどこにいるのかなどの位置を正確に示すことができるシステムのことをいう。
GPS は地球周回軌道上に 30 基程配置された人工衛星が発信する電波を利用することによ
って、人工衛星からの送信データを受信機側で緯度・経度・高度などを分析し、そこから
数 cm から数十 m の誤差で目的物の現在位置を割り出すことができるシステムである[7]。
また、DGPS (Differential GPS)というのも存在しており、こちらは位置の分かっている
基準局が発信する FM 放送の電波を利用して、GPS の計測結果の誤差を修正して精度を高
める技術である。これにより、通常の GPS では 100m 程度の誤差が生じるが、DGPS によ
っておおむね 5m 程度に誤差が軽減されることになる[8]。近年、携帯電話やカーナビゲー
ションシステム等に組み込まれることによって GPS が急速に普及され、それに伴い GPS
を利用した位置情報を提供するサービスが様々な分野において発展してきた。
本システムにおいて GPS は直接的には利用している訳ではないが、Bluetooth を利用し
たビジネスの提案(第 3 章)において宣伝広告を電子媒体として配信する今後のコンテン
ツとして GPS を採用することにより、さらに利用者にとって充実したサービスの提供を行
うことができるのではなかと考えられる。
4節
Bluetooth プロファイル
6
Bluetooth プロファイルとは Bluetooth でデータの送受信する際に実行される、機器の種
類ごとに策定されたプロトコルの標準規格である[9]。Bluetooth は従来の通信技術のよう
に、ただ回線を繋いでデータの送受信ができるだけでは不十分であり、どのような順序・
タイミングで、データの種類によってどのようにデータが送受信されるのかという機器の
「使い方」にあたる手順を決めておく必要があり、それによってデータの識別をしている。
Bluetooth は 2.4GHz 帯の電波によって近距離無線通信を行っている。Bluetooth が普及
され始めて約 10 年以上もの年月が経っており、その無線技術は目新しいものではないとさ
れている。そこで、Bluetooth ではオーディオ機器や PC、マウス、キーボードなど様々な
デバイスによって利用されている。それぞれの機器では固有のプロファイルが設定されて
おり、送受信する双方の機器において同じプロファイルが必要になる。たとえば、Bluetooth
対応の携帯電話やスマートフォン等を、ヘッドセットと接続して利用しようと考えた場合、
「ヘッドセット プロファイル (HSP : Headset Profile)」というプロファイルが携帯電話、
ヘッドセットの双方に設定されているので、問題なく利用できるということになる。
この考えから、機器固有の通信手順(プロトコル)を製品の特性ごとに標準化したものが
Bluetooth プロファイルである。また、業界団体の Bluetooth SIG によって機器の種類ごと
に標準のプロファイルが策定されているほか、メーカーが自社固有の機能を実装した独自
のプロファイルを提供することもできる。
5節 Bluetooth を用いたシステムの応用
Bluetooth を用いたビジネスにはまだまだ多くの可能性があると考えられる。例えば、音
楽プレーヤーで用いられるイヤホンの場合、従来のイヤホンはプレーヤー本体とイヤホン
を有線で繋ぐ必要があった。しかし、最近では Bluetooth を用いたワイヤレスイヤホンの
普及が盛んに行われている。これは、Bluetooth のシステムの応用されている一部であるが
さらに大規模で Bluetooth が活用されている場所がある。それは福祉の現場である。
老人ホームや病院においては老人や患者が今どこにいるのかが分からなくなるといった
ことがたまに起こりえる。それが原因で事故が起こる等、病院から外出して行方が分から
なくなるといったことも考えられる。そのような場合、病院内または介護施設などにおけ
る患者を監視するシステムを Bluetooth を用いて実現することにより、リアルタイムに居
場所を確認することができる。たとえば、車いすに Bluetooth のシステムを組み込み、病
院または施設内における至る箇所に Bluetooth 受信用のデバイスを設置しておく。患者が
その場を通過すると Bluetooth 通信が行われ現時点の患者の居場所を特定することが可能
である。現在、この応用は病院内または施設内だけでの提案を述べてきたが、もし屋外へ
患者が出てしまった場合、居場所を特定することが困難であり、患者の居場所を特定する
場合には GPS 機能が必要になる。
ほかの利用方法として、携帯電話とカーナビゲーション(以下カーナビと記す)を
7
Bluetooth で通信を行いカーナビで検索した施設や目的地等に電話番号がある場合、携帯電
話のワンタッチ機能を用いることによってハンズフリー機能によってワンタッチで通話が
可能になる。現在も多くの Bluetooth 搭載のカーナビが出荷されているが、その根底には
やはり手軽に操作ができ、便利という点において Bluetooth が支持されている
8
第3章
Bluetooth を用いた宣伝広告ビジネスの提案
本章では、Bluetooth を用いた宣伝広告が発案されるまでに至った経緯とシステムを背景
とする全体像について述べる。図 2 は本システムにおける宣伝広告ビジネスのイメージで
ある。
繁華街内の店舗
そんなお店ができたんだ!
店舗XXの
情報を取得
帰宅途中
来店
このお店おいしいな
繁華街
来店
店舗XX情報配信
店舗XX情報配信
よさそうなお店ね
住宅街
ビジネス街
移動中
店舗XX情報配信
図2
1節
宣伝広告ビジネス
帰宅途中
イメージ図
基本アイディア
本提案は Bluetooth を用いたすれ違いによるデータの送受信だからこそ実現できるメー
ルアドレス不要型の宣伝サービスである。図 2 を用いて説明すると、配信料を繁華街内に
ある店舗××から回収し、収益を得るビジネス形態である。店舗××に設置してある端末
から消費者の持っている端末へと店の情報が受信され、その消費者が帰宅途中に通る繁華
街にて店舗××の情報をその他の消費者の端末へと配信していく。また、その情報を受け
取った消費者が人とすれ違うことによって店舗××の情報がさらに広がっていくというイ
メージである。1章で説明したように、消費者の知らない店を Bluetooth によるすれ違い
通信によって見つけだすことが可能になる。
このすれ違い通信にするメリットとして、メールアドレス等の個人情報(メールアドレス)
無しで情報を送受信できることにある。そして、駅などすれ違う人が多ければ多いほどよ
り多くの人に広がっていく。また、同じ目的や趣味などが多く集まる街、(例えば電気街、
9
商店街、繁華街)などでは自分の目的に近い情報が手に入ることもすれ違い通信の利点で
ある。すれ違い通信のデメリットとして Bluetooth は無線機器同士にて半径 10~100m 範
囲で常時通信を行う。これは、障害物が間に存在しない形での通信である。障害物が存在
する場合さらに通信範囲は狭まることが考えられる。また、海外に比べると、日本の
Bluetooth 普及率が低く、速度がおよそ 1Mbps と遅いため、大容量のファイル転送には不
向きである。また、日本での Bluetooth 機器の販売価格は、発展途中のため価格が高い傾
向にある。これらのことがデメリットである。
2節
提案の詳細
(1)段階分けによる広がりすぎ防止
1節のメリットでも述べたが、すれ違う人が多ければ多いほど多くの人に情報が広がっ
ていく。しかし、多くの人に広がり過ぎて不必要な情報までも配信・受信してしまう様な
可能性がある。
そこで、不必要な配信・受信を防ぐため、ある一定の期間や情報の送受信に段階分けを
行う。例えば、あるスーパーで特価セールがあるとする。この情報を携帯端末で受信し、
その情報がいつまで配信されるのか、何日まで情報が端末に残っているのかなどを調節し、
情報のリアルタイム性を保つ。その他、情報が1回誰かに配信されたことを第1段階と換
算し、最高3段階目までなど情報がどの程度広がらせたいのかを調節することも可能であ
る。下記図 3 は段階分けにおける概要を示した図である。
図を見てわかるように自社から派遣された従業員に本システムを組み込んだ携帯端末を
持たせビジネス街へ行かせる。そこで一般の消費者 A が所持している携帯端末とすれ違い
通信を行うことによってお店の情報が交換されれば第1段階の通信が行われたといえる。
また、先程ビジネス街で受信された一般の消費者が駅のホーム等に移動する。そこでまた、
駅のホームにいる一般の消費者 B が一般の消費者 A からお店の広告の情報をすれ違い通信
によって受信されれば第2段階の通信が行われたことになる。また、このようなサイクル
が繰り返されていき第4段階または第5段階等になるとこれ以上お店の情報をすれ違い通
信によって配信されないように設定できるようにする。このことにより、お店側は地域に
おけるどれ程の範囲の消費者へお店の宣伝を行っていきたいかを選択できるようになる。
また、消費者にとっても様々なお店の情報が得やすくなり、よりニーズの合ったお店選び
の幅が増えていくことであると予想することができる。
このようにして、伝言ゲームのようにお店の情報が電子媒体によって伝わっていき、特
別な機器や紙媒体のチラシを用いることなく、1人の発信者がいて人とすれ違うだけで宣
伝広告を行える点に本提案の優位性があるといえる。
また、店舗にて本システムを利用する場合 Bluetooth 通信ができる PDA や携帯電話等を
店内に設置するだけで広告配信を行える。店舗内における Bluetooth 通信においては本章
10
(3)マーケティング調査にて詳しく述べていく。
図3
段階分けの概要
(2)高い汎用性
本システムは汎用性の面においても優位である。特定の端末だけに絞ってしまう、特定
の端末を持っている人間だけにしか情報を配信できない。その問題を解決するため、スマ
ートフォンや PDA といった携帯情報端末に加え、現在最も普及率の高い携帯メーカー三社
(au、docomo、SoftBank)の機器でも使用できるようにそれぞれの端末に合ったアプリケ
ーションの作成を行う。
((5)アプリケーションを用いることによる簡易化参照)
そのために、現在普及しつつある Bluetooth という汎用性の高い通信規格を利用した情
報の送受信を行う。これにより、携帯を持っている人間であれば、誰でもすれ違い通信に
てお店の情報を得られる。また、従来の情報通信手段として赤外線などが用いられていた
が、端末同士を数十センチに近づける必要があり、不特定多数の情報配信には不向きであ
る。Bluetooth 通信ならば 10m~100mの範囲で障害物が間になければ無線通信が可能であ
る。
したがって、Bluetooth を用いた携帯情報端末のすれ違い通信は汎用性の高いシステムを
実現できる。
(3)マーケティング調査に利用可能
本システムでは電子媒体としての広告と一緒にクーポン券等を配布することによって店
11
舗ごとの来客数の調査や集客数の増加を狙うといったことも可能になる。
具体的な調査内容は、まず本システムを取り入れた情報端末を店舗設置用としてお店に
置き、実際に稼働させる。その後、情報端末を持った消費者が来店した時、自動的にすれ
違い通信が行われ、店舗によってどれだけの集客数があるのかといった来店情報を調査す
る。図 4 にあるように消費者の情報を店舗側が取得する必要がある。しかし、店舗側がす
れ違い通信によって来店した消費者の情報を得るのは膨大な負荷が掛かり実現の可能性が
困難であるといえる。データベースを利用し店舗側から本システムを提供している自社へ
と来客者情報を登録という手段も考えられるが、通信費用やデータを送付するためのコス
トなどが掛かるためこちらも実現が困難であると考えられる。
そこで、図 4 のマーケティングモデルを参考に店舗側の負荷とコストの面を改良する目
的として図 5 にある新マーケティング調査モデルを提案する。それは、電子媒体として配
信される広告に「一般の消費者に配信される電子広告」と「店舗来店者にだけ配信される
次回来店クーポンとしての電子広告」の二種類の広告コンテンツを用意する。これによっ
て、店舗に来店する消費者が帰宅途中の自社従業員とすれ違い通信を行うことによって、
自社従業員へ「次回来店クーポンの電子広告」が受信される。これにより、クーポンの電
子広告の情報からどの店舗で配信された電子広告なのかを判別し、店舗側が膨大な負荷を
背負うことなく来店者数のマーケティング調査を実施することが可能になる。しかし、こ
の調査内容は自社社員が帰宅途中に店舗に来店する消費者とすれ違う必要があるので、正
確さの面から信用性に欠けるが店舗側の負荷とコストの面を考えられると最適であると考
えられる。
図4マーケティング調査モデル
図5新マーケティング調査モデル
12
3節
ビジネスへの展開
(1)ビジネスとしての発展性
マーケティング調査での利用方法は上記で説明した。その結果を何段階まで配信される
か、また、どのくらいの時期まで配信されるのかを再調整する。また、GPS や GoogleMap
などを利用した広告コンテンツに配信を行っていくことで、さらに充実した電子媒体の広
告配信を提供していくことが可能になる。
従来の紙媒体でのチラシやクーポン、メールアドレスによる会員登録によって取得して
いた情報では共に情報を取得するまでに時間が掛ってしまう。それに伴って来客率が伸び
悩んでいる店舗も多いと考えられる。いかに、消費者が手軽で簡単にお店を探せるかとい
ったことを実現するのが、Bluetooth におけるすれ違い通信の価値であり、有益なビジネス
として発展できると考える。
(2)ニーズを考慮したシステム戦略
現段階で繁華街の飲食店等をといった比較的消費者が継続的に入店し利用することを中
心とした市場でのマーケティングを考えている。その理由としてはホットペッパー等のク
ーポン情報誌によって通常より安く食事ができるといった点や知らない土地でのお店を発
見できる消費者ニーズが存在するからである。
本章1節、2 節で度々出てきたクーポン情報による広告情報の配信についてであるが、こ
ちらについても採算性を考えた戦略がある。それは、通常配布されているホットペッパー
は、掲載料金が全 18 ページのうち 1 ページ載せるだけで 5 万円である。これはお店側に
とっても広告費として安い金額ではない。しかし、ホットペッパーの役割は単にクーポン
情報を記載するだけでなく、チラシ配りのような宣伝広告活動を兼ねている。そこで、本
システムでは現在配布されているクーポン情報誌より安価で多くのお店の情報を提供でき
るサービスを実施するため、お店側にとっても消費者にとってもニーズが高いと考えた。
(3)採算性を考慮したと本システムのコマーシャリズム
本提案は消費者同士による「すれ違い通信」時に配信されるコンテンツの配信料と、本
システムの電子宣伝広告活動を行いたい店舗側からの広告料を徴収し収益を得るビジネス
である。
しかし、本システムを世の中に認知してもらうには宣伝するための期間が必要である。
なので、始めは営業活動に重点を置く。この時、ビジネスコンテストや街でのアピール、
ネット広告等本システムを企業へ提供していく側(以下自社と呼ぶ)が宣伝広告や営業活
13
動を行っていく必要がある。
まず、初期のコンテンツ配信時には店舗から料金を徴収せず、お試し版として利用、配
信とすることで、
「すれ違い通信」による配信店舗のコンテンツ数の増加を狙う。これは「す
れ違い通信」が一般の消費者に広まったとしても、紹介する店舗数が少なければ本ビジネ
スは成功しないからであると考える。配信初期は本サービスで多くの店舗のコンテンツの
配信し、すれ違い通信消費者の増加を狙うこととする。また、お試し版の終了の際、この
システムの利用した店舗からデータを収集することで、システムの料金の調整を行い、店
舗からのニーズが高い場合には料金の変更を随時行っていく。
これにより、店舗側が本システムを導入し、その後自社における採算までも視野に入れ
た計画を可能にすると考えを提案する。
14
第4章
Bluetooth 通信によるファイル交換の設計
本章では Bluetooth 通信によるファイル交換が実際どのように機能しているかを実験し、
Bluetooth を用いてファイルが交換されるまでの過程を技術的な側面について述べる。
尚、今回は PDA と PC で検証したため PDA と PC での説明とする。
1節 プログラミング言語と環境
本提案で使われる PDA などは Windows mobile と言われる OS が使われている。
Windows mobile でのアプリケーション開発に最低でも必要なソフトフェアは Microsoft
Visual
Studio.net と Windows Mobile 6 SDK と Device Emulator Version 3.0 日本語版
と Active Sync 4.5 日本語版と Emulator Images の 5 つである。Microsoft Visual Studio
で使えるプログラミング言語は Visual Basic.NET(VB)、Visual C++(VC)、Visual C#(VC#)、
Visual Web Developer(VWD)の 4 つがある。本プログラムは Bluetooth についての解説が
充実している C#で開発する。Windows Mobile 6 SDK は Windows Mobile アプリの開発
機能を Microsoft Visual Studio に付加するソフトである。Emulator Images と Device
Emulator Version 3.0 日本語版など PC 上で動作を確認するためにエミュレータが必要だ
が、本プログラムはエミュレータでの com ポート番号は PDA 本来のポート番号が異なる
ためエミュレータでは通信できないので今回は MicroSD にアプリケーションを移し PDA
で実行させた。今回は MicroSD に移し実行させたが Active Sync 4.5 日本語版というソフ
トが入っていれば PC と PDA を繋げてデータを直接移すことが可能になる。図 6 はパソコ
ンのプログラムを PDA 用に作り直したものである。
図 6
PC と PDA の画面の比較
15
.NETFramework のクラスにはアプリケーションを作るために多くの機能が用意してある。
しかし、API の機能の全部が用意してあるわけではない。用意していない機能を使用する場
合 Dllimport 属性を使用し、関数が外部にあるのを宣言しなければならない。Dllimport 属性
とはプログラムで使用する関数を呼び出す属性である。パソコンのプログラムと PDA の環
境の違いは OS の違いである。PDA の場合 Windows mobile と言われる OS のため、パソコ
ンと違い、使用できないプログラムなどがある。PDA の場合は、図 7 の 1,5、7、9、11、
13 行目にある kernel32.dll と言うパソコンのプログラムでは重要となっているファイルが
使用できず、Core.Dll に書き換えなければならない。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[DllImport("CoreDll.dll", SetLastError = true)]
static extern unsafe int CreateFile(string lpFileName, uint dwDesiredAccess, uint dwShareMode,
uint lpSecurityAttributes /*really SecurityAttributes pointer*/, uint dwCreationDisposition,
uint dwFlagsAndAttributes, uint hTemplateFile);
[DllImport("CoreDll.dll", SetLastError = true)]
static extern unsafe bool ReadFile(int hFile, void* lpBuffer, int nBytesToRead, int* nBytesRead, int lpOverlapped);
[DllImport("CoreDll.dll", SetLastError = true)]
static extern unsafe bool WriteFile(int hFile, void* lpBuffer, int nBytesToWrite, int* nBytesWrite,int lpOverlapped);
[DllImport("CoreDll.dll", SetLastError = true)]
static extern unsafe int CloseHandle(int hObject);
[DllImport("CoreDll.dll", SetLastError = true)]
static extern unsafe int SetCommState(int hCommDev, DCB* lpDCB);
[DllImport("CoreDll.dll", SetLastError = true)]
static extern unsafe int SetCommTimeouts(int hCommDev, COMMTIMEOUTS* lpCommTimeouts);
図 7 Dllimport
2節
データ交換
どのようにしてデータが送られているのかを説明する。まず、事前に送信側か受信側の
機器どちらでもいいがマスターとスレーブと決め、マスター機器がスレーブ機器を検索し
て接続を確立させる。Bluetooth 接続時に表示される送信側と受信側のポートを開きポート
にバイナリ化したファイルを送信し、受信側はそのバイナリ化したファイルを受信する。
図 8 は PDA をマスターに PC をスレーブとした場合の概要図である。1 台のクラス図の詳
細は図 9 に示す。
図 8
概要図
ファイルの書き出し
①Program
②Form1
③Rs232c
ファイルの読み込み
元に戻す。
図 9
クラス図
16
図 9 のクラス図の①~③の詳細について説明する。
①
プログラムが最初に起動するクラスであり、4 行目のプログラムはアプリケーション
のコントロールの外観を Windows XP のスタイルにするものであり 6 行目のプログラ
ムで、Form1 のプログラムを起動する。(図 10 参照)
1
2
3
4
5
6
7
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
図 10
②
Program クラス
このアプリケーションの主な操作を行うクラスである。メインはファイルのバイナリ
変換である。表 1 は Form1 クラスの各メソッドとその詳細である。
(1) private void start();
(2)
(3)
(4)
(5)
(6)
(7)
private
private
private
private
private
private
(8) private
(9) private
受信ボタンを押すと開始
Rs232cポートを開き、受信スレッドを回す
void SetupRs232c();
Rs232cポートの設定
void Worker();
受信したファイルを元のファイルに戻す
byte[] Chopbytes(byte[] bytes)
受信したファイルの末尾のNULを消去する
string CnvertBytesToStr(byte[] bytes, int length)
受信したファイルをバイナリから文字列に変換
void button2_Click(object sender,EventArges e)
RS232cポートを閉じて受信スレッドを停止する
void butto3_Click(object sender,EventArges e)
Rs232cポートを開きファイルを文字列化して
Rs232cポートに書き出す
byte[] ConvertStrToByte(byte[] bytes, EventArge e) 送信するファイルを文字列からバイナリに変換
void button4_Click(object sender,EventArges e)
送信するファイルをダイアログを開き
送信ファイルパスにファイルパスを表示する
表 1
メソッドの説明
表 2 の重要なメソッド(1)(3) (7)を説明する。
(1) Start
このメソッドは受信するための他のスレッドを開くためのスレッドである。図 11 は start
メソッドのプログラムである。図 11 の 3 行目より表 2 の 2 行目の SetupRs232c メソッド
が開始される。もしも Com ポートを開くことができたのなら 6~8 行目より表 2 の 3 行目の
受信スレッドが動き始める。6~9 行目は受信スレッドを回し、実行画面のログに選択したポ
ート番号とポート開放という文字が表示される。11 行目からは Com ポートを開けなかった
場合に実行画面のログにポート失敗と表示される。
17
1 private void start()
2
{
3
SetupRs232c();// SetupRs232cを開始
4
if (rs232c.Open())//Rs232cポートがひらいたら
5
{
6
th = new Thread(new ThreadStart(Worker));//受信スレッド開始
7
th.Priority = ThreadPriority.AboveNormal;
8
th.Start();
9
textBox2.Text += "ポート開放[" + rs232c.Port + "]" + System.Environment.NewLine;
10
}
11
else//ポートが開けなかったら
12
{
13
textBox2.Text += "ポート失敗[" + rs232c.Port + "]" + System.Environment.NewLine;
14
//PrintMessage("{0}ポートを開くのに失敗しました.", rs232c.Port);
15
}
16
}
図 11 start メソッド
(3)
Worker
このメソッドは受信の仕方や、元のデータに戻して PC、あるいは PDA に保存する。図
12 が Worker メソッドのプログラムである。
通信によるデータの送受信は大きなファイルサイズを一度に全部を受け取れないので
1024byte ずつ受け取るようにする。図 12 のプログラムの 1 行目は受信文字列バッファで 2
行目は受信したファイルの現在のファイルサイズである。11 行目のもしポートからデータ
を読み込めたら 1024byte 受信して末尾の Null を削除して tmps と言う unicode の変数に
受信した 1024Byte をバイナリから文字列に変換して保存する。そして送信するファイルの
最後の:end と入れておくと:end が送られてくるまでファイルの全部を受信していないこと
がわかるため:end が送られてくるまで 11~17 行目までのプログラムを繰りかえす。そし
て:end が送られてきたら 23 行目よりストリームを開き 24,25 行目より test.txt の形でファ
イルを受信側に保存する。書き出し終えたら 29 行目よりストリームを閉じる。ストリーム
はデータの入力または出力の機能を提供するデータである。
1 private void Worker()
2
{
3
byte[] rxBytes = new byte[RxBufferSize];
4
int no = 0;
5
Boolean flag = false;
6
String tmp = System.Environment.CurrentDirectory;
7
String tmps = "";
8
while (true)
9
{
10
rxBytes = new byte[RxBufferSize];
11
if (rs232c.ReadBytes(ref rxBytes))//ポートからデータ読み込めたら
12
{
13
flag = true;
14
no++;
15
rxBytes = ChopBytes(rxBytes);//末尾のNulを削除
16
tmps += ConvertBytesToStr(rxBytes,rxBytes.Length);
17
}
18
else//読み込めなかったら
19
{
20
int nos = tmps.IndexOf(":end");
21
if ( nos != -1)
22
{
23
System.IO.FileStream fs = new System.IO.FileStream(
24
tmp + "\\test.txt", System.IO.FileMode.Create,
25
System.IO.FileAccess.Write)//testで保存
26
String temp = tmps.Substring(0, nos);
27
byte[] by = System.Convert.FromBase64String(temp);
28
fs.Write(by, 0, by.Length);
29
fs.Close();
30
}
31
}
32
}
33
}
18
図 12 worker メソッド
(7)
button3_Click
こ の メ ソ ッ ド は 送 信 ボ タ ン を 押 し た と き に 開 始 す る メ ソ ッ ド で あ る 。 図 14 が
button3_Click メソッドのプログラムである。5~8 行目よりもしも Com ポートが開いてい
るなら閉じて今選択しているポート開く。9~15 行目よりストリームを開いて送信ファイル
パスに表示されているファイルを開いて、ファイルを読み込む用のバイト型配列を作成し、
ファイルの内容をすべて読み込む。16 行目より(2)で説明したようにファイルを文字列化し
た後にファイルの最後とわかるように:end と付け加える。17 行目は実装画面の受信した文
字に文字列化したファイルを表示する。18,19 行目よりファイルをバイナリに変換して Com
ポートに書き込む。図 13 は PDA の受信した文字にファイルを表示させたものである。
図 13
送信後
1 private void button3_Click(object sender, EventArgs e)
2
{
3
try
4
{
5
if (rs232c.IsOpen)
6
rs232c.Close();
7
SetupRs232c();//ポート開く
8
rs232c.Open();
9
System.IO.FileStream fs = new System.IO.FileStream(
10
textBox3.Text,
11
System.IO.FileMode.Open,
12
System.IO.FileAccess.Read);//送信ファイルパスのファイル読込
13
byte[] bs = new byte[fs.Length];
14
fs.Read(bs, 0, bs.Length);
15
fs.Close();
16
String data = System.Convert.ToBase64String(bs) +":end";
17
textBox1.Text = data;
18
bs = ConvertStrToBytes(data);//バイナリに変換
19
rs232c.WriteBytes(bs);//Rs232cに書き込み
20
}
21
catch (Exception err)
22
{
23
MessageBox.Show(err.Message + "sorce" + err.Source);
24
}
25
}
図 14
button3_Click メソッド
19
③ Com ポートの設定や、ファイルの送信や受信を行うクラスである。
図 15 は図 12 の worker が開始されると動くメソッドである。3~5 行目より受信したデー
タと受信したデータの長さを宣言する。8 行目の fixed は.NET Framework は、自動的に不
要になったメモリ領域にデータを入れる可能性があるので受信したファイルが変にならな
いようにメモリのアドレスを固定するものである。11 行目のプログラムより受信したファ
イルを rxData に一度保存する。13 行目のプログラムはメモリの割り当てができるように
なる。17 行目はもしも受信したデータが 0byte なら 6 行目に戻ることになる。
1 public unsafe bool ReadBytes(ref byte [] rxBytes)
2
{
3
byte [] rxData = new byte[rxBytes.Length];
4
int rxLen = 0;
5
bool rxFlag;
6
try
7
{
8
fixed (byte* p = rxData)
9
{
10
rxFlag = ReadFile(hComm, p , rxData.Length , &rxLen, 0);
11
if(!(rxFlag))
12
{
13
int tmp = Marshal.GetLastWin32Error();
14
return false;
15
}
16
}
17
if(rxLen == 0 || rxData[0] == 0)
18
return false;
19
rxBytes = rxData;
20
return true;
21
}
22
catch(Exception ex)
23
{
24
return false;
25
}
26
}
図 15
バイナリ読み込み
20
第5章
考察
本章では、広告配信システムにおける問題点や PDA の Bluetooth 通信についての反省点
を総括して述べる。
1節
広告配信システムにおける問題点とその対策
現在、広告配信システムにおける優位な点は「メールアドレス不要」、「消費者同士で容
易にお得情報交換」、「特別な機器を使用しない」が挙げられる。それと同時に問題点も 3
点存在している。本節ではその問題点に対する解決策と反省点等を述べていく。
まず、1 点目は「すれ違い通信」が一消費者に広まり認知されたとしても、本システムを
利用する店舗数が少なければビジネスとしての成功はしないことである。具体的には、本
システムが本格的に稼働するにあたって、第一に消費者へ本システムの存在を知ってもら
うためにお試し版の本システムを利用したい店舗へと提供する。これにより、ある一定の
期間でもって本システムである「すれ違い」による広告配信を店舗側が提供開始する。こ
の時点で消費者からは「すれ違い通信」による広告宣伝の送受信が可能な状態にしておく。
つまり、携帯電話にてアプリケーションを無償でダウンロードできるように手配する。こ
れにより、消費者は「すれ違い通信」での宣伝広告情報を送受信することが可能になる。
ただし、消費者よりも事前に店舗側または企業側にとって本システムがあるということを
知ってもらう必要であるので、ネットでのバナー広告やチラシでの宣伝、ビジネスコンテ
スト等の参加等が必要になると考えられる。
次に 2 点目であるが、
GPS 機能と Google Map を連携することによる機能の拡張である。
こちらに関しては問題点というより、機能性、利便性の拡張の向上という点による考察で
ある。「すれ違い通信」によって得られるお店情報やクーポン情報の他にもインターネット
が利用可能であれば Google Map へのリンクを設置する。これにより、Google Map へブ
ラウザからアクセスし、店舗の位置を詳しく知ることが可能である。
消費者にとって、お店の情報を「すれ違い通信」によって得ることができても、今自分が
いる位置からどのように向かえばそのお店に着くことができるのかといったニーズが発生
すると考えられる。その場合は GPS 機能を併せて搭載することにより、上記に述べた問題
が解消され、さらに、消費者が快適に本システムを利用することが可能になる。
最後に 3 点目は、GUI(Graphical User Interface)は端末によって変更する。更に受信
した内容を全て表示すると情報量が多くなりすぎ、有益な情報を見落とす可能性があると
いった問題が発生する。この場合、受信内容を絞り込む機能を搭載する。例えば、消費者
インタフェースとして受信するキーワード内容、タイトルの一覧、内容を表示するもので
21
ある。これらは受信したテキストデータをグラフィカルに表示する。これにより、取得す
る情報を制限し、情報過多となることを防ぐことと同時に従来のメールソフトと同じよう
な操作性とすることで、馴染みのある操作として実装する。
おわりに、上記の 3 点の問題点を考え対策を行うことにより、消費者や店舗側(企業側)
にとっても利用しやすいビジネス形態へと発展する。「すれ違い通信」による広告配信シス
テムは始めに述べた優位な 3 点に共通するいかに快適なお店検索ができるかを実現させる
ためのシステムである。
22
第6章 まとめ
本章では本システムにおける研究、検証を踏まえた上での自らの感想や考え、学び得た
事等を総括して述べる。1節では本システムにおける今後の課題を述べていき、本システ
ムについての将来像、方向性などを考えていきたいと思う。2節では本システムにおける
感想とそこから得たものを述べていく。
1節
今後の課題
本システムでは、第3章で述べた本システムのビジネスではメールアドレスによる登録
が不要である点、紙のコストや人件費の削減を行える点、古い情報をある一定の期間で削
除し情報のリアルタイム性を保てる点に優位性がある。しかし、本システムをさらに有効
に活用するには Google Map や GPS 等を搭載することによって消費者がすれ違い通信で手
に入れたお店情報以外にもそのお店までの道のりまでも検索できる。例えば、一般の消費
者にとって見知らぬ街へと出かけた場合はより便利で早くそのお店に行き着くことが可能
になる。
今後の課題としては上記に述べた他のシステムと組み合わせる、またはシステムの応用
を図ることが重要になってくる。しかし、一番重要なことは企業側にとって本システムの
存在と市場価値を見出してもらう点である。まずは企業側にとって本システムが利益にな
ることをプロモーション活動を通して伝えていく必要があると考えられる。
2節
感想
現在、行われている Bluetooth 通信はオーディオ機器、自動車のカーナビゲーション、
PC のキーボードやマウス等多くの場面で Bluetooth を利用し発展を続けている。また、ビ
ジネスの場においても医療や福祉関係を始め多くの分野で応用されつつある。そんな中で
「Bluetooth を用いたすれ違い通信の実現」というテーマで Bluetooth の可能性を引き出し
てきた訳であるが、「すれ違い」というたった一つのキーワードから広告配信システムのビ
ジネスまでを考え出すことができた。
始めこのビジネスを発案し理解を深めるのには時間が掛ったが、理解すればする程奥の
深さを知ることとなり、段階分けによる配信期間やリアルタイム性に優れたシステムを考
え出すのにあらゆる可能性を見出し提案したといえる。また、このビジネスシステムの強
みとしてメールアドレスによる登録不必要や特別な機器を用いることなく携帯電話にて実
現できることが最も主張したい点である。しかし、最も困難であった点は実際このシステ
23
ムを実装することである。私達の知識と経験では至難の業であるこのシステムの実装であ
るが、先輩からのアドバイスを頂き何度も試行錯誤を繰り返しながらでもプログラムを作
り上げる過程での努力は社会に出た時、きっと役に立つものになると思う。
今回作り上げた提案は Bluetooth ビジネスにおけるほんの一つの可能性であって
Bluetooth と何か人間の行動パターンにおける習慣や日常生活におけるある一つのことを
組み合わせることによって今まで考えもしなかった新しいビジネス形態やシステムの在り
方を見出すことができる。
私達は今回この Bluetooth の研究を行っていく上で、学んだことは単に Bluetooth とい
う一つの技術が世の中でどれ程の影響をもたらすのかを確認できたこと以外に、コンピュ
ータをいつでもどこでも誰でも簡単に扱うことができるといったユビキタス社会実現へと
繋がる研究として、またその一歩として本システムを創り上げることができたともいえる。
この研究を通して実社会におけるありとあらゆる可能性を引き出せる思慮を身に付けるこ
とができたのではないだろうか。
24
参考文献
[1]「Bluetooth シリアル通信を使ってみよう」
http://mobiquitous.com/device/bluetooth-serial.html
[2]「ITmedia プロフェッショナル モバイル」
http://www.itmedia.co.jp/promobile/articles/0904/27/news073.html#l_sa_srepo01.jpg
[3]「ITmedia +D モバイル
携帯販売ランキング(11 月 22 日~11 月 28 日)
:初登場「IS03」
の順位は?――スマートフォン下克上が本格化」
http://plusd.itmedia.co.jp/mobile/articles/1012/03/news101.html
[4]「IT 用語辞典 e-words Bluetooth」
http://e-words.jp/w/Bluetooth.html
[5] 「IT 用語辞典 e-words
Bluetooth プロファイル」
http://e-words.jp/w/BluetoothE38397E383ADE38395E382A1E382A4E383AB.html
[6]「IT 用語辞典 e-words GPS」
http://e-words.jp/w/GPS.html
[7]「IT 用語辞典 e-words DGPS」
http://e-words.jp/w/DGPS.html
[8] 「IT 用語辞典 e-words スマートフォン」
http://e-words.jp/w/Bluetooth.html
[9]「Wi-fi とは - IT 用語辞典 Weblio 辞書」
http://www.weblio.jp/content/wifi
[10]「@IT」
http://www.atmarkit.co.jp/nac/refresh/atit/top/index.html
[11]「はてなキーワード スマートフォン」
http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A1%BC%A5%C8%A5%D5%A5%A9
%A5%F3
[12]「転送速度(コンピュータ)」
http://ja.wikipedia.org/wiki/%E8%BB%A2%E9%80%81%E9%80%9F%E5%BA%A6_(%E
3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)
25
謝辞
本プログラムについてさまざまなアドバイスを頂いた同ゼミ大学院生の妹背
感謝します。本提案についてさまざまなアドバイスを頂いた尾花
武志氏に
将輝氏に感謝します。
e-キャンパスの研究で分からない点について様々な観点からアドバイスを頂いた原
氏に感謝します。オープンキャンパスにて、さまざまなご指導を頂いた野口
謝します。オープンキャンパスの様子を見に来て下さった高橋
プログラミングの課題にて多くのご指導を頂いた松谷
院生佐々木
剛氏に感謝します。同ゼミ奥野
に感謝します。同ゼミ小宮
ゼミ澤竹
久氏に感謝します。同ゼミ筒井
同ゼミ西川
氏に感謝します。同ゼミ三好
同ゼミ山岡
大貴氏
瑠璃氏に感謝します。同
亜友美氏に感謝します。同ゼミ仙田
友
裕亮氏に感謝します。
昌生氏に感謝します。同ゼミ増田
正広氏に感謝します。同ゼミ室屋
大介氏に感謝します。同ゼミ小山
一氏に感謝します。カー
貴弘氏に感謝します。同ゼミ金光
亮氏に感謝します。同ゼミ西井
裕平氏に感謝します。同ゼミ福本
真司氏に感
輝揮氏に感謝します。同ゼミ大学
陽介氏に感謝します。同ゼミ小藪
潤一郞氏に感謝します。同ゼミ杉木
知廣
大輝
貴則氏に感謝します。
史弥氏に感謝します。論文やプログラム
を製作する上で非常に参考になった数々の HP の管理人の方に感謝します。最後に学業、
就職活動等非常に多くのことにご指導して頂いた花川典子先生に感謝をします。
26