久しぶりに時間が取れたのでまとめて OBD-II周りをまとめて作業した。
OBD-IIからのデータ抜き取りに苦戦している。
前回書いた「割と高い確率でELM327とECU間の通信が確立できない」件で、通信確立してないときは query()で得られたレスポンスが正しくないらしく、resp.value.magnitude で値引こうとすると メンバが存在しないと怒られてしまう。
あるいは、query( obd.commands.RPM ) すると サポート外のコマンドと怒られるなどという、ガソリン車ではありえない挙動が発生することもある。これは恐らく Python-OBDの初期化シーケンス中に PIDs supportedを上手く引けていないんだろうと思うが、これはこれで正しく通信できてないでしょ、、、、という。
大抵のサンプルだと obd.OBD()した後にすぐ query()してるんだが、どうにも怪しいので力業で何とかした。