I am looking to write an application that works with the J1939 protocol which is part of CAN (Controller Area Network) for vehicle engines. I am reading on this but I am getting some conflicting information in regards to the requirements of communicating here with this Controller Area Network, including reading and transmitting signals this would require a specialized microcontroller and other websites saying that this isn't required but just a connection to a computer. So which is it?
What are you wanting to run the software on? Microcontrollers are normally used in this situation because processing is required, however if you're wanting to connect with a PC then the computer can handle the processing for you. There are software suites available for pc in fact that do exactly this. Those diagnostic systems at repair shops are usually just laptops with a breakout cable.