Since I’ve solved the issues around the software portion of the system, I decided to get started on the hardware aspect of the project. I can’t really finish the software until I know exactly how the hardware will interact with everything. Most importantly, I need to determine how the chip will interface with the car itself. Also to be done is the actual connectivity of the bluetooth modules, which I have just started to work on.
The basic system will work like this: bluetooth enabled PDA will conect to the bluetooth chip in the car. The PDA will send the desired command to the car. The car’s chip will receive the command and send the command to the microcontroler. The microcontroller will execute a series of actions based on the command, such as unlock doors, start car, and boot main carputer. Upon completion of instructions, the car will send an acknowledge back to the PDA. The microcontroller in the car will most likely use relalys connected to the I/O ports to perform most of the actions. The bluetooth chip will communicate to the microcontroller through one of the two RS232 COM ports the microcontroller has. The other COM port will be reserved for monitoring the status of the chip, if necessary.
With a system like this, it is necessary to prevent any bluetooth device from connecting. Bluetooth does have a built in authencation system with encryption, however getting a device like a PDA to play nice with that seems to be a problem. Each bluetooth chip has a ID number similar to a MAC address so that it can be uniquely identified. For authencated sessions, bluetoth chips can have a 12 character PIN. Both chips attempting to connect to each other must have the same PIN stored. Setting the PIN on the chips that I am using for the car is not a problem, however I am unsure if I can have the PDA set its PIN for use to connect to the computer. I could make a FOB type thing that uses one of the chips that will be in the car (that I can set the PIN on), but that would ruin the purpose of using bluetooth in the first place (to be able to use a PDA or cell phone). One possible way to get around this problem is to only check the ID number of the bluetooth chip. Main issue there is the ability of someone to spoof the correct ID number and gain control of the car, assuming they know the correct commands to send to the car. Obviously someone would have to be rather knowledgable and determined to use such an attack to steal the car, but its something I would like to avoid none the less.