バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回まででXCP Basicの有用性の確認がとれたところ。
時間精度の問題もあったが、そこはマルチメディアタイマにより解消。
と、ここまでXCPスレーブの話がメインで
XCPパケットはPython-CANで作ってきたが、
もっと楽は方法はないだろうか?
ってあたりがこれからの課題。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
Python-CANの上位プロトコルとしてのXCP
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
うーん。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/はてなフクロウ.png)
どうしたん?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
いやー、いままではPython-CANでXCPパケットを作って投げてきたわけだけど、
診断通信の時ってPython-CANの上にisotpってライブラリが乗っかって上位の診断通信プロトコルを実現してたじゃん?
XCPも同じようなものがないのかなーって。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
あるよ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
でもまぁXCP自体がそこまで複雑ではないからあんまりそういうのも作られないのかなー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
あるよ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
それに変にそういうのがあると、XCP関連で収益上げてるVector社とかETAS社から目を付けられそうだし、中々難しいのかもしれないねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/びっくりフクロウ.png)
だからあるんだってば!!
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」11アップ.png)
あるんかい!!
PyXCP
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
その名はPyXCP!!
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
これもそのまんまの名前だな。
あんまり名前で捻らないのかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
まぁそもそもニッチな領域だし、これに競合するツールも皆無だから
1等地の名前がそのまま付いてしまうのだろう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
作ってもユーザ数は限られそうだし、仕様も大きく変更される感じでもないもんね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
でも、ちゃんとこういうのを作ってる人がいるんだなぁ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁここら辺は自動車業界でも技術的、費用的に簡単に出来る手段が無いのが課題と言えば課題なんだよね。
だからこういうライブラリを作って公開してくれるのはとてもありがたい。
PyXCPのインストール
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
ちなみにインストールは簡単。
pipで指定するだけだ。
pip install pyxcp
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
ホントに一撃だな。
今後の方針
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
このPyXCP、試しに使ってみようか?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
そうだね。
XCP BasicというECU側のシミュレーション環境があるから、
それに対してPyXCPと疎通試験してみることは可能だろう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
そういう意味ではXCP Basicでシミュレーションできる環境が用意できてて良かったかな。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
こういう自由に使える対抗機が無いと試したくても試せない。
だから使いこなせない。
って因果関係になるから、それっぽい動きをするシミュレーション環境と言うのは可能な限り作っていた方が良いのだ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
というわけで次回からはPyXCPにXCPパケット送信実験だ。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- Python-CANにXCPの上位プロトコルを載せたPythonLibraryが存在。
- その名はそのまんまでPyXCP。
- PyXCPのインストールはpip使えばOK。
- pip install pyxcp。
- PyXCPだけだと疎通確認も取れないからXCP BasicによるPCシミュレーション環境はかなり重要。
バックナンバーはこちら。
コメント