SlideShare ist ein Scribd-Unternehmen logo
1 von 19
0
© 2021 @noborutkhs
2021/04/22 @noborutkhs
Prius Hack
「カーハッカーズハンドブック」をラズパイで試してみた
1
© 2021 @noborutkhs
自己紹介
@noborutkhs
株式会社カンデラ ジャパン所属
組み込み機器向けUIツールの会社です。 https://www.canderajp.co.jp/
CGI Studio
https://cgistudio.at/ja/
車載機器(メーター)など
オーストリア製
UI Conductor
https://www.artspark.co.jp/product_uic/
車載機器(ナビ・周辺監視)、プリンタ、デジカメなど
日本製
2
© 2021 @noborutkhs
自動車の CANバスなどを触る上
でバイブル的な本
英語版はオンラインで見れる
http://opengarages.org/handbook/
「カーハッカーズハンドブック」
3
© 2021 @noborutkhs
このプロジェクトを始めたきっかけ
1. ラズパイに自作ボード追加でCANにアクセスできるらしい
2. OBD2にCAN-H / CAN-Lの信号がきているらしい
3. ラズパイでもオープンソースのcan-utilsが使えるらしい
candump, cansend, canplayer …
“piCAN”
CAN-L
CAN-H
4
© 2021 @noborutkhs
自作CANボード for ラズパイ
3 5
1 6
4 7
2 8
18 1
17 2
16
15 7
14
13 8
12
9
5V
MCP2515
MCP2561
GND
CAN-L
CAN-H
100Ω
ジャンパー
1MΩ
セラミック発振子
20MHz
GND
ラズパイPIN
10KΩ
ダイオード
2
1
24
21
19
23
22
部品名 秋月通販
コード
金額
1 CANコントローラ MCP2515-I/P I-12030 160
2 1Mbps CANトランシーバー MCP2561-E/P I-12483 90
3 セラミック発振子(セラロック)コンデンサー内蔵タイプ
20Mhz
P-00147 35
4 カーボン抵抗 1/4W 100Ω, 10KΩ,1MΩ R-25101
R-25103
R-25105
1*3
5 整流用ショットキーダイオード(30V1A)1S3 I-01707 13
4 ピンソケット(メス) 2x20(40P) FH-2x20SG C-00085 80
7 Raspberry Pi用ユニバーサル基盤
AE-RasPi-Universal
P-11073 150
8 FT234X 超小型USBシリアル変換モジュール
(オプション)
M-08461 600
計 1,131
2 GND
3 TXD
4 RXD
USB PC
USB-Serial (FT234X) オプション
6
10
8
OBD2との接続時はオープン。
CANボード同士で対向させるときは、
片方をショート。
車内でラズパイにPCを接続して操作するときに、WiFiや
LANよりもお手軽で安定しているためにつけている。
必須ではない。
5
© 2021 @noborutkhs
can0の設定
/boot/config.txtに次のように設定して再起動
can-utilsをインストールしmakeする
canドライバとcan-Utilsのインストール
Raspberry PiでOBD-II (CAN)の情報を取得するための基板を自作する - Qiita
https://qiita.com/suzutsuki0220/items/8642b1c3ea51859a95ad
※ネットに公開されている記事には古いカーネルバージョン用の記事が多いので要注意!!
参考
$ sudo apt install can-utils
6
© 2021 @noborutkhs
文鎮化は避けたい!!
「カーハッカーズハンドブック」
Page 087 「問題が起きたときのトラブルシューティング」
7
© 2021 @noborutkhs
2台で対向試験
Raspberry Pi Zero + CAN
Raspberry Pi 3B+ + CAN
それぞれのCAN-HとCAN-L同士を接続
片方の終端抵抗 100Ωを使用
$ sudo ip link set can0 type can bitrate 500000
$ sudo ip link set can0 up
CANインタフェースの準備 送信側/受信側の両側で行う
送信側
送信側
8
© 2021 @noborutkhs
プリウスにつないでみる
CANのデータは取れたけど、、、
車速もエンジン回転数も見当たらない!!
OBD2
USB-Serial
電源
モバイルバッテリー
走行しても何も内容が変化しない。
Prius Gen4 ZVW51 (2018/12発売)
終端抵抗100Ωは
使用しない
9
© 2021 @noborutkhs
ELM327をつないでテスト
PriusのOBD2へ
OBD2の分岐ケーブルを使って
ELM327とラズパイを同時につなぐ
Raspberry Pi 3B+ + CAN
Bluetooth
スマホ torqueアプリ
速度とエンジン回転数が表示される
ELM327から、コマンドを投げているっぽい
10
© 2021 @noborutkhs
ラズパイからコマンドを投げてみる
OBD2
USB-Serial
電源
モバイルバッテリー
Prius Gen4 ZVW51 (2018/12発売)
速度とエンジン回転数が返ってきた!!
0.5秒おきにスクリプトで 0Dと0Cを投げてみた
11
© 2021 @noborutkhs
OBD2 PIDs
https://en.wikipedia.org/wiki/OBD-II_PIDs
12
© 2021 @noborutkhs
プリウス Gen3 につないでみる
OBD2
USB-Serial
電源
モバイルバッテリー
Prius Gen3
やはり、CANデータが取れた!!
Gen4は、OBD2のところに生のCANデータが来ていない。
自粛
13
© 2021 @noborutkhs
新しめのクルマは OBD2に生のCANデータが来ていない!?
https://www.vboxautomotive.co.uk/index.php/en/customer-
area/vehicle-can-database
14
© 2021 @noborutkhs
candump –L でダンプした結果を保存し、
canplayer –I で再生させることができる。
candump ~ canplayer
$ candump –L any,0:0,#FFFFFFFF | tee log.can
$ canplayer –I log.can
これで、一度ログを保存しておけば、机上で試すことが
できるようになった。
15
© 2021 @noborutkhs
中華CANボード @320円
https://www.amazon.co.jp/KKHMF-MCP2515- ......
回路図付き
22
23
19
21
24
GND 20
3.3V 17
1 INT
2 SCK
3 SI
4 SO
5 CS
6 GND
7 VCC
CAN board
Raspberry Pi
使えました!
送信もできるので、商品名がなぜ「レシーバー」なのかは謎。
ラズパイとの接続
can0設定時に水晶発信子の周波数に注意。
このボードの場合は VCCを
5Vにつなぐと動作しなかった
16
© 2021 @noborutkhs
CGI Studioにつないでみた その1
USB-Serial
中華CAN
Raspberry Pi Zero
CGI Studio
Data Binding
ループバック再生
ダンプをシリアルポートにフォワード
$ candump any,0:0,#FFFFFFFF > /dev/ttyS0 $ sudo ip link set can0 type can bitrate 500000 loopback on
$ sudo ip link set can0 up
$ canplayer –I log.can
17
© 2021 @noborutkhs
CGI Studioにつないでみた その2
https://youtu.be/1XTiCttOOX0
18
© 2021 @noborutkhs
Thank you!!

