By Janice J. Heiss on Sep 25, 2013
by Timothy Beneke
On Tuesday, Oracle Technology Evangelist Simon Ritter presented a
session that demonstrated how a simple Raspberry Pi computer could be
connected to an Audi to access far more information about the inner
workings of the Audi than is currently available. Ritter, a great
showman who has entertained thousands of JavaOne attendees over the
years with his Java tricks, communicated his contagious passion for
gadgets – and for sharing them with others.
“I love computers and all things electronic, and I also love cars – I’m a petrolhead -- so I’ve combined these 2 passions into one thing,” said Ritter.
His talk was divided into several sections. He began by talking about the reliance of cars upon computers and moved to a discussion of the Raspberry Pi and why it’s a good choice for the kinds of systems he built into his car. He went on to briefly provide some background about embedded Java and JavaFX, and why they are good choices for the Raspberry Pi. He then spent much of the session describing the software system he built in his car, its functionality, how it works, and so on. He speculated on possible future enhancements to his “carputer,” and, finally, showed a video that provided a sense of what it is like to ride in the car with the new data accessible.
He initially made the point that computers and cars are now inexorably tied together. His first car, a 1971 Mini Clubman 1000 had, aside from a radio, no electronics. In contrast, his most recent car, a 2011 Audi S3, has lots of electronic devices, like all modern cars: an engine control unit, fuel injection/electronic timing, “Fly-by-wire” throttle, an anti-lock braking system, Satellite navigation, auto-sensing wipers and lights, and much more, some of which are mandated by law. The key point is that cars are already heavily computerized.
He described how the bus architecture works in the Audi, a communication system that transfers data between components inside a computer, and presented basic information about embedded Java, Java ME and JavaFX.
The Advantages of the Raspberry Pi for Car Computing
Ritter described the history of the remarkable Raspberry Pi, a project begun in 2006 that was initially created to inspire children to learn about computers. It was officially launched on Feb 29th, 2012 and currently, nearly 2 million have been shipped at a cost of around $25. It is ideal for children because of its cost and ease of use.
Its core features are:
* CPU: ARM 11 (v6) core running at 700MHz
– Broadcom SoC package
– Can now be overclocked to 1GHz (without breaking the warranty!)
* Memory: 512Mb
– HDMI and composite video
– Audio out (3.5mm plug)
– 2 x USB ports
– Header pins for GPIO, UART, SPI and I2C
Ritter pointed out that adult computer geeks have been playing with the Raspberry Pi in countless ways. He then summarized why it is ideal for car computing:
* It has plenty of computing power with low electrical power consumption (< 1 Amp at 5V).
* Persistent storage is provided by the SD card.
– Disk drives are not ideal in hot places with lots of vibration.
– It’s a supported device for embedded Java.
– It is configured for floating point acceleration.
– It works with Java SE Embedded and Java ME Embedded.
-- A JavaFX Prism graphics engine is ported.
His goal was to gain new information from his car in real-time and have it available for analysis to ultimately improve his driving style:
* Display realtime data
– Engine performance (Power, Torque, Load)
– Driver data (Throttle position, steering angle, braking force, etc)
– G-Forces on car
* Record data for later analysis
– Produce graphs to display changes over time
– Play at Formula 1
– Improve driving style
He went on to describe the creation of the accelerometer, touch screen, measures of torque, among other things, and closed with a 3-minute video showing the box in action in the car from the perspective of someone riding in the car with various measures visible. Then he played back the information recorded on the drive.
All in all, a super entertaining, informative session.