I have just came across with a thread on the russian website, about fancy car cluster project. They have created a nice looking car dashboard using Adobe Air technology, that can run on any Android or Windows device. Unfortunately it was a commercial project and they don't share much information
I have wondered, maybe someone has already similar experience to advice?
P.S. I am familiar with Adobe Photoshop and Illustrator.
It uses Arduino Mega to process data. But then how they send the data to Android or Windows app, I have no idea. Maybe there is someone did something similar.
Maybe Arduino can send serial data to ESP8266 that I have, then it could be possible to process data and display it.
Regarding app, there is huge possibility that experienced Arduino users have an idea.
P.S. If it's not related you can remove this thread.
and hence should be broken up into its equal parts.
1.) Hardware side
What is the Arduino connected to?
How is the Arduino connected?
I'm assuming some sort of connection to a 'car'.. but the details are important..
Things like:
the data we are expecting to get
the format of this data we are getting
2.) The software side (not the sketch/code for the Arduino.. but the Adobe Air side of things.. or the GUI aspect)
I dont have much experience with Adobe Air.. but I was a Flash developer for many years (in a former life)
Where is this 'GUI' (dashboard) going to be viewed? Local PC? On-line? (cloud?)..etc
Does the GUI/dashboard -do- anything? or is it just a simple 'display' of the data being sent from the above hardware/section?
How is the GUI/dashboard supposed to be receiving this data?
If the 'hardware' device attached to the car transmitting its data vis bluetooth? So the GUI/dashboard needs to be close in proximity?
Is the 'hardware' uploading this data to the 'cloud/a server'.. (a central access point).. and the GUI/dashboard is polling getting this data from the server/database?
Seems like your missing a few pieces of this puzzle... and the 'bridge' that lets everything communicate together..
Creating some sort of visual gauge that mirrors/displays data sent to it is not a big deal...
Without some 'basic info'...
a generic outline could be:
Car 'hardware' can use an ESP8266 wi-fi module to send this data to a database.. where it is logged/saved..
(but still no clue about this card hardware portion.. what your getting and how?)
Then some web app will poll/receive this data and update your gauge display(s)...
the 'glue' here is some server side scripting.. to take this data sent from (ESP8266 module).. save to a database...
and another 'server side' script to poll/get this data and deliver it to the gauge app.
Sorry for not giving enough information. Here it comes:
A friend of mine has a 2000 BMW 5 car. He wants to play with it, to tune and give a little bit updated look. First we wanted to take original cluster out, a little bit reverse engineer and change the layout with minimalistic design, leaving only most important indicators.
Then I saw abovementioned russian website (I speak little russian). Those guys did awesome job, but project is no more alive and important infos are "top secret".
I have ordered an OBDII cable (OBDLink SX), that should acquire data, e.g. car milage, speed etc. Serial data will go strait to Arduino board. After doing proper data processing, useful data will be transferred (maybe using transparent serial WIFI bridge/WIFI socket) to the Android device i.e. tablet. (Or Windows/Linux device, why not?) Software has to take data coming from WIFI and display it in a designed way, so that it looks like a car dashboard.
Main aim of this project is to replace stock instrument cluster of a car. (But why not to design in future an HMI? It's only one step further.)
As far as I know, they have used a HLK-RM04 WIFI module, Arduino Mega and simple custom shield. They have not used OBD, but many sensors installed in car. It could be easier to have their Android app, so I am not a app developer. But I have to manage it somehow. I presume, it's not necessarily hard as it seems to be.
P.S. You can call me stupid, because I could order bluetooth OBD adapter and use any existing OBD app. But it's boring.
Might be it could be possible to create Adobe Air app in Adobe Flash Professional with implementing AS3. Using AS3 we can open a socket to make Air app able to communicate with Arduino. Adobe Flash itself is a great visual GUI development environment.
I have researched a little and I found some couple years old examples, as not many people do it again. And examples are only using Firmata. I would be happy if anyone knows the way how to do it without Firmata, since I want to use Arduino as a main logic unit.
Once you get behind the fancy pictures all the communication between an Android device and an Arduino is the same as between the SerialMonitor and an Arduino - just serial data.
Have a look at Serial Input Basics and make your Android app send data in the same fornat as in Example 3