Hirolog
緯度経度から、その場所を走っている道路名を調べる
-
- 2010年3月13日 09:15
- Auto | Programming
うわー、これまたタイトルからしてニッチ(笑
最近、「流行っている」と形容するのも恥ずかしいtwitterですが、「○○なう」などとつぶやいている人が結構見受けられます。「○○」にはその時訪れた場所だったり、その際やっている行動だったりが入るわけなんですが。
これ、車の運転中にはできないですよね、危なくて。なので、つぶやきをそれっぽく自動化できないか考えてみた訳なんですが...。
前回のエントリでは車の中を流れる各種データを取り出すことが出来たので、たとえば、エンジンを切らずに速度0が一定時間続いた回数をして「(ほぼ)信号待ちの回数」としてカウントし、「信号待ち100回目なう」などとつぶやくことは出来そうです。あるいは、制限速度を超えたら「現在XXkm/hで巡航中。○○県警かかってこいや」とつぶやくことも可能でしょう(よい子はまねしちゃいけません)。
...ただまぁ、大がかりなわりにはあまり面白そうなつぶやきのネタにはならなそうですし、第一この設備が一般的ではないので、他の人にとっては「ふーん」程度であまり参考にならないです(自分で運転を解析するにはとても面白い情報なんですけどね)。
そんなわけで、もう少し一般的なGPSから得られる位置情報を利用してなんかできないか考えてみました。それが、このタイトルにあるような技術を利用して「国道○○号線なう」みたいなことをつぶやくというものです。
- Comments: 0
- TrackBacks: 0
CANUSBを使ってRX-8の各種データを取り出してみる
-
- 2010年2月22日 00:40
- Auto | CAN | Device | OBD | Programming | Technology
前回のエントリまで使っていたELM327チップですが、どうも全てのデータのログを取ろうとするとバッファが溢れてしまうようで...。ただせっかく乗りかかった船なので、CANUSBという代物を購入してRX-8のデータをリアルタイムに取り出してみることにしました。
上記の画像においてグラフの意味は以下の通りです。
- 赤 線:車速
- 青 線:エンジン回転数
- 紫 線:ラジエータ水温
- 水色線:エアインテーク温度
- 黄色線:アクセル開度
- 赤領域:フットブレーキを踏んでいる
- 青領域:クラッチが切れている
- 緑領域:(高さに合わせて)ギアポジション
CANはまぁここでは車内LANのようなものだと考えておけばいいと思います。自動車内のコンピュータとその他センサや計器類との間で情報をやり取りするときのプロトコルなのですが、特徴の一つはブロードキャストだということです。 なので、OBD-IIのようにポーリングしてデータを取り出すのと違い、ネットワーク内を流れているデータであれば「盗み聞き」することができるため、車内コンピュータへの負荷が(おそらく)ありません。 コンピュータに負荷がかかった場合にもおそらくフェイルセーフが働くとは思いますが、心理的な負担がこちらのほうが少ないですね。
- Comments: 0
- TrackBacks: 1
RX-8とOBD-IIでお話をする - シリアル接続プログラミング
-
- 2010年1月14日 18:00
- Auto | Device | OBD | Programming | Technology
前回のエントリでELM327デバイスが動作することを確認したので、今回は簡単なプログラミングをしてみようと思います。
Bluetooth版のデバイスを自分は選んだので、BluetoothのRFCOMMを利用することになります。今回はJavaでプログラミングをすることにし、BluetoothライブラリはBluecoveを利用します。
- Comments: 0
- TrackBacks: 0
RX-8とOBD-IIでお話をする - 動作確認
-
- 2010年1月13日 00:00
- Auto | Device | OBD | Programming | Technology
ELM327の載ったデバイスを手に入れたので、今エントリでは実際に自動車に取り付けて動作確認をしたいと思います。
前回のエントリで自分はBluetooth版デバイスを買いましたが、基本的にデバイスとお話しする方法はシリアル通信となります。RS-232C接続(つまりシリアル接続)の場合には該当するデバイスとお話をすればいいですし、USBやBluetoothの場合、各OSで仮想的なシリアルデバイスを作成できます(WindowsだったらCOM1とか、Macだったら/dev/tty.*とか)。
MacだとBluetoothで仮想デバイスを使って常にお話しするのはどうも安定性に欠けるようなのですが(Snow Leopardは長く試してないので改善しているかもしれません)、いずれにせよ動作確認のためだけであれば問題ないでしょう。
普通だったらここで実際に配布されているソフトウェアを使って動作確認をするのでしょうが、自分の場合は(それだとつまらないので)実際にターミナル経由でデバイスと直接お話をしてみることにします。
- Comments: 0
- TrackBacks: 0
RX-8とOBD-IIでお話をする - 準備
-
- 2010年1月12日 01:14
- Auto | Device | OBD | Programming | Technology
久々の投稿です。
OBD-IIという自動車のコネクタを通した各社共通の診断プロトコルがあるのですが、そいつを日曜プログラマでも簡単に扱えるようにするELM327というチップが存在することを知りました。 そして、そのチップを使ってシリアルやらUSB、Bluetoothなどでパソコンからお話をするデバイスもいくつか売り出されているようです。これを使うと、エンジン回転数や速度などの基本情報、それにエンジン温度や瞬間燃費等の普通は知ることのない情報をリアルタイムに取得することができるようになります。
え、そういうのだったら既に売ってるって? ええ、BLITZ R-VITとかそうですよね。仕組みはまさに同じなのですが、自分でのプログラミングだと簡単にログをとったりいろいろ遊ぶことができます。逆にそういった加工をしないのであればこちらの製品のほうが手っ取り早いと思います。 自分の場合は、パソコンと連携していろいろやってみたかったってことと、どうせすぐに飽きるのに4万とか5万とか出せないので自作することにしました。OBD-IIから情報を取り出すだけなら5000円くらいのパーツだけで済んでしまいますので。
というわけで、この投稿から数回にわたってELM327を使って車とお話しするアプリ製作の備忘録を書いていこうと思います。
今回は、ELM327を搭載したデバイスを手に入れるフェーズに関して記載します。
- Comments: 0
- TrackBacks: 0
整備
-
- 2009年9月30日 22:26
- Movable Type
サーバのホームディレクトリリプレースなどでコメント投稿すらできない静的ファイルのみの状態で放置されていた当ブログですが、MTのバージョンを上げDBから掘り返して復旧させてみました。
日々の雑事はmixiやtwitterで綴ることが多いですが、やはりまとまった記事を書くときにはどうも不得手の様子。
今後このブログも活躍の場が訪れるかもしれません。...訪れないかもしれません。
- Comments: 0
- TrackBacks: 0