GPS関連の話題を掲載していきます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
前回「GPSロガーGT-730F/Lで何かやってみる其の1」でお話した、自分勝手なGPSロガーを利用した、リアルタイムトラッキングプロジェクトを少しずつ始めようと思い、とりあえず、フリーで利用できるVB2008 Express Editionをダウンロードしてみた、正直、VB6以外あまりVB触ってなかったので少々あせった。まったく使い方がわからない、どうにかこうにかいろいろ触って、なんとなく原理はわかってきた。しかし、画面のデザインも補助機能とかあって、結構お手軽にできた。
ともかく、まずは、GPSロガーの吐き出すデータを取得するところから始めねばならない。
というわけで、APIを組もうかと思ったら、ツールボックスにSerialPortなるものを発見、APIより簡単にできるんでは?と思いいろいろみていると、DataReceivedイベントというのがあった、ひょっとすると、別にスレッドにしなくても、データが取れるんでは?と思い、ためしに、VBにテキストボックスを貼り付けDataReceivedイベントで取得したデータを表示させようとした、しかしながら、どういうわけかエラーがでた。
とりあえずぐぐってみたら、「DataReceivedイベントハンドラはセカンダリスレッドから呼び出される。」らしい、どうやら、テキストボックス等にアクセスするDelegateを作成して、DataReceivedイベント時にそのDelegateのインスタンスをInvokeしてデータを渡してやるようだ。なるほどー奥が深い。とりあえず、言われた通りにやってみたら、GPSロガーから取得したデータを問題なく、表示できたこころなしか、API利用するより安定しているような気はする。
次は、取得したデータをサーバーに配信する部分でも作ってみるか。
ともかく、まずは、GPSロガーの吐き出すデータを取得するところから始めねばならない。
というわけで、APIを組もうかと思ったら、ツールボックスにSerialPortなるものを発見、APIより簡単にできるんでは?と思いいろいろみていると、DataReceivedイベントというのがあった、ひょっとすると、別にスレッドにしなくても、データが取れるんでは?と思い、ためしに、VBにテキストボックスを貼り付けDataReceivedイベントで取得したデータを表示させようとした、しかしながら、どういうわけかエラーがでた。
とりあえずぐぐってみたら、「DataReceivedイベントハンドラはセカンダリスレッドから呼び出される。」らしい、どうやら、テキストボックス等にアクセスするDelegateを作成して、DataReceivedイベント時にそのDelegateのインスタンスをInvokeしてデータを渡してやるようだ。なるほどー奥が深い。とりあえず、言われた通りにやってみたら、GPSロガーから取得したデータを問題なく、表示できたこころなしか、API利用するより安定しているような気はする。
次は、取得したデータをサーバーに配信する部分でも作ってみるか。
PR
前回「はじめに」でお話したGPSロガーのGT-730F/Lは位置を捕捉し内部メモリにその位置データ等をロギングできるが、PCに接続すれば、シリアルで捕捉した位置データを吐き出してくれる。なるほどー、インターネットとNet PCを組み合わせられれば、位置データをwebで飛ばしてサーバーにデータ蓄積しリアルタイムトラッキングみたいなことができそうだ。
というわけで、まず、何をするかの構想を立ててみた。
とりあえず、ロガーから吐き出されるデータを受け取りwebにアップロードするので簡単にできそうな言語のVBを採用することにした。といっても、最近、PHPや組み込みのC言語ばかりで、意外と簡単にいかないかもしれない・・。VBで行わせる処理は以下の通り。
1. スレッドで、ロガーから吐き出されるデータを取得する。
2. 取得したデータから緯度、経度、高度、速度を抽出する。
3. 指定のURLに上記データをパラメータ渡しする。
次に、サーバー側の処理になるが本当はサーバーを別途立てるべきだが、金がかかるので、VBを稼動させる端末と同じ端末にApache,PHP,データベース(postgres)をインストールして、VBから送信されてくる、緯度、経度、高度、速度をPHPで取得し、データベースに保管する。
位置の閲覧には、PHPで、データベースから位置データを抽出し、google mapに最新の位置をプロットさせる。
言うのは簡単だが、なんかめんどくさそうだ、ともかく今回の構想を図式化してみた。
というわけで、まず、何をするかの構想を立ててみた。
とりあえず、ロガーから吐き出されるデータを受け取りwebにアップロードするので簡単にできそうな言語のVBを採用することにした。といっても、最近、PHPや組み込みのC言語ばかりで、意外と簡単にいかないかもしれない・・。VBで行わせる処理は以下の通り。
1. スレッドで、ロガーから吐き出されるデータを取得する。
2. 取得したデータから緯度、経度、高度、速度を抽出する。
3. 指定のURLに上記データをパラメータ渡しする。
次に、サーバー側の処理になるが本当はサーバーを別途立てるべきだが、金がかかるので、VBを稼動させる端末と同じ端末にApache,PHP,データベース(postgres)をインストールして、VBから送信されてくる、緯度、経度、高度、速度をPHPで取得し、データベースに保管する。
位置の閲覧には、PHPで、データベースから位置データを抽出し、google mapに最新の位置をプロットさせる。
言うのは簡単だが、なんかめんどくさそうだ、ともかく今回の構想を図式化してみた。
実際はサーバーもNet PCもいっしょにしてしまっているが、上記のようなイメージ。実際にデータをHTTPに引き渡すタイミングはタイマーにしている。これは、HTTP経由でデータを上げるので、連続してあげないようにする対策です。もっとも、ロガーのサイクルを遅くすればいいのだけど、まあ、よしとしよう。
とりあえず今日はここまで・・・。
とりあえず今日はここまで・・・。
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
カテゴリー
フリーエリア
最新コメント
最新記事
(01/29)
(01/06)
(11/23)
(11/21)
(10/10)
(10/10)
(09/12)
(08/04)
(08/03)
(07/31)
最新トラックバック
プロフィール
HN:
Slit
性別:
非公開
ブログ内検索
最古記事
(05/12)
(05/13)
(05/14)
(05/14)
(05/14)
(05/16)
(05/16)
(05/18)
(05/18)
(05/19)
アクセス解析