GPS位置トラッカ

Raspberry Pi 2 LIFE
ご購入はこちら
Raspberry Pi2 LIFE
ダウンロード・データあります
なんてスゴイ! インターネット電子工作の世界
ラズパイ・サーバでロックオン!
GPS 位置トラッカ
第
3回
ラズパイ位置サーバと通信する Android アプリを作る
GPS を使い,選手や家族の位置をトラッキングでき
るサーバ作りの第 3 回目です.図 1 のようにスマホを
持った選手の位置を,常に自宅サーバ(ラズベリー・
パイで制作)に送り続け,先生や家族がこのサーバに
アクセスすることで,見守りを可能とします.
前回(第 2 回,2016 年 11 月号)は,リアルタイムに
位置情報を記録しつつ,閲覧も可能とする自宅サーバ
のプログラミングについて説明しました.今回は,自
宅サーバに選手の位置を通知するスマホのアプリケー
ション・ソフトウェア作りについて解説します.スマ
ホ(Android)のアプリの開発には Java を使用します.
インターネット網
選手に
装着した
スマホ
携帯
基地局
選手に
携帯
装着した
基地局
スマホ 選手3
自 宅
ルータ
今回はスマホ用 位置
データ
アプリを作る
位置
データ
村井 亮
ラズベリー・
パイ
移動履歴
学校やオフィス
携帯
基地局
タブレット
で移動履歴
表示
(a)装置構成
● プログラムの大まかな構成
Android アプリ(図 2)では,Activity と呼ばれる UI
コンポーネントが画面上に表示され,これが実質的な
エントリ・ポイントのように振る舞います.
▶位置情報の取得
今回のように GPS 位置情報の変更時(あるいは定期
的 )に サ ー バ へ 通 知 す る 目 的 で は,Location
選手2
選手1
Manager と い う シ ス テ ム・ サ ー ビ ス か ら リ ス ナ
(LocationListener)経由で GPS の位置情報を監
視するのがよいでしょう(図 2 の③).
監視したのちに取得された位置情報(Location)
は,サーバの append.php に向けて送ります.する
とサーバに最新の位置情報が格納されます.
▶インターネット通信
しかし,Android ではメイン・スレッドでインター
ネット通信を行うことが許されていません.解決する
ためには非同期処理(AsyncTask)を利用します.メ
イン・スレッドから離れた AsyncTask 内で HTTP
プロトコルで Location を POST します.
(b)移動履歴を PC で閲覧中
図 1 やること…サーバに位置情報を通知するスマホのアプリ作り
連載ではリアルタイムに位置情報を記録しつつ閲覧も可能とするサーバ
をラズベリー・パイで作った
準備
このアプリを開発するに当たっては GPS の位置情
報の取得とインターネット通信という 2 つのパーミッ
ションを得る必要があります.開発を行う場合はアプ
リ の 全 般 的 設 定 を 行 う フ ァ イ ル で あ る Android
● 準備1:筆者が用意したプロジェクト・ファイル
Manifest.xml にリスト 1 の項目を加えることを忘
から,Android アプリの開発プロジェクトをダウン
ロードできます.必要に応じて,変更,実験できま
す.
れないでください.
2016 年 12 月号
本誌ダウンロード・ページ,
http://www.cqpub.co.jp/interface/
download/contents.htm
第 1 回 ラズパイ GPS 位置トラッキング・システムの制作(2016 年 10 月号)
第 2 回 ラズパイ位置トラッキング・サーバのプログラム(2016 年 11 月号)
99