汽车信息管理和记录系统

来源:互联网 发布:js 最多保留两位小数 编辑:程序博客网 时间:2024/05/29 07:11



考虑在android 车载GPS上添加一个app去获取汽车信息和行驶记录,和手机同步。


以下转自:http://www.kickstarter.com/projects/530092001/ark-the-next-generation-portable-wireless-charger?ref=category


Making it possible, accessible, and affordable to carry out vehicle telematics projects with open-source hardware and mobile gadgets

For many years and till this day, I am the author of MediaCoder. While developing and maintaining my video transcoding software, I am also an open-source hardware enthusiast, and at the same time very interested in vehicle telematics, which is basically about measuring my car’s performance and recording my driving history. That's why I started this project two years ago which is now named - Project Freematics.

The name of Freematics stands for Free (as in freedom) and Telematics. The goal of this project is to make it possible, accessible, and affordable for people, especially makers, to carry out vehicle telematics projects with open-source hardware, more specificallyArduino, the most popular single-board microcontroller platform.

Telematics, more specifically vehicle telematics, refers to the use of telecommunications and informatics systems within road vehicles. Practical applications of vehicle telematics include:

  • Vehicle data logging and analysis
  • Vehicle tracking
  • Mobile data transmission
  • Wireless vehicle safety communications
  • Intelligent vehicle technologies
  • Car clubs
  • Auto insurance

Hardware

The core of most vehicle telematics projects is the data, including vehicle ECU data, GPS data and some sensor (e.g. accelerometer) data . A motor vehicle works as a closed systems for many reasons. The OBD-II port, equipped in most modern cars as a compulsory standard, opens up a gate to the internal status of a car. OBD-II is no longer only used by professionals and hobbyists to repair vehicles. The information it provides is commonly used by vehicle telematics devices that perform fleet tracking, monitor fuel efficiency, prevent unsafe driving, as well as for remote diagnostics and by Pay-As-You-Drive insurance. Although originally not intended for the above purposes, commonly supported OBD-II data such as Vehicle Speed, RPM, and Fuel Level allow fleet tracking devices to monitor vehicle idling times, speeding, and over-revving.

First Spark

In 2009, I bought a new car and was so excited about it. I got a USB version ELM327 adapter and tried to pull out some information from my car, so that I could have more to share at local car club gathering. I found some open-source software written for ELM327 and was absorbed in all these as my programmer background and automotive passion joined together. Soon I managed to write an application running on my Windows Mobile phone showing a dashboard on the phone's screen with data retrieved from the car.

In 2010, I got to know Arduino, which really broadened my mind. I  managed to get ELM327 to work with Arduino and developed an Arduino library to making it more easily for other people.

Made for Arduino

Together with a friend who is a hardware guy, we tried to make an Arduino friendly solution for OBD-II access. Our implementation is based on a STM32 and a MCP255. When it was done, all common OBD-II PIDs could be retrieved. We also tried to use MPU6050 as motion sensor to measure the car's lateral G-force.

Made with Arduino

Later we thought it might be a good idea to integrate an Arduino into the adapter, so that the adapter can work standalone as a smart device. With some useful peripherals. With mass storage, it can work as a vehicle data logger. With a wireless communication module, it is able to stream out live or logged data to mobile devices. Finally these thoughts brought up Freematics OBD-II Adapter.

Integrated with an Arduino compatible AVR MCU, Freematics OBD-II Adapter is programmable exactly as an Arduino board with access to OBD-II data and onboard peripherals through Arduino libraries.

Features:

  • ATMega644PA as main controller (Arduino compatible)
  • STM32 as signal processor (CAN, KWP2000, ISO9141-2, GPS NMEA)
  • MPU6050 as motion sensor (accelerometer and gyro) and temperature sensor
  • Onboard BLE (or Bluetooth 2.1) for wireless data communication with iOS and Android devices
  • microSD socket (up to 32GB mass storage)
  • Optional lead-out cable for SPI, I2C or UART and power output
  • Optional built-in GPS receiver
Schematics of Freematics OBD-II Adapter (without GPS)Schematics of Freematics OBD-II Adapter (without GPS)

Freematics OBD-II Adapter can be programmed with Arduino IDE, just like programming an Arduino board.

Compiled sketch are downloaded to the adapter through ICSP (SPI pins) with USBasp or simply Arduino as ISP.

For more information about programming the Freematics OBD-II Adapter, please refer tothe programming guide

What can it really do?

It can do a lot with enough imagination, as it is fully programmable and can work standalone. Here are some possible or carried-out applications of Freematics OBD-II Adapter.

Vehicle data and GPS track logger

The most straight-forward purpose of Freematics OBD-II Adapter is vehicle data logging. Driving routes can be recorded together with real-time vehicle data. The logged data can be later illustrated and analyzed for various purposes. The on-board BLE module provides connectivity with mobile devices which can also be used as the data terminal.

Before we can have a real fancy data terminal software, we have already set up a basic web service which accepts and illustrate data log files generated by our data logger sketches into interactive chart and Google Earth track.

Controller and power supply for other hardware

As Arduino-compatible micro-controller is embedded, Freematics OBD-II Adapter can control other hardware by data interfaces like I2C or SPI (with lead-out cable) and make the hardware interacting to real-time vehicle data. An example is a HUD (head-up display) made of 8×8 RGB LED matrix driven by I2C (as slave device), powered and controlled by the adapter's built-in MCU.

 PLAY

Providing vehicle and GPS data for another hardware system

Freematics OBD-II Adapter connect with another hardware system, for example, an Arduino with TFT shield when live data display is required, an Arduino with GPRS shield when Internet connectivity is needed, or when car video is to be recorded with overlaid vehicle data. The following video is a real case we have done with the adapter and a tablet PC installed in car.

 PLAY