Weitere ähnliche Inhalte

Was ist angesagt?

Évaluation de l'interface radio UMTS/HSPA
Évaluation de l'interface radio UMTS/HSPAÉvaluation de l'interface radio UMTS/HSPA
Évaluation de l'interface radio UMTS/HSPA
mey006
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
Takuya ASADA
 
Production de l'énergie éolienne
Production de l'énergie éolienneProduction de l'énergie éolienne
Production de l'énergie éolienne
Zoulou Adams
 

Was ist angesagt? (20)

Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
 
はじめてのWubi for Ubuntu 21.04 ドンキ格安 第2世代UMPC NANOTE P8
はじめてのWubi for Ubuntu 21.04 ドンキ格安 第2世代UMPC NANOTE P8はじめてのWubi for Ubuntu 21.04 ドンキ格安 第2世代UMPC NANOTE P8
はじめてのWubi for Ubuntu 21.04 ドンキ格安 第2世代UMPC NANOTE P8
 
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
 
Le fonctionnement d'un transformateur
Le fonctionnement d'un transformateurLe fonctionnement d'un transformateur
Le fonctionnement d'un transformateur
 
macvlan and ipvlan
macvlan and ipvlanmacvlan and ipvlan
macvlan and ipvlan
 
Évaluation de l'interface radio UMTS/HSPA
Évaluation de l'interface radio UMTS/HSPAÉvaluation de l'interface radio UMTS/HSPA
Évaluation de l'interface radio UMTS/HSPA
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
 
