Reading data from car's ECU ABS wheel speed sensors
I'm currently working on a project that requires gathering data from a car's wheel speed sensors(4 hall efect speed sensors). Those sensors are connected to the car's ECU responsible for ABS/ESP/Stability control etc.
In order to extract the data from the ECU i need to make a request with a specific PID(parameter ID) AND know how to decode/compute the answer in order to extract any meaningful data. Unfortunately vehicle manufacturers don't seem to make such information public.
So far i've ordered an arduino CAN BUS shield and a OBD2 to RS232 cable in order to make the physical connection.
I have tried using a specialized hardware/software(that costs more than 1500euro) capable of extracting those parameters, but unfortunately it lacks logging functions. I tried using Wireshark to sniff the PIDs called, but had no luck there either.
If you guys have any ideas, questions or suggestions, please write them down.
I'm open to criticism and know that i might be missing something important.
Thanks.
P.S. This is a university project im working on. I need data samples from the wheel speed sensors and further computing of the data sample is done with the purpose of researching car safety and behavior in dynamic road scenarios.
arduino obd-ii can-bus
add a comment |
I'm currently working on a project that requires gathering data from a car's wheel speed sensors(4 hall efect speed sensors). Those sensors are connected to the car's ECU responsible for ABS/ESP/Stability control etc.
In order to extract the data from the ECU i need to make a request with a specific PID(parameter ID) AND know how to decode/compute the answer in order to extract any meaningful data. Unfortunately vehicle manufacturers don't seem to make such information public.
So far i've ordered an arduino CAN BUS shield and a OBD2 to RS232 cable in order to make the physical connection.
I have tried using a specialized hardware/software(that costs more than 1500euro) capable of extracting those parameters, but unfortunately it lacks logging functions. I tried using Wireshark to sniff the PIDs called, but had no luck there either.
If you guys have any ideas, questions or suggestions, please write them down.
I'm open to criticism and know that i might be missing something important.
Thanks.
P.S. This is a university project im working on. I need data samples from the wheel speed sensors and further computing of the data sample is done with the purpose of researching car safety and behavior in dynamic road scenarios.
arduino obd-ii can-bus
Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
– dmcgrandle
Nov 10 '18 at 21:43
We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
– VioletVynil
Nov 11 '18 at 19:17
I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
– Nedelchev
Nov 12 '18 at 13:45
Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
– VioletVynil
Nov 13 '18 at 12:10
add a comment |
I'm currently working on a project that requires gathering data from a car's wheel speed sensors(4 hall efect speed sensors). Those sensors are connected to the car's ECU responsible for ABS/ESP/Stability control etc.
In order to extract the data from the ECU i need to make a request with a specific PID(parameter ID) AND know how to decode/compute the answer in order to extract any meaningful data. Unfortunately vehicle manufacturers don't seem to make such information public.
So far i've ordered an arduino CAN BUS shield and a OBD2 to RS232 cable in order to make the physical connection.
I have tried using a specialized hardware/software(that costs more than 1500euro) capable of extracting those parameters, but unfortunately it lacks logging functions. I tried using Wireshark to sniff the PIDs called, but had no luck there either.
If you guys have any ideas, questions or suggestions, please write them down.
I'm open to criticism and know that i might be missing something important.
Thanks.
P.S. This is a university project im working on. I need data samples from the wheel speed sensors and further computing of the data sample is done with the purpose of researching car safety and behavior in dynamic road scenarios.
arduino obd-ii can-bus
I'm currently working on a project that requires gathering data from a car's wheel speed sensors(4 hall efect speed sensors). Those sensors are connected to the car's ECU responsible for ABS/ESP/Stability control etc.
In order to extract the data from the ECU i need to make a request with a specific PID(parameter ID) AND know how to decode/compute the answer in order to extract any meaningful data. Unfortunately vehicle manufacturers don't seem to make such information public.
So far i've ordered an arduino CAN BUS shield and a OBD2 to RS232 cable in order to make the physical connection.
I have tried using a specialized hardware/software(that costs more than 1500euro) capable of extracting those parameters, but unfortunately it lacks logging functions. I tried using Wireshark to sniff the PIDs called, but had no luck there either.
If you guys have any ideas, questions or suggestions, please write them down.
I'm open to criticism and know that i might be missing something important.
Thanks.
P.S. This is a university project im working on. I need data samples from the wheel speed sensors and further computing of the data sample is done with the purpose of researching car safety and behavior in dynamic road scenarios.
arduino obd-ii can-bus
arduino obd-ii can-bus
edited Nov 12 '18 at 10:09
Nedelchev
asked Nov 10 '18 at 15:50
NedelchevNedelchev
62
62
Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
– dmcgrandle
Nov 10 '18 at 21:43
We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
– VioletVynil
Nov 11 '18 at 19:17
I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
– Nedelchev
Nov 12 '18 at 13:45
Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
– VioletVynil
Nov 13 '18 at 12:10
add a comment |
Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
– dmcgrandle
Nov 10 '18 at 21:43
We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
– VioletVynil
Nov 11 '18 at 19:17
I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
– Nedelchev
Nov 12 '18 at 13:45
Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
– VioletVynil
Nov 13 '18 at 12:10
Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
– dmcgrandle
Nov 10 '18 at 21:43
Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
– dmcgrandle
Nov 10 '18 at 21:43
We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
– VioletVynil
Nov 11 '18 at 19:17
We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
– VioletVynil
Nov 11 '18 at 19:17
I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
– Nedelchev
Nov 12 '18 at 13:45
I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
– Nedelchev
Nov 12 '18 at 13:45
Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
– VioletVynil
Nov 13 '18 at 12:10
Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
– VioletVynil
Nov 13 '18 at 12:10
add a comment |
1 Answer
1
active
oldest
votes
You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.
You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.
UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!
ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53240629%2freading-data-from-cars-ecu-abs-wheel-speed-sensors%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.
You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.
UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!
ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!
add a comment |
You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.
You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.
UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!
ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!
add a comment |
You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.
You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.
UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!
ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!
You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.
You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.
UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!
ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!
answered Nov 13 '18 at 12:55
WonderfulMeWonderfulMe
351421
351421
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53240629%2freading-data-from-cars-ecu-abs-wheel-speed-sensors%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
– dmcgrandle
Nov 10 '18 at 21:43
We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
– VioletVynil
Nov 11 '18 at 19:17
I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
– Nedelchev
Nov 12 '18 at 13:45
Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
– VioletVynil
Nov 13 '18 at 12:10