Smart vehicle monitoring/testing device

Running a sketch that monitors vehicle's status (sensors and trouble code), the adapter can work as a smart vehicle monitoring device which can either signal you by attached buzzer, LCD, LED when your vehicle has any incurred or potential problems. It can also works for vehicle testing or performance benchmarking. A real example is an Arduino device with OLED display attached to the adapter, working like Performance Box which monitors car's acceleration procedure and display the acceleration time (0~60km/h, 0~100km/h, 0~200km/h).

 PLAY

Software

After working out the hardware, our focus is now on making better software for the hardware. If hardware is the body, software is the soul. As a smart programmable device, Freematics OBD-II Adapter requires software (or more precisely firmware) running on it to achieve different functionality. As an Arduino device, the software running on it is called sketch. We have already developed several sketches for functionality test, for example a data logging sketch turns the device into a vehicle data logger. We are developing more sketches that are ready to go and can be easily modified by users to make Freematics OBD-II Adapter a device that adapts their needs.

Smartphone App is another significant part of our software development. A user-friendly and feature-rich App will definitely unleash the power of Freematics OBD-II Adapter andmake the hardware not only useful to makers but also to people who don't know about programming.

A professional vehicle data measurement and analysis tool, with identical features ofVBOX Circuit Tools, working on smartphones and tablets is our current direction.

Right now we have published a basic iOS App in App Store. The App can receive and display data from Freematics OBD-II Adapter via BLE.

Our goal is to implement following features in the App:

  • Loading history data stored in Freematics OBD-II Adapter
  • Illustrating collected data into more professional and fancy charts
  • Video logging in sync with data logging
  • Video replay with overlaid data
  • Lap timer
  • Car performance benchmarking and comparison
  • Re-programming / updating firmware for Freematics OBD-II Adapter

People

I (Stanley Huang) am the initiator and the core developer for this project. I started learning programming since age of 9 (1990). Being a young programmer for many years and later majored in electronics in university, I had accumulated rich experience and expertise in both software and hardware design and development. After working as full-time software engineer for 3 years, I started developing and maintaining MediaCoder since 2005, which has taught me what's important for creating a popular product.

The ability of an individual is always limited. While I have been focusing on the product design and coding for firmware, Arduino sketches/libraries and PC software, my team (members are all part-time at the moment) works out the hardware design (PCB), smartphone App development and website/graphic design. Our team has co-worked for 3 years and is very productive.

You can get latest updates from us by the Freematics Facebook page and reach us by theFreematics Facebook group.

Timeline

Rewards

Our rewards include both our existing products and the products of the campaign.

Bluetooth Options

The BLE module can be substituted with Bluetooth 2.1 module. If Bluetooth 2.1 is needed, please leave a note to us.

For BLE version, a TI CC2540 based module is used for transparent serial communication with BLE enabled devices, like latest iPhone or iPad and some Android devices. App-side programming is required. So we also provide an App calledFreematics OBD for use with our pre-developed Arduino sketches.

For BT 2.1 version, a CSR BC417 module is used for transparent serial communication with Bluetooth enabled devices, including most laptops and many existing mobile devices (except iOS devices).

Backers will have chance to choose the version of Bluetooth in the survey after the campaign succeeds.

GPS Option

For the GPS included version of Freematics OBD-II Adapter, a Fastrax UP501 10Hz GPS module with self-contained ceramic antenna will be embedded and wired to the STM32 processor. The programmable AVR chip queries GPS data with AT commands.

Cable Lead-out

A cable of 4-pin or 6-pin can be led out from the adapter for providing I2C or SPI data connection and 5V/3.3V (up to 2A) power output. Please add $5 if the lead-out cable is needed as there is some additional hand work for this. Backers will have the chance to specify the type of cable, the output voltage, the connector type and pin order in the survey after the campaign succeeds.

USB Dongle

BLE/BT USB dongle is a USB device which adds BT/BLE communication to a PC which can then connect with Freematics OBD-II Adapter wirelessly. The optional USB dongle is convenient for serial debugging or can be used for data transmission.

The BLE version of USB dongle is based on TI CC2540 and the Bluetooth version is based on CSR chip.

About Freematics OBD-II Dev Bundle

The bundle includes Freematics OBD-II Emulator. The emulator provides OBD-II port identical to that in a real car and simulates data bus of a real car. It provides an efficient way for testing and debugging OBD-II applications without the need for a real car and consuming fuels. The values of OBD-II PIDs can be adjusted by the 9 physical knobs. The list of 9 adjustable PIDs can be customized. Backers will have the chance to specify the list of OBD-II PIDs (or just keep the default set-up) in the survey after the campaign succeeds.

Funds

Yes, we need the funds. There is still plenty of work to be done and that's why we are here. In addition to lowering the per-unit cost by enlarging the scale of hardware manufacturing, the funds will allow us to devote more time (so that my fellow team members may work full-time on this project) and allocate more resources to building up good software and services for the hardware. They are:

  • Developing more useful Arduino sketches (open-source firmware) for running on Freematics OBD-II Adapter
  • Implementing remote programming via BLE
  • Developing the App described above for both iOS and Android
  • Developing and publishing a SDK that simplifies App developers' work for developing a vehicle aware App
  • A cloud-based service for storing and retrieving vehicle data (live and historic)

Finally thanks for your support! We will cherish your trust and are really looking forward to devoting all our expertise to the realization of our ideas and plans that we, and hopefully you, are really excited about.

Risks and challenges


0 0
原创粉丝点击