Cycles combines et de cogeneration - Copy (1).pptx
Cycles combines et de cogeneration - Copy (1).pptxCycles combines et de cogeneration - Copy (1).pptx
Cycles combines et de cogeneration - Copy (1).pptx
 
Jenkins, pipeline and docker
Jenkins, pipeline and docker Jenkins, pipeline and docker
Jenkins, pipeline and docker
 
Production de l'énergie éolienne
Production de l'énergie éolienneProduction de l'énergie éolienne
Production de l'énergie éolienne
 
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
 
Distribution et transport.ppt
Distribution et transport.pptDistribution et transport.ppt
Distribution et transport.ppt
 
はじめてのUserLAnd。AndroidでUbuntu,Debian ArchLinuxなどをprootで動かそう Beginner for inst...
はじめてのUserLAnd。AndroidでUbuntu,Debian ArchLinuxなどをprootで動かそう  Beginner for inst...はじめてのUserLAnd。AndroidでUbuntu,Debian ArchLinuxなどをprootで動かそう  Beginner for inst...
はじめてのUserLAnd。AndroidでUbuntu,Debian ArchLinuxなどをprootで動かそう Beginner for inst...
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
 
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
 
Working From Anywhere​ with​ Advanced Load Balancing​ and ​ VMware Horizon VDI
Working From Anywhere​ with​ Advanced Load Balancing​ and ​ VMware Horizon VDI Working From Anywhere​ with​ Advanced Load Balancing​ and ​ VMware Horizon VDI
Working From Anywhere​ with​ Advanced Load Balancing​ and ​ VMware Horizon VDI
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
La cogénération
La cogénérationLa cogénération
La cogénération
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編
 
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
 

Ähnlich wie Prius Hack 「カーハッカーズハンドブック」をラズパイで試してみた

Ähnlich wie Prius Hack 「カーハッカーズハンドブック」をラズパイで試してみた (20)

Prius Hack 2「カーハッカーズハンドブック」をラズパイで試してみた
Prius Hack 2「カーハッカーズハンドブック」をラズパイで試してみたPrius Hack 2「カーハッカーズハンドブック」をラズパイで試してみた
Prius Hack 2「カーハッカーズハンドブック」をラズパイで試してみた
 
大規模Webを支えるAgileな技術
大規模Webを支えるAgileな技術大規模Webを支えるAgileな技術
大規模Webを支えるAgileな技術
 
Kubecon NA 2019 Recap: Your Path to Production Ready Kubernetes hosted by Wea...
Kubecon NA 2019 Recap: Your Path to Production Ready Kubernetes hosted by Wea...Kubecon NA 2019 Recap: Your Path to Production Ready Kubernetes hosted by Wea...
Kubecon NA 2019 Recap: Your Path to Production Ready Kubernetes hosted by Wea...
 
Hyperledgerプロジェクト概観
Hyperledgerプロジェクト概観Hyperledgerプロジェクト概観
Hyperledgerプロジェクト概観
 
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボットWebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
 
日本と世界のDockerコミュニティ
日本と世界のDockerコミュニティ日本と世界のDockerコミュニティ
日本と世界のDockerコミュニティ
 
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
 
HoloLens2完全に理解した
HoloLens2完全に理解したHoloLens2完全に理解した
HoloLens2完全に理解した
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
My drivingではじめるazure IoT
My drivingではじめるazure IoTMy drivingではじめるazure IoT
My drivingではじめるazure IoT
 
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
 
Hajimete hostedrancher 200605
Hajimete hostedrancher 200605Hajimete hostedrancher 200605
Hajimete hostedrancher 200605
 
いまさら聞けない!HTML5超入門
いまさら聞けない!HTML5超入門いまさら聞けない!HTML5超入門
いまさら聞けない!HTML5超入門
 
Hajimete k3s agenda_200730
Hajimete k3s agenda_200730Hajimete k3s agenda_200730
Hajimete k3s agenda_200730
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
チャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティチャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティ
 

Prius Hack 「カーハッカーズハンドブック」をラズパイで試してみた