<第1実施例>
図1を参照して、携帯通信端末10は、プロセサ(CPUまたはコンピュータと呼ばれることもある。)20およびキー入力装置22などを含む。プロセサ20は、CDMA方式に対応する無線通信回路14を制御して発呼信号を出力する。出力された発呼信号は、アンテナ12から送出され、基地局を含む移動通信網に送信される。通話相手が応答操作を行うと、通話可能状態が確立される。
通話可能状態に移行した後にキー入力装置22によって通話終了操作が行われると、プロセサ20は、無線通信回路14を制御して、通話相手に通話終了信号を送信する。そして、通話終了信号の送信後、プロセサ20は、通話処理を終了する。また、先に通話相手から通話終了信号を受信した場合も、プロセサ20は、通話処理を終了する。さらに、通話相手によらず、移動通信網から通話終了信号を受信した場合も、プロセサ20は通話処理を終了する。
携帯通信端末10が起動している状態で通話相手(発呼者)からの発呼信号がアンテナ12によって捉えられると、無線通信回路14は、着呼を知らせる着呼信号をプロセサ20に出力する。プロセサ20は、着呼信号の入力があると、振動装置40が内蔵するモータを駆動(回転)させることで携帯通信端末10を振動させ、着呼を使用者に知らせる。また、プロセサ20は、振動装置40を動作させると共に、第2スピーカ18bから着呼音を出力させる。そして、プロセサ20は、表示ドライバ24を制御することで、発呼信号と共に通話相手から送信される発信元情報を表示手段であるディスプレイ26に表示させる。なお、「着呼」は取扱説明書などで「着信」と記載されることもある。
通話可能状態では、次のような処理が実行される。まず、通話相手から送られてきた変調音声信号(高周波信号)は、アンテナ12によって受信される。次に、受信された変調音声信号は、無線通信回路14によって復調処理および復号処理が施される。そして、得られた受話音声信号は、第1スピーカ18aから出力される。一方、マイク16によって取り込まれた送話音声信号は、無線通信回路14によって符号化処理および変調処理が施される。そして、生成された変調音声信号は、上述と同様、アンテナ12を利用して通話相手に送信される。
GPS制御回路32およびGPSアンテナ34は位置情報取得手段として機能し、プロセサ20はGPS制御回路32およびGPSアンテナ34によって現在の位置情報を取得する事ができる。たとえば、使用者によって位置情報を取得する操作がされると、プロセサ20は、GPS制御回路32を起動し、GPSアンテナ34によってGPS衛星200から送信されるGPS信号を受信する。そして、プロセサ20は、受信したGPS信号から現在位置の緯度および経度を取得する。なお、図1では、簡単のためにGPS衛星200が1つだけしか描画されていないが、複数のGPS衛星200からGPS信号を受信することが可能である。
また、プロセサ20は、駅に入場または駅から退場するための乗車券として機能する乗車券用IC36を起動させ、非接触通信アンテナ38を介して非接触通信を行うことができる。本実施例では、乗車券用IC36は、「FeliCa(登録商標)」と呼ばれる非接触ICカードの技術に基づいて構成されたICであり、メモリ36aや、マイコン、暗号回路および非接触通信回路などから構成される。また、乗車券用IC36は、定期券として機能することも可能であり、メモリ36aは、定期券の区間を表す第1駅および第2駅の駅名を記憶する場合もある。なお、乗車券用IC36は、改札機60に近づけられると、電磁誘導の原理で電力を得て起動する。つまり、乗車券用IC36は、携帯通信端末10の電源のオン/オフに関係なく、改札機60との非接触通信を行うことができる。
たとえば、使用者は、乗車券用IC36を備える携帯通信端末10を利用し、駅に設置される改札機60と非接触な通信を行い、その駅へ入退場することができる。また、携帯通信端末10と改札機60との通信結果は、記憶装置であるRAM30に一時記憶される。
なお、改札機60は、図示しない非接触通信用のリーダ/ライターを備えており、使用者は、非接触通信アンテナ38をリーダ/ライターに近づけることで、携帯通信端末10と改札機60との非接触通信を行わせる。
また、携帯通信端末10は、データ通信機能を備えており、図示しないサーバとのデータ通信を行い、駅の位置情報を含む地図のデータや、電車およびバスなどの運行状況の情報などを得ることができる。
さらに、携帯通信端末10は、日本国内における送受信では受信料金が発生しないSMSに対応する。そのため、携帯通信端末10は、他の携帯通信端末や、携帯電話機(PHSを含む)との間でテキストメッセージを送受信することができる。たとえば、SMSでは、相手の端末に対応する電話番号を宛先とすることで、テキストメッセージを送信する。また、相手の電話番号は、使用者によって直接入力されてもよいし、名前、電話番号およびEメールアドレスなどが対応付けられて構成されるアドレスデータを利用して指定されてもよい。
なお、図示しないサーバは有線または無線でネットワークと接続されている。また、アンテナ12および無線通信回路14は、発信元情報や発呼信号を受信する受信手段として機能したり、データ通信機能を実行するための通信手段として機能したりする。また、第1スピーカ18aおよび第2スピーカ18bは音声出力装置と呼ばれることもある。さらに、携帯通信端末10は、プロセサ20に内蔵されるRTC(Real Time Clock)20aを利用した時刻表示機能や、データ通信機能を利用したEメール機能などを有する。そして、図1に示す携帯通信端末10のブロック図では、簡単のため、充電池などの図示は省略する。
図2(A),(B)は、携帯通信端末10の閉状態の外観を示す図解図であり、図3は、携帯通信端末10の開状態の外観を示す図解図である。図2(A),(B)を参照して、携帯通信端末10は、各々が平面矩形の第1筐体C1および第2筐体C2を有する。なお、第1筐体C1および第2筐体C2の厚みは略同じである。
非接触通信アンテナ38は、第2筐体C2の下面において良好な受信感度が確保されるように、第2筐体C2に内蔵される。ヒンジ機構Hは、第1筐体C1の長さ方向一方の側面に形成される。また、第2筐体C2は、長さ方向一方の上面においてヒンジ機項Hと結合される。そして、ヒンジ機構Hは、第1筐体C1を第2筐体C2の上に積層した状態で、第1筐体C1の短辺と平行な軸AXを基準として可動させる。つまり、軸AXを基準とした回転により、第1筐体C1と第2筐体C2とを開閉させる。
図3を参照して、携帯通信端末10の開状態では、図示しないマイク16は、第2筐体C2に内蔵され、内蔵されたマイク16に通じる開口OP1は第2筐体C2の長さ方向他方の上面に設けられる。同じく、図示しない第1スピーカ18aおよび第2スピーカ18bは、第1筐体C1に内蔵される。そして、内蔵された第1スピーカ18aに通じる開口OP2は、第1筐体C1の長さ方向他方の下面に設けられ、第2スピーカ18bに通じる開口OP3は、第1筐体C1の長さ方向一方の下面に設けられる。つまり、使用者は、開口OP1を通じてマイク16に音声を入力し、開口OP2を通じて第1スピーカ18aから出力される音を聞く。
キー入力装置22は、第2筐体C2の上面に設けられる。このキー入力装置22には、0〜9の数字キーおよび電源キーなどが含まれる。また、ディスプレイ26は、モニタ画面が第1筐体C1の下面に露出するように取り付けられる。
たとえば、使用者は、0〜9の数字キーを操作することで電話番号を入力し、電源キーを長押しすることで携帯通信端末10の電源をオン/オフする。また、電源キーが短押しされると、ディスプレイ26に待機状態を示す画像が表示され、携帯通信端末10は待機状態となる。
なお、携帯通信端末10の開状態および閉状態は、磁気センサおよび磁石などを利用して検出される。また、ヒンジ機構Hは、開状態および閉状態を保持するための保持機構を含む。さらに、アンテナ12、無線通信回路14、プロセサ20、表示ドライバ24、フラッシュメモリ28、RAM30、GPS制御回路32、GPSアンテナ34、乗車券用IC36および振動装置40は、第1筐体C1または第2筐体C2に内蔵されており、図2(A),(B)および図3では、図示されない。
ここで、本実施例では、使用者が電車に乗っているときに着呼があると、プロセサ20は乗車中であることを発呼者に通知し、発呼信号と共に受信した発信元情報を記録する。そして、使用者が電車を降りると、プロセサ20は、記録された発信元情報に基づいて、発呼者に使用者の下車を伝えるテキストメッセージを自動的に送信する。
まず、使用者が電車に乗っている状態(以下、乗車状態または乗車中と言う。)における処理について説明する。図4(A)−(D)を参照して、使用者が携帯通信端末10の乗車券用IC36を利用してO駅に入場すると、携帯通信端末10は、O駅の駅名などの情報を非接触通信の結果として、RAM30に一時記憶する。また、プロセサ20は、改札機60との非接触な通信が行われると、GPS制御回路32を起動し、一定時間(たとえば5秒)毎に現在の位置情報を取得する。プロセサ20は、GPS制御回路32を起動して最初に取得した位置情報を入場駅の位置情報としてRAM30に記憶させ、連続的に取得された位置情報の履歴から移動速度を算出する。
このように、非接触通信が行われた後にGPS制御回路32を起動させることで、GPS制御回路32の電源を常にオンにする必要が無くなる。従って、携帯通信端末10の消費電力を抑えることができる。
そして、プロセサ20は、移動速度が電車で移動していると推定可能な第1所定速度(たとえば、30km/h)以上になると、乗車状態であることを示す電車モードを設定する。つまり、使用者が電車に乗ると移動速度が速くなるため、プロセサ20は電車で移動していると判断して、電車モードを設定する。そして、携帯通信端末10は、電車モードが設定されていて、かつ着呼があると、乗車中応答処理を実行する共に、着呼に対応する発信元情報をRAM30に記録する。たとえば、乗車中応答処理では、発呼者に対して「ただいま乗車中ですので電話に出ることができません」などの音声データを発信する。このように、使用者は、乗車中であることも発呼者に対して通知することできる。
たとえば、乗車中であることが通知されなければ、発呼者は、使用者がたまたま着呼に気付かなかっただけだと思い込み、何度も電話を掛け直すことがある。この場合、携帯通信端末10の使用者は、乗車中に何度も着呼が通知され、発呼者からの着呼を煩わしく思うことがある。また、発呼者は、何度かけ直しても通話状態が確立されないため、使用者の行動を腹立たしく思う場合がある。ところが、本実施例の携帯通信端末10では、発呼者は、使用者が乗車中であることを知ることができるため、上記のような問題が発生することが無い。
また、プロセサ20は、現在位置が入場駅から一定距離(たとえば、500m)以上離れると、移動速度が電車で移動していないと推定可能な第2所定速度(たとえば、20km/h)以下であるかを判定する。そして、移動速度が第2所定速度以下の状態が所定時間(たとえば、3分)保たれると、プロセサ20は電車モードの設定を解除する。つまり、使用者が電車から下車すれば、プロセサ20は乗車状態ではなくなったと判断して、電車モードの設定を解除する。
また、電車モードの設定が解除されると、プロセサ20は、RAM30に記録された発信元情報に含まれる電話番号に基づいて、使用者が電車から降りたことを伝えるテキストメッセージを、発呼者に送信する。
このように、使用者が下車しない途中の駅で電車が停止した場合に、テキストメッセージの誤送信が防がれる。つまり、携帯通信端末10の設計者は、送信されるテキストメッセージの信頼性を高めることができる。さらに、SMSによってテキストメッセージを送信することで、発呼者に金銭的な負担をさせずに、下車を伝えることができる。
また、テキストメッセージが送信できない場合には、プロセサ20は、Eメールによってメッセージを発呼者に送信する。たとえば、発信元の電話番号が固定電話機用の電話番号であれば、SMSによるテキストメッセージは送信できない。そのため、本実施例では、アドレス帳のデータから、電話番号に対応するEメールアドレスを検索する。そして、プロセサ20は、検索結果のEメールアドレスを宛先とし、使用者が電車から降りたことを通知するためのEメールを送信する。
このように、SMSを利用できない発呼者に対しては、Eメールによって下車を通知することができる。
なお、海外の携帯電話サービスでは、SMSによるテキストメッセージの受信にも料金が発生する場合があるため、Eメールによってメッセージが送信されるように優先順位を、使用者によって変更可能にしてもよい。すなわち、携帯通信端末10は、汎用性の高いEメールによって、使用者が電車から降りたことを、発呼者に伝えるようにしてもよい。
図5は、RAM30のメモリマップを示す図解図である。図5を参照して、RAM30のメモリマップには、プログラム記憶領域302およびデータ記憶領域304が含まれる。プログラムおよびデータの一部は、フラッシュメモリ28から一度に全部または必要に応じて部分的にかつ順次的に読み出され、RAM30に記憶されてからプロセサ20などによって処理される。
プログラム記憶領域302は、携帯通信端末10を動作させるためのプログラムを記憶する。携帯通信端末10を動作させるためのプログラムは、着呼プログラム310、着呼状態プログラム312、乗車中応答プログラム314、移動速度算出プログラム316、電車モード切り替えプログラム318およびメッセージ送信プログラム320などから構成される。
着呼プログラム310は、発呼信号を受信したか否かを判断し、携帯通信端末10の状態に応じて処理を決定するためのプログラムである。着呼状態プログラム312は、第2スピーカ18bから着呼音を出力させ、振動装置40を駆動させることで、着呼を知らせるためのプログラムである。また、乗車中着呼応答プログラム314は、電車モードが設定される場合に、着呼に対して自動的に応答するためのプログラムである。
移動速度算出プログラム316は、取得された位置情報を履歴データとして記憶し、移動速度を算出するためのプログラムである。たとえば、移動速度算出プログラム316は、前回の位置情報と今回の位置情報から距離を求める式を時間微分することで、移動速度を算出する。
電車モード切り替えプログラム318は、移動速度と入場駅からの距離とに基づいて電車モードを設定し、移動速度と時間とに基づいて電車モードの設定を解除するためのプログラムである。メッセージ送信プログラム320は、電車モードの設定が解除された場合に、テキストメッセージまたはEメールによって、使用者の下車を通知するためのプログラムである。
なお、図示は省略するが、携帯通信端末10を動作させるためのプログラムは、通話を行うためのプログラムおよびネットワークのサーバとのデータ通信を行うためのプログラムなどを含む。
データ記憶領域304には、非接触通信バッファ330、位置情報履歴バッファ330および速度バッファ334が設けられる。また、データ記憶領域340には、入場駅位置データ336、アドレス帳データ338、乗車中着呼応答データ340、乗車中着呼履歴データ342および送信メッセージデータ344が記憶されるとともに、乗車中フラグ344および速度カウンタ348なども設けられる。
非接触通信バッファ330は、乗車券用IC36および非接触通信アンテナ38によって、改札機60から得られる情報が一時的に記憶される。たとえば、非接触通信バッファ332には、入場駅の駅名や、入場駅が含まれる路線の名称などが一時的に記憶される。位置情報履歴バッファ332は、移動速度算出プログラム310によって取得された位置情報の履歴が一時的に記憶される。速度バッファ334は、位置情報履歴バッファ332に記録される前回の位置情報と今回の位置情報とから算出された移動速度が一時的に記憶される。
入場駅位置データ336は、改札機60を通過して入場した駅の位置を表すデータである。アドレス帳データ338は、名前に電話番号およびEメールアドレスなどが対応付けられた複数の個人アドレスデータによって構成されるデータである。たとえば、図6を参照して、アドレス帳データ338は、「名前」、「電話番号」および「Eメールアドレス」などの列から構成されるテーブルデータである。そして、このアドレス帳データ338では、「名前」の列に記録される「本社」に対応して「075111YYYY」および「YYYY@aaa.**.jp」などが記録され、「支社」に対応して「072888XXYY」および「XXYY@aaa.**.jp」などが記録される。
乗車中着呼応答データ340は、乗車中着呼応答プログラム314が実行されると、読み込まれるデータであり、たとえば音声データが含まれる。また、乗車中着呼履歴データ342は、電車モードが設定されている間の着呼に関する情報が記録される。たとえば、図7を参照して、乗車中着呼履歴データ342は、「No」の列、「時刻」の列および「電話番号」の列から構成されるテーブルデータである。「No」の列には、着呼があった順番に「001,002,003,…」の数字列が記録される。また、数字列に対応して、「時刻」の列には「20XX,0707,0830」などが記録され、「電話番号」の列には「0900000xxxx」などが記録される。
そして、「時刻」の列に記録される数字列は、RTC20aから取得されたデータであり、たとえば「20XX,0707,0830」は、「20XX年、7月7日、8時30分」を意味する。また、「電話番号」の列に記録される数字列は、発信元情報に含まれる電話番号である。
送信メッセージデータ344は、テキストメッセージまたはEメールの本文として、発呼者に送信される文字列のデータであり、たとえば「電車から下車しました。」の文字列を構成するデータである。
乗車中フラグ346は、電車モードが設定されたか否かを判断するためのフラグである。たとえば、乗車中フラグ346は、1ビットのレジスタで構成される。乗車中フラグ346がオン(成立)されると、レジスタにはデータ値「1」が設定される。一方、乗車中フラグ346がオフ(不成立)されると、レジスタにはデータ値「0」が設定される。また、乗車中フラグ346は、電車モード切り替えプログラム318の処理結果によってオン/オフが切り替えられる。そして、乗車中フラグ346は初期状態ではオフに設定される。
速度カウンタ348は、速度バッファ332に記憶される移動速度が第2所定速度以下になればカウントを開始するカウンタである。そして、速度カウンタ348は、移動速度が第2所定速度より速くなれば、カウントを終了する。
なお、図示は省略するが、データ記憶領域304には、待受画面で表示される待受画像データや、着呼を使用者に知らせるための着呼音データなどが記憶されたりすると共に、携帯通信端末10の動作に必要なカウンタや、フラグも設けられる。
プロセサ20は、「Linux(登録商標)」および「REX」などのRTOS(Real-time Operating System)の制御下で、図8に示す着呼処理、図9に示す移動速度算出処理、図10に示す電車モード切り替え処理および図11に示すメッセージ送信処理などを含む、複数のタスクを並列的に処理する。
図8は、着呼処理のフロー図である。たとえば、携帯通信端末10の電源がオンにされると、プロセサ20は、ステップS1で発呼信号を受信したか否かを判断する。つまり、無線通信回路14が発呼信号を受信し、着呼があるか否かを判断する。ステップS1で“NO”であれば、つまり発呼信号を受信しなければ、ステップS1の処理を繰り返し実行する。一方、ステップS1で“YES”であれば、つまり発呼信号を受信すれば、ステップS3で乗車中フラグ346がオンであるか否かを判断する。つまり、ステップS3では、電車モードが設定されているか否かを判断する。ステップS3で“NO”であれば、つまり電車モードが設定されていなければ、ステップS9に進む。
一方、ステップS3で“YES”であれば、つまり電車モードが設定されていれば、ステップS5で乗車中着呼応答処理を実行する。たとえば、ステップS5では、プロセサ20は、乗車中着呼応答データ342を読出し、発呼者が所持する携帯電話機などに対して音声データを発信する。続いて、ステップS7では、時刻と発信元情報とを記録する。たとえば、ステップS7では、RTC20aから出力される時刻と、発信元情報に含まれる電話番号とを乗車中着呼履歴データ342に記録する。そして、ステップS7の処理が終了すると、ステップS1に戻る。なお、ステップS5の処理を実行するプロセサ20は応答処理実行手段として機能し、ステップS7の処理を実行するプロセサは記録手段として機能する。
また、電車モードでなければ、ステップS9で着呼状態処理を実行する。たとえば、ステップS9では、振動装置40によって携帯通信端末10を振動させ、第2スピーカ18bから着呼音を出力させる。続いて、ステップS11では、発呼信号が途絶したか否かを判断する。たとえば、通話可能状態が確立されることで、発呼信号が途絶したか否かを判断する。ステップS11で“NO”であれば、つまりアンテナ12が発呼信号を受信していれば、ステップS11の処理を繰り返し実行する。一方、ステップS7の処理で“YES”であれば、つまりアンテナ12によって発呼信号が受信されなくなれば、ステップS13で着呼状態処理を終了する。つまり、ステップS13では、振動装置40を停止させ、着呼音の出力を止める。そして、ステップS13の処理が終了すると、ステップS1に戻る。
図9は、移動速度算出処理のフロー図である。たとえば、GPS制御回路32の電源がオンにされると、プロセサ20は、ステップS31で現在の位置情報を取得し、ステップS33で位置情報履歴バッファ332に記録する。つまり、ステップS31では、GPSアンテナ34によってGPS信号を受信し、現在の位置情報を取得する。そして、ステップS33では、取得した位置情報に現在時刻の情報を対応付けて、位置情報履歴バッファ332に記録する。
続いて、ステップS35では、移動速度を算出する。つまり、位置情報履歴バッファ332に記録されている位置情報のうち、前回の処理で記録された位置情報と、今回の処理で記録された位置情報とに基づいて移動速度を算出する。そして、算出された移動速度は、速度バッファ334に記録される。なお、ステップS35の処理を実行するプロセサ20は算出手段として機能する。
続いて、ステップS37では、終了指示があるか否かを判断する。たとえば、プロセサ20から移動相度算出処理の終了指示命令が発行されたか否かを判断する。ステップS37で“NO”であれば、つまり終了指示が無ければ、ステップS31に戻る。一方、ステップS37で“YES”であれば、つまり終了指示があれば、移動速度算出処理を終了する。
図10は、電車モード切り替え処理のフロー図である。プロセサ20は、携帯通信端末10が改札機60に近づけられ、改札機60から駅名などの情報が得られると、ステップS51で、通信結果を一時記憶する。つまり、プロセサ20は、非接触通信による通信結果を非接触通信バッファ330に一時記憶させる。続いて、ステップS53では、GPS制御回路32を起動する。つまり、プロセサ20は、GPS制御回路32の電源をオンにし、現在位置取得プログラム310を実行させる。
続いて、ステップS55では、入場駅の位置情報を取得する。たとえば、ステップS55では、位置情報履歴バッファ332に記録される最新の位置情報を取得し、入場駅位置データ336としてRAM30に記録する。なお、ステップS55の処理を実行するプロセサ20は第1位置情報取得手段として機能する。
ステップS57では、第1所定速度以上か否かを判断する。つまり、速度バッファ334に記録される移動速度の値が、第1所定速度以上であるか否かを判断する。ステップS57で“YES”であれば、つまり移動速度が第1所定速度以上であれば、ステップS59で乗車中フラグ346をオンにする。つまり電車モードを設定する。そして、ステップS59の処理が終了すれば、ステップS73に進む。なお、ステップS59の処理を実行するプロセサは設定手段として機能する。
また、ステップS57で“NO”であれば、つまり移動速度が第1所定速度未満であれば、ステップS61で入場駅の近くか否かを判断する。つまり、位置情報履歴バッファ332に記録される最新の位置情報と入場駅位置データ336とから距離を算出し、一定距離以内であるか否かを判断する。ステップS61で“YES”であれば、つまり移動速度が第1所定速度未満であり、かつ現在位置が入場駅の近くであれば、ステップS73に進む。
一方、ステップS61で“NO”であれば、つまり使用者が電車に乗り、その電車が入場駅から離れれば、ステップS63で第2所定速度以下か否かを判断する。つまり、ステップS63では、速度バッファ334に格納される移動速度が、第2所定速度以下であるか否かを判断する。ステップS63で“NO”であれば、つまり移動速度が第2所定速度以下でなければ、ステップS63の処理を繰り返し実行する。
一方、ステップS63で“YES”であれば、つまり移動速度が第2所定速度以下になれば、ステップS65で所定時間が経過したか否かを判断する。つまり、移動速度が第2所定速度以下の状態で、所定時間が経過したか否かを判断する。また、プロセサ20は、ステップS65では速度カウンタ348のカウント値に基づいて判断する。ステップS65で“NO”であれば、つまり、所定時間が経過する前に、移動速度が第2所定速度以下でなくなれば、ステップS63に戻る。一方、ステップS65で“YES”であれば、つまり移動速度が第2所定速度以下の状態で、所定時間経過すれば、ステップS67で乗車中フラグ346がオンであるか否かを判断する。つまり、電車モードが設定されているか否かを判断する。
ステップS67で“NO”であれば、つまり乗車中フラグ346がオフであれば、ステップS73に進む。一方、ステップS67で“YES”であれば、つまり乗車中フラグ346がオンであれば、ステップS69で乗車中フラグ346をオフにする。つまり、電車モードの設定を解除する。続いて、ステップS71では、メッセージ送信処理を実行する。このメッセージ送信処理については、図11に示すフロー図を用いて後述するため、ここでの詳細な説明は省略する。なお、ステップS69の処理を実行するプロセサは解除手段として機能し、ステップS71の処理を実行するプロセサは送信手段として機能する。
ステップS73では、退場したか否かを判断する。つまり、改札機60との非接触通信が行われ、使用者が駅から退場したか否かを判断する。ステップS73で“NO”であれば、つまり駅から退場していなければ、ステップS57に戻る。たとえば、使用者が駅に入場者後に、電車に乗らずにホームなどに留まっている場合には、ステップS57、ステップS61およびステップS73の処理が繰り返し実行される。
また、ステップS73で“YES”であれば、つまり駅から退場すれば、ステップS75でGPS制御回路32の電源をオフにして、電車モード切り替え処理を終了する。つまり、プロセサ20は、位置情報取得処理に対して終了指示を発行し、GPS制御回路32の電源をオフにする。
なお、ステップS59の処理を実行する前に、既に乗車中フラグ346をオンであるか否かを判断し、乗車中フラグ346がオンであればステップS59を飛ばして処理するようにしてもよい。
図11は、ステップS71(図10参照)で実行される乗り過ごし判断処理のフロー図である。プロセサ20は、ステップS71の処理が実行されると、ステップS91で乗車中着呼履歴データ342を取得する。つまり、RAM30から乗車中着呼履歴データ342を読み出す。続いて、ステップS93では、着呼があったか否かを判断する。たとえば、図7を参照して、「No」、「時刻」および「電話番号」の列から、数字列を取得できるか否かを判断する。ステップS93で“NO”であれば、つまり乗車中に着呼がなければ、メッセージ送信処理を終了して、電車モード切り替え処理に戻る。
一方、ステップS93で“YES”であれば、つまり乗車中に着呼があれば、ステップS95で変数Mに着呼の件数を設定する。つまり、乗車中着呼履歴データ342における、「No」の列に記録される数字列の最大値を変数Mに設定する。たとえば、「No」の列に記録される数字列において「003」が最大値であれば、変数Mには「3」が設定される。続いて、ステップS97では、変数nを初期化する。たとえば、変数nに「1」を設定する。
続いて、ステップS99では、n件目の電話番号を取得する。つまり、変数nに「1」が設定されていれば、乗車中着呼履歴データ342において、「No」の列で「001」が記録されている行の電話番号「0900000XXXX」を取得する。続いて、ステップS101では、テキストメッセージが送信可能であるか否かを判断する。たとえば、ステップS99の処理で取得した電話番号が、携帯電話機用の電話番号(090,080または070などで始まる番号)であるか否かを判断する。ステップS101で“NO”であれば、つまりテキストメッセージが送信不可能であれば、ステップS109に進む。
一方、ステップS101で“YES”であれば、つまりテキストメッセージが送信可能であれば、ステップS103でテキストメッセージを送信する。つまり、ステップS103では、RAM30に記憶される送信メッセージデータ344を読出し、ステップS99で取得した電話番号を宛先とする送信データを作成する。そして、その作成した送信データを送信する。なお、ステップS101の処理を実行するプロセサ20は判断手段として機能し、ステップS103の処理を実行するプロセサ20は第1送信手段として機能する。
続いて、ステップS105では、変数Mが変数nと一致するか否かを判断する。つまり、乗車中に記録された全ての着呼に対して、メッセージを送信するための処理が実行されたか否かを判断する。ステップS105で“YES”であれば、変数Mが変数nと一致すれば、ステップS115に進む。
また、ステップS105で“NO”であれば、つまり変数Mと変数nとが一致しなければ、ステップS107で変数nをインクリメントし、ステップS99に戻る。
また、SMSによってテキストメッセージの送信が不可能であれば、ステップS109で、アドレス帳データ338を検索する。つまり、アドレス帳データ338から、ステップS99で取得された電話番号に対応するEメールアドレスを検索する。なお、ステップS109の処理を実行するプロセサ20は検索手段として機能する。
たとえば、図6および図7を参照して、変数nが「2」であれば、取得される電話番号は「075111YYYY」であるため、アドレス帳データ338から「YYYY@aaa.**.jp」が検索結果として得られる。なお、電話番号にEメールアドレスが対応付けられていなければ、検索結果として「NULL」が出力される。
続いて、ステップS111では、Eメールが送信可能か否かを判断する。たとえば、検索結果として「NULL」が出力されたか否かを判断する。ステップS111で“NO”であれば、つまり検索結果が「NULL」であれば、ステップS105に進む。一方、ステップS111で“YES”であれば、つまり検索結果としてEメールアドレスが得られれば、ステップS113でEメールを送信し、ステップS105に進む。つまり、ステップS113では、RAM30に記憶される送信メッセージデータ344を読出して、Eメールを作成する。そして、宛先に、検索結果のEメールアドレス設定した後に、そのEメールを送信する。なお、ステップS113の処理を実行するプロセサ20は第2送信手段として機能する。
そして、記録された全ての着呼に対して、メッセージを送信する処理が行われると、ステップS115で乗車中着呼履歴データ342の内容を消去する。つまり、乗車中における着呼履歴をリセットする。そして、ステップS115の処理が終了すれば、メッセージ送信処理を終了して、電車モード切り替え処理に戻る。
なお、携帯電話のキャリア(事業者)間でSMSによるテキストメッセージがゲートウェイされない場合があるため、アドレス帳データ338には、キャリア情報が記憶されてもよい。そして、メッセージ送信処理では、ステップS101の次に、キャリアが同一であるかを判断する処理を加え、キャリアが同一であればステップS103に進み、キャリアが同一でなければステップS109に進むようにしてもよい。
<第2実施例>
第2実施例では、下車駅が設定された場合に、下車駅に接近し、かつ移動速度が第2速度以下になったときに電車モードの設定が解除される。なお、第2実施例の携帯通信端末10は、第1実施例と同じであるため、携帯通信端末10の構成および外観など、重複した説明は省略する。
図12(A)−(C)を参照して、たとえば、乗車券用IC36が定期券として機能する場合に、定期区間を表す第1駅および第2駅は、O駅およびK駅で示される。ここで、使用者が第1駅であるO駅に入場すると、第2駅であるK駅が下車駅として設定される。具体的には、プロセサ20は、位置情報履歴バッファ332から入場駅の位置情報を取得する。次に、プロセサ20は、第1駅および第2駅の駅名を定期券データ364から取得し、第1駅および第2駅の位置情報をデータ通信によって取得する。そして、入場駅の位置情報と、第1駅および第2駅の位置情報のそれぞれとを比較し、入場駅の位置情報と一致しない駅が下車駅として設定される。なお、図示はしていないが、第2駅であるK駅が入場駅である場合には、第1駅であるO駅が下車駅として設定される。
また、第1実施例と同様に、下車駅が設定された後に、使用者が電車に乗り、その電車の移動速度が第1所定速度以上になれば、電車モードが設定される。そして、電車が下車駅の所定距離以内に近づき、移動速度が第2所定速度以下になれば、電車モードの設定が解除される。
このように、電車が下車駅に近づかなければ乗車状態の設定が解除されないため、テキストメッセージの誤送信を防ぐことができる。つまり、携帯通信端末10の設計者は、メッセージの信頼性をより高めることができる。
なお、使用者が図示しないGUIなどによる操作を行うことで、下車駅の設定を変更できるようにしてもよい。
図13を参照して、RAM30のメモリマップ300において、第2実施例のプログラム記憶領域302には、携帯通信端末10を動作させるためのプログラムを構成するプログラムとして、下車駅設定プログラム322がさらに記憶される。下車駅設定プログラム322は、乗車券用IC36が定期券として機能した場合に、下車駅を設定するためのプログラムである。
また、第2実施例のデータ記憶領域には、データ通信バッファ360、定期券データ362、区間端駅位置データ364および下車駅位置データ366がさらに記憶される。データ通信バッファ360は、サーバとのデータ通信によって得られたデータが一時的に記憶される。下車駅位置バッファ362は、下車駅として設定された駅の位置情報が一時的に記憶される。
定期券データ364は、メモリ36aに記憶される第1駅および第2駅の駅名などを含むデータである。区間端駅位置データ366は、第1駅および第2駅の位置情報のデータである。また、区間端駅位置データ366は、定期券データ364に基づいて、ネットワーク100に接続されるサーバから取得されるが、メモリ36aに予め記憶される場合には、メモリ36aから直接取得されてもよい。なお、本実施例では、定期券データ364および区間端駅位置データ366が定期券情報として扱われる。
第2実施例の電車モード切り替え処理では、図14に示すステップS131−S137を加えて実行される。図14を参照して、ステップS55の処理が終了すると、ステップS131で区間端駅それぞれの位置情報を取得する。たとえば、図12(A)を参照して、O駅およびK駅の位置情報が、区間端駅位置データ366から取得される。なお、ステップS131の処理を実行するプロセサ20は第2位置情報取得手段として機能する。
続いて、ステップS133では、下車駅設定処理を実行する。つまり、ステップS133では、ステップS55で取得された下車駅の位置情報と、ステップS131で取得された区間端駅の位置情報、つまり第1駅および第2駅の位置情報それぞれとに基づいて、下車駅が設定される。そして、下車駅として設定された駅の位置情報は、下車駅位置バッファ362に一時的に記憶される。なお、ステップS133の処理を実行するプロセサ20は下車駅設定手段として機能する。
たとえば、図12を参照して、入場駅の位置情報が第1駅であるO駅の位置情報と一致すれば、下車駅は第2駅であるK駅が設定され、K駅の位置情報が下車駅位置バッファ362に一時的に記憶される。
続いて、ステップS57で移動速度が第1所定速度以上であるか否かを判断し、“YES”であればステップS59で乗車中フラグ346をオンにする。一方、ステップS57で“NO”であれば、ステップS135で下車駅までの距離を算出する。つまり、位置情報履歴バッファ332に記録される最新の位置情報と、下車駅位置バッファに一時記憶される下車駅の位置情報とから距離を算出する。なお、ステップS135の処理を実行するプロセサ20は距離算出手段として機能する。
続いて、ステップS137では、所定距離以下か否かを判断する。つまり、算出された距離が所定距離以下であるか否かを判断する。ステップS137で“NO”であれば、つまり算出された距離が所定距離より大きければステップS57に戻る。一方、ステップS137で“YES”であれば、つまり算出された距離が所定距離以下であれば、ステップS63で移動速度が第2所定速度以下であるか否かを判断する。
ステップS63で“NO”であれば、ステップS63の処理を繰り返し実行し、“YES”であればステップS67で乗車中フラグ346がオンであるか否かを判断する。ステップS67で“NO”であれば、ステップS73に進み。そして、ステップS67で“YES”であれば、ステップS69で乗車中フラグ346をオフにし、ステップS71でメッセージ送信処理を実行する。
つまり、第2実施例の電車モード切り替え処理では、現在位置が下車駅の所定距離以内に入り、移動速度が第2所定速度以下になれば、電車モードの設定が解除される。そして、電車モードの設定が解除され、乗車中に着呼があった場合には、携帯通信端末10はメッセージを送信する。
なお、第2実施例において、入場駅が定期区間の途中駅であれば、電車の進行方向に基づいて、第1駅または第2駅のいずれか一方が下車駅として設定されてもよい。つまり、ステップS133の処理では、進行方向を検出し、進行方向と第1駅および第2駅の位置情報に基づいて、下車駅が設定される。
また、所定距離は、下車駅や区間で利用される車両の種類に対応して、変化するように設定されていてもよい。たとえば、下車駅が、東京駅、大阪駅および京都駅などの敷地が広い駅であれば、所定距離は長く設定され、その他の敷地が狭い駅であれば、所定距離は短く設定される。また、車両の種類が新幹線などであれば、所定距離は長く設定され、環状線などを走行する電車などであれば、所定距離は長く設定される。
以上の説明から分かるように、携帯通信端末10は、GPS信号によって位置情報を取得するGPS制御回路32およびGPSアンテナ34をなど備える。携帯通信端末10のプロセサ20は、連続的に取得される位置情報から移動速度を算出し、第1所定速度以上になれば、電車モードを設定する。電車モードが設定された携帯通信端末10は、乗車中に着呼があると、乗車中着呼履歴データ340に発信元情報などを記録する。そして、移動速度が第2所定速度以下になると、プロセサ20は電車モードの設定を解除し、記録した発信元情報に基づいて、テキストメッセージをSMSによって送信する。
これによって、電車を利用する携帯通信端末の使用者は、発呼者に対して下車したことを容易に通知できる。さらに、使用者は、乗車前または乗車後に、駅のホームで通話を行うことができる。
なお、本実施例における乗車券用IC36には、「FeliCa(登録商標)」に適用される近距離無線通信(NFC:Near Field Communication)技術の国際規格(ISO/IEC 18092)に基づいて構成されたが、小電力ICによる通信技術の国際規格(ISO/IEC 14443)に基づいて構成されてもよいし、他の通信規格に基づいて構成されてもよい。
また、携帯通信端末10の通信方式には、CDMA方式に限らず、W-CDMA方式、TDMA方式、FDMA方式、PHS方式およびGSM方式などを採用してもよい。さらに、ディスプレイ26にはLCDモニタが利用されるが、他の有機ELパネルなどの他の表示装置が利用されてもよい。そして、本願発明は、本実施例の携帯通信端末10のみに限らず、スマートフォンや、PDA(Personal Digital Assistant)、ネットブックおよびノートPCなどの携帯情報端末などに適用されてもよい。