Using a Raspberry Pi Zero as an IoT platform for your car
Internet of Things is the new hot in tech
Internet of Things (IoT) is a popular buzzword in the tech/gadget community. The concept is that all the devices in our everyday life can be online/connected to the Internet 24/7, and thereby help to improve and make our lives more efficient. This includes our light bulbs, kitchen appliances, TVs, alarm and heating systems etc. All our "things" should be able to communicate with each other and be controlled from everywhere in order to achieve a more efficient and convenient world for us to live in.
Ideas for the connected car
Why should it not also include your car? Major tech companies have already started a built-up within this field, such as Tesla, Google and Uber. But where does that leave us, who cannot afford an expensive luxury car with the latest tech gadgets or a Tesla with an autopilot?
Different attempts to solve this have been made earlier. Most attempts have been made using the OBD port of the car, and thus reading out telematics from the CAN bus of the car. Common for all these previous systems is that their platform was locked for modifications and alterations by the users.
This puzzled us and we decided to try to build our own system. We wanted a system that everybody could change, update and modify to their likings. We wanted a system that was always online and available. We did not want a system that was dependent on an internet connection through a mobile phone. We wanted a true IoT platform in the car.
Our requirements was:
- Online even when friends or family members use the car
- Not dependent on a mobile phone
- Open for programmable changes
- But also configurable without programming experience
- Extensible with external systems
- Built on a well known hardware platform
An IoT platform built on the Raspberry Pi Zero
We quickly realized that the products from The Raspberry Foundation was very suitable for our project. We ended up deciding to use the Raspberry Pi Zero as the heart of our hardware dongle. The Raspberry Pi is a widely used, affordable and proven micro computer. It runs a high-level operation system and has a large backing community.
We decided to build a HAT (Hardware Attached on Top) for the Raspberry Pi Zero, containing the needed IOs.
- 4G LTE modem
- USB connectors
- OBD connection to the car
- GPS + A-GPS
- Wireless LAN
- HDMI port
A software platform built for IoT
We created a hardware platform that matched our initial requirements, but our vision was not complete. We wanted to connect our car and hardware dongle to an IoT software platform, from where we could easily manage and update the entire system. We wanted the platform to include a fully customizable dashboard, where each user could set up their own widgets.
We wanted it to be easy to install new features from a community driven platform:
But we wanted to make sure that the user still had full possibility to interact, configure and program their Raspberry Pi and car directly from our IoT Platform:
A more detailed overview of the AutoPi IoT platform can be seen HERE
- The AutoPi is not dependent on a connection to a mobile phone and is therefor online no matter who is driving the car
- Advanced code modules can be programmed, uploaded and tested directly from the built-in editor.
- Dashboard, triggers and add-ons are available for easy configuration and does not require programming experience.
- With built-in WiFi, Bluetooth and USB it is easy to extend the system with other subsystems and extend the possibilities of the system.
We ended up with an open and versatile system with some unique key features:
Did you like the article? AutoPi.io will soon be available on Kickstarter. Help us share this article or visit our social sites.
AutoPi.io is the first extensible IoT platform for your car, built on the Raspberry Pi.
Other blog posts for further reading
What is AutoPi and What Does It Do?
Get a short introduction to how AutoPi works and what it does for you. We will cover some of the technical details but also give a brief overview of the use case scenarios for this IoT device, like theft detection and remote safety monitoring. Get a felling of the AutoPi IoT platform and hardware dongle.
Build your own Black Ice Detection system for your car using AutoPi
The term “Black ice” refer to a winter phenomenon, where a layer of ice on the road is so thin it becomes transparent and thus appears “black” from the road below. This is a very common situation during winter times and can create hazardous situations for vehicles and pedestrians. The phenomenon often occurs when the temperature is right around freezing point and when a light rain hits a road surface which is below freezing point.
Discover hidden functions in your car (using CAN bus sniffing)
All modern vehicles today is controlled by multiple Electronic Control Units (ECU), which you can think of as small computers controlling all electrical components in your car. Using the OBD-II port and an AutoPi it is possible to communicate with the ECUs. One of the ECU’s is called the Engine Control Module (ECM). This is responsible for communication with a lot of subsystems, like transmission, power steering, windows and doors. These subsystems communicates on a network bus called Controller Area Network (CAN), by broadcasting messages on the bus.