2019年12月24日

HUD #7: 2代目 HUD制作中、「ラズパイ3で python-OBDが使えない」問題

ラズパイzeroWでHUDを作り始めて、ある程度形になったのでしばらく使った。
センターメーターに慣れてない身としては、正面に数字で速度が表示されるのが非常に便利ではあったのだが、いろいろと不満なところが見えてきた。
  • 画面小さい
  • 起動時間が遅い
  • 燃費と速度、あと走行距離しか出ないのは何か寂しい。もう少しゴチャゴチャ表示させたい
  • 表示のフレームレート上げたい

これらの不満を解消すべく、ただいま 2代目を制作中。


2019年8月25日

HUD #6: OBD-II周り・続き

夏休みが終わって仕事が再開してしまったのでしばらく作業が止まっていた。
久しぶりに時間が取れたのでまとめて OBD-II周りをまとめて作業した。

OBD-IIからのデータ抜き取りに苦戦している。
前回書いた「割と高い確率でELM327とECU間の通信が確立できない」件で、通信確立してないときは query()で得られたレスポンスが正しくないらしく、resp.value.magnitude で値引こうとすると メンバが存在しないと怒られてしまう。

あるいは、query( obd.commands.RPM ) すると サポート外のコマンドと怒られるなどという、ガソリン車ではありえない挙動が発生することもある。これは恐らく Python-OBDの初期化シーケンス中に PIDs supportedを上手く引けていないんだろうと思うが、これはこれで正しく通信できてないでしょ、、、、という。

大抵のサンプルだと obd.OBD()した後にすぐ query()してるんだが、どうにも怪しいので力業で何とかした。

2019年8月13日

HUD #5: OBD-II周り

ELM327のドングルが届いたのでBluetooth周りを試してみた。
ELM327との通信は Python-OBDに丸投げでデータを拾うことはできるようになった。

2019年8月1日

2019年7月29日

HUD #3: DirectFB周り・続き

前回の続き。
(!!!)  *** ONCE [no mode found for 320x240] *** [fbdev.c:1360 in dfb_fbdev_find_mode()]
と怒られているので、modeに"320x240" と書いたらダメなんだろうなぁ、.directfbrc でググってみて https://bitset.jp/blog/raspi_framebuffer_1 を発見。


2019年7月27日

HUD #2:DirectFBを試してみる

前回の続き。

画面が出るようになったので、今度はグラフィック回りを考えてみる。
Qtは何だか面倒そうだったので、https://blog.techlab-xe.net/archives/4328 を参考に DirectFBを入れてみた。

2019年7月26日

そうだ、HUD作ろう

CRプレマシーに乗ってたが、去年の秋~冬ごろから急に燃費が下がりはじめ、ちょうど年明けで車検だったので 手放して50エスティマに乗り換えた。
エスティマのメータが非常に見難いので 速度と瞬間燃費は プレマシーから使いまわしてるレー探(ZERO 94VS)のOBD-II表示の方を見る習慣がついてしまった。

ところがこのレー探の表示がどうにも野暮ったい、あとフレームレート低い → だったら作ってしまえ。というのがこのエントリ。
これまでこの手の工作はArduinoでしかやってこなかったんだけど、グラフィックも取り扱ってみたくなったし初のラズパイ工作に取り組んでみようと思う。