car automation ohm2013
TRANSCRIPT
Hacking your car with open source hardware and software
Marian Marinov CEO of 1H Ltd.
What we are facing in the moment?
Car manifacturers and government bodies limit our posibility to control our vehicles
We don't have access to things like Fuel/Oxygen distribution
Ignition process
Power distribution
Immobilizers
Car Alarms
IVI systems
All of the above systems are controlled with software
I have payed for my car!I own the stupid thing!
AND
I'm not free to understand it!I'm not free to change it!I'm don't have free access to its systems.
However, car burglars know more about the systems of my car, then I do!
What we can do to change this?
Write APIs that will interface with the car
Currently there is only a handful of software that can interface with OBD II http://en.wikipedia.org/wiki/Socketcan
http://vanheusden.com/O2OO/
http://www.obdtester.com/pyobd
http://sourceforge.net/projects/openobd/
http://obdtoolbox.sourceforge.net/
http://icculus.org/obdgpslogger/
What we can do to change this?
Debug our cars and publish our finding online
Share that knowledge
Educate our peers
What about old cars?
At the moment all car manufacturers are focusing on new models of cars
But almost no one is actually developing new systems for the old models
My car is 13 years old
It is called Maznio(in BG), in EN you may know it as Toadie (form the Gummy bears)
My car - Maznio
Maznio
What I'm doing to my car?
Smart(er) air conditioning
OpenSource free IVI system that does not limit it self to the standards of car manifacturers
GSM lock/unlock, start/stop and show me your location, system
Finally, I'm currently trying to convert my manual transmission to a semi-automatic
Smart(er) air conditioning
Smart(er) air conditioning
If outside is cold(bellow 17C), start warming.
If outside is hot(above 26C), start cooling.
If it is normal, don't do anything unless pushed :)
If the temperature is not even in the entire car, close some of the vents to even it.
Try to keep the selected temperature within 1 or 2 degrees of deviation
Currently all of that is done with Arduino and as you saw, 4 DHT22 sensors
The system is currently missing an interface to control the (at the moment) hard coded HOT/COLD and NORMAL values.
My entertainment system
Lenovo T61 with SSD drive
USB 3G Modem
USB Universal card reader
Additional USB WiFi abgn
USB 12V powered HUB
Dual boot Arch Linux/Android tablet
My entertainment system
When the car is parked, sync all of my movies and songs.
I used XBMC as media player on the tablet
For gaming, my wife uses the Android.
Audio from the tablet is exported via radio freq. to the main car audio system.
When the car finds a free WiFi, it immediately connects to it and share it with the passengers via the second WiFi (the one of the laptop).
When there is no connectivity it switches to 3G.
All the time, the car routes its network trough my home VPN.
GSM remote control for the car
GSM remote control for the car
Lock/Unlock
Start/Stop
Show its current location
Send a distress SMS or call
http://github.com/hackman/GSM_lock
GSM remote control for the car
Geogram One
Converting manual to an automatic gearbox
Converting manual to an automatic gearbox
Converting manual to an automatic gearbox
There are some issues however I want to remain free to move the lever when I wish
I want to remain in control over the gas and clutch
The clutch is wearing with time. How we can detectthat?
Deciding when to release the clutch entirely is varying very from car to car.
Future plans
Add parking door buttons(315 & 434MHz)
Buttons for stored seat positioning
More free bluetooth
Auto high/low beams
Parking assistant
Lane assistant
Road sign reader
Calculate the speed of the car in front
Calculate the speed of a car that is overtaking me
Integrate a maintenance manager with the OBD API
Rain detection
Thank you very much!
QUESTIONS ?
Marian Marinov CEO of 1H Ltd.