07-31-2021, 11:40 AM
Hi OPA and all the experts,
I'm trying to link the Mazda 2017 MZD controller to the Raspberry Pi. The MZD controller is connected to Stock HU via LIN Bus (something similar to RS232). My idea is to use Arduino Micro connected to steering switches using analog signal and then use a "UART based LIN Bus shield" to connect to the MZD controller; then the Arduino Micro will act like a keyboard. The steering switches have successfully connected and executed the keyboard stroke. very encouraging for sure. so the challenge is the LIN bus.
I have somewhat successfully sniffed the LIN bus and obtained the UART messages/bytes (It seems like I'm using the right speed). I have determined the buttons pressed have changed the bytes here and there consistently. so I guess I'm doing the right thing. The controller need a wake up message (which I have obtained) to start the controller. I did tried to send but I couldn't wake up the controller in a right way. My guess is the method I sent and I need some pointers below
1) for Audi system using the MAX3232 or the BMW idrive, how the wakeup code been sent? what are the important parameters I need to make sure I get it right?
2) Is there a Arduino code that has been used to sniff the Audi using MAX3232? I would like to mod it to do the same for LIN bus
3) Anyone has successfully make it work?
It is very challenging for me as a Mechanical background person who trying to learn programming and electronics. I have done some CAN bus sniffing but I'm using all the resources available in youtube and github. but now this LIN bus controller thing is a challenge. I really hope I get some guidance.
I'm trying to link the Mazda 2017 MZD controller to the Raspberry Pi. The MZD controller is connected to Stock HU via LIN Bus (something similar to RS232). My idea is to use Arduino Micro connected to steering switches using analog signal and then use a "UART based LIN Bus shield" to connect to the MZD controller; then the Arduino Micro will act like a keyboard. The steering switches have successfully connected and executed the keyboard stroke. very encouraging for sure. so the challenge is the LIN bus.
I have somewhat successfully sniffed the LIN bus and obtained the UART messages/bytes (It seems like I'm using the right speed). I have determined the buttons pressed have changed the bytes here and there consistently. so I guess I'm doing the right thing. The controller need a wake up message (which I have obtained) to start the controller. I did tried to send but I couldn't wake up the controller in a right way. My guess is the method I sent and I need some pointers below
1) for Audi system using the MAX3232 or the BMW idrive, how the wakeup code been sent? what are the important parameters I need to make sure I get it right?
2) Is there a Arduino code that has been used to sniff the Audi using MAX3232? I would like to mod it to do the same for LIN bus
3) Anyone has successfully make it work?
It is very challenging for me as a Mechanical background person who trying to learn programming and electronics. I have done some CAN bus sniffing but I'm using all the resources available in youtube and github. but now this LIN bus controller thing is a challenge. I really hope I get some guidance.