ガソリン盗難防止用システム開発開始

前回に引き続き、弊社で開発したタイでのガソリン盗難防止用に車載GPS機器を利用した車両管理システム、Beagle Trackerソフトウェア開発についてご紹介します。

さて、メーカーからサンプル購入したデバイスが届いたので、購入時点でメーカーから頂いていた資料をもとに使い方を調べていきます。

仕様が開示されていない状態でやっと入手した機器ですが、プログラムの仕様を確認してみるとなかなか手強いことになっています。もともとアウトライン的な基本設計は済んでいたのですが、そもそもの前提として機器が車のコンピュータに対して「このデータをください」と問い合わせして、必要なデータを入手するという枠組みでのソフトウェア開発を想定していました。

ところが資料を読み、メーカーに問い合わせをしていく中でデバイスの仕様が設定ツールで選択されたデータを自動的にサーバーに送られるというもので、データ自体も複数のデータ項目を内包したパケットが何種類か存在するというものでした。
しかもデータは長さが固定されているわけではない可変長でのデータです。
ここで、パケットからデータを分割して取り出すという想定していない手間が増えてしまいました。

本来はQuestion/Answer方式での通信を想定していたのですが、相手が設定に従い自由にデータを送ってくるとなると、自システムが使う使わないに関わらず全てのデータを受け取って処理する様にしないといけません(間違った設定で接続される事を想定)。
Question/Answer方式なら、自システムが不要なデータが来る事はない前提で開発が出来るのですけど。
うーん困った。

GPSでの位置情報などは車が停車していて機器に電源が入っていない時や、SIMカードからデータを送信するための電波状況が悪い場合には一時的に機器にデータを保持できる仕様となっています。ということはこちらの溜まっていたデータが電源が入って電波が通じた時点で一気にまとめて送付されるということになります。
この辺り、テレマテクス機材への見識不足を痛感したポイントです。

このようにデータの仕分け、ふるい分けの部分に思った以上に手間がかかってしまいましたが、ソフトウェア開発をなんとか進めてデバイスとの送受信をこなす部分を作り込み、必要なデータをサーバーのデータベースへ渡す所までは出来ました。あとはウェブアプリと連携し運行状況の表示設定画面から容易に操作することができるようにしないといけませんが、その前に実車に装着してのテストが必要となります。

次回は実車テストです。

OBD2ポートからガソリン残量は取れる?
Beagle Tracker製品紹介ページはこちら