maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [Announce] pyOBD for Maemo/n900 (https://talk.maemo.org/showthread.php?t=81129)

m750 2011-12-26 22:23

[Announce] pyOBD for Maemo/n900
 
http://emmepole.altervista.org/N900/maemo/pyobd.png

I have improved and adapted pyOBD (OBD diagnostics for ECU cars) to work with Bluetooth devices connected to n900.

With my Bluetooth ELM adapter works.

The package name for maemo is "pyobd" (the same).

Remember:
1) wxPython libreries are needed (20MByte)
2) I added several OBD codes, but this application, as the original, has several limitations.
3) Please, remember thath pyobd is under GNU License:

Quote:


Copyright 2004 Donour Sizemore (donour@uchicago.edu)
Copyright 2009 Secons Ltd. (www.obdtester.com)


pyOBD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

pyOBD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with pyOBD; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA



Reference and information about pyOBD:
http://www.obdtester.com/pyobd
http://www.secons.com


Debian and sources:
http://maemo.org/packages/view/pyobd/

Screenshots:
http://emmepole.altervista.org/N900/...t-pyobd-1a.png

http://emmepole.altervista.org/N900/...t-pyobd-3a.png

http://emmepole.altervista.org/N900/...t-pyobd-4a.png

http://emmepole.altervista.org/N900/...t-pyobd-5a.png

http://emmepole.altervista.org/N900/...t-pyobd-6a.png

http://emmepole.altervista.org/N900/...ot-pyobd-8.png

http://emmepole.altervista.org/N900/...t-pyobd-7a.png

rotoflex 2011-12-27 08:53

Re: [Announce] pyOBD for Maemo/n900
 
It worked right off the bat!

Congratulations, you have created the first OBD application to connect up & work reliably for the N900 & my standard orange-label ELM-327 bluetooth dongle!

It even shuts off the bluetooth when it closes, so no need to worry about additional power usage! Far more clean & neat than Carman's leaving GPS on, etc.

My notes:
1. I already had my ELM-327 bluetooth dongle entered as a trusted device in the N900.
2. It was necessary to set the N900's bluetooth config to "Visible" in order to connect with the dongle I have.
3. After pyOBD is started, if you go to the OBD menu & click "connect" even if you have connected to a particular BT OBD dongle before, it does not connect. Status remains on "Connecting..." & does not time out or error message.
4. It seems to be necessary at each start to use "Search BT". A status bar with "Searching BT device..." comes up then disappears. After a wait, another status bar comes up with "Found a BT device". This status message will be followed by a configuration screen if the device can be used by pyOBD, otherwise, nothing happens afterwards. The "Found a BT device" status message has even come up in a room with no BT devices in it. It might be useful to display some status message after "Found a BT device" if connection cannot proceed to the configuration screen for whatever reason, so the user will not wonder if he should wait longer, or if the program has hung, etc.
5. After the config screen for the BT device comes up and OK is selected, it does not automatically connect to the BT device. It might be useful to have another button to go directly to "Connect" from the BT device screen to eliminate confusion to the user and increase speed of use.
6. After the "Search BT" routine completes with "Found BT device" and then the BT device config screen finishing with OK, then the "Connect" selection under OBD-II is used. The wait for connection I experienced was about 30 seconds.

Other than a little wrestling with wondering what the BT connection required of me & the N900, and wondering if everything was OK during the waits, it worked great!

Short version to get it going:
1. Pair your BT dongle with the N900 from the N900's BT config screen accessed from the N900's status bar. Set the BT config to "Visible".
2. Start pyOBD
3. Under OBD-II, select "Search BT". Wait up to 30 seconds between events for sequence of: status bar "Searching BT device", status bar "Found BT device", and config screen for found BT device. Click OK on config screen.
4. Under OBD-II, select "Connect", & in about 30 seconds the pyOBD's status will show it is connected.
5. Enjoy the pyOBD readouts of the OBD-II data.

As a strange addition to pyOBD's success, for the first time Carman is semi-reliably connecting & running. Whether it's something pyOBD brought with it, or learning through the less complex pyOBD that the N900's bluetooth config must be set to "Visible", or whatever, Carman is now connecting to this BT OBD-II dongle. Although you have to push Carman's "connect", watch it fail to connect, push connect again, & watch it always connect on the second try.

At any rate, pyOBD is much more useful for diagnostic use with its full complement of data sets from the OBD-II port.

Congratulations, M750!

m750 2011-12-27 17:51

Re: [Announce] pyOBD for Maemo/n900
 
New version available in extras-devel

- Added some status bar messages/banner
- Changed some menù/status bar messages
- Added some cars manufacter OBD-Codes

Please, remeber that it is a "rude" adaptation of the origial project to work with BT dongle.

The Winter 2011-12-27 18:01

Re: [Announce] pyOBD for Maemo/n900
 
this is great

don_falcone 2011-12-27 18:40

Re: [Announce] pyOBD for Maemo/n900
 
...now only the car has finally to be purchasable ;)

rotoflex 2011-12-28 01:23

Re: [Announce] pyOBD for Maemo/n900
 
The new version is a very good improvement on making the BT connection understandable!

My congratulations again on being the first to make a successful, reliable BT OBD data application!

Suggestions:
1. After the user clicks [OK] on the configure screen, put up a message like "Go to Connect to ECU to begin" or something so the user will not wonder if it is already connected or what to do next.
2. pyOBD can detect a BT device that it cannot connect to, so it might help if every 15 seconds it has not connected it displays the "Connecting" message, and then at 45 seconds if it cannot connect displays an "Unable to connect" message & stops trying. This will keep the user from wondering if it is able to connect or not.
3. If "Disconnect" is clicked either while pyOBD has successfully been connected, or if it is still in the "Connecting" loop, a "Disconnecting" message should display. Now, when "Disconnect" is selected, there is no acknowledgment that it is disconnecting, & the Link State value continues to display "Connected" or "Connecting".

You say it is only a "rude" adaptation, but it performs very nicely. Looks good, easy to understand, & even pretty fast! Very well done.

m750 2011-12-28 19:17

Re: [Announce] pyOBD for Maemo/n900
 
Version 0.9.2-5 in extras-devel.
Added, as required, more messages during connection with BT and ECU.
I can't add more messages during the BT pairing. This process is managed by n900s operating system.

rotoflex 2011-12-30 01:37

Re: [Announce] pyOBD for Maemo/n900
 
0.9.2-5 is awesome.

There is no guesswork, confusion, or worry about making the connection. It proceeds practically automatically.

This is a very well-finished application. It requires no outside hints to make it work, it is intuitive for the user, it does exactly what it is supposed to, & its operation feels quick & effortless.

I am examining it to find any problems at all, & the only thing I notice is that in Help->About This Program, the text does not scroll & it is cut off at the bottom of the screen. It is not a functional issue.

Again I must say how impressive not only the application itself is for its cleanliness & functionality, but also impressive is the fact that you have devised a straightforward & reliable N900 BT connection routine for it. I have seen in threads for other BT-related apps difficulties with connection and intermittent success, but yours is reliable & worry-free.

m750 2012-01-05 18:03

Re: [Announce] pyOBD for Maemo/n900
 
0.9.2-8 in extras-testing.
- added more OBD codes
- corrected the bugtracker
- now the app don't crashes if it receives a code not present in its database.

rotoflex 2012-01-06 17:07

Re: [Announce] pyOBD for Maemo/n900
 
Can you provide the link to vote this from extras-testing to extras?

m750 2012-01-07 07:16

Re: [Announce] pyOBD for Maemo/n900
 
of course: link

woody14619 2012-01-09 19:57

Re: [Announce] pyOBD for Maemo/n900
 
Played with this over the weekend, and it appears to work quite well. The BT seek/lock feature is really nice, and while the interface is basic, that's probably good for what it's doing. If you want a fancy interface, use CarMan. This one is more about functionality. (And yes, it can even view/reset codes... )

Nice app, and thanks for making it available. Off to vote for it now. :)

iproute 2012-01-10 15:05

Re: [Announce] pyOBD for Maemo/n900
 
Glad people are having success with this much needed app. Unfortunately I wasn't able to get it to communicate with the ECU. The bluetooth pairs fine and the app detects and connects to the the BT device. The bluetooth dongle initially shows activity (blinking lights for a few seconds) but afterwards there is no activity and the app is stuck at "Connecting..."

Here's what I have under the trace tab:

1 Application started
1 Opening interface (serial port)
1 Interface successfully /dev/rfcomm0 opened
1 Connecting to ECU...
3 Send command:atz
3 Get result:atz
3 Get result:
2 atz response:atz
3 Send command:ate0
3 Get result:ate0
3 Get result:OK
2 ate0 response:OK
3 Send command:0100
3 Get result:41 00 BE 3F B8 13
2 0100 response1:41 00 BE 3F B8 13
2 0100 response2:41 00 BE 3F B8 13
3 Send command:0100

Any help would be appreciated.

iproute 2012-01-10 16:41

Re: [Announce] pyOBD for Maemo/n900
 
To add to my previous post - I wanted to rule out the OBD II connector as a culprit so I used my laptop and OBD 2007 lite software to connect.
The connection was successful and the software was able to communicate and read all the pids.

m750 2012-01-10 18:01

Re: [Announce] pyOBD for Maemo/n900
 
I have simulated all commands and responses, but without troubles.
Please, run pyobd from x-terminal and post all the printouts.

Code:

root
python /home/opt/pyobd/pyobd.py


iproute 2012-01-10 19:49

Re: [Announce] pyOBD for Maemo/n900
 
Update:

I was able to successfully connect to the ECU. I simply disconnected the application from the BT device, closed out of it, re-enabled bluetooth and went through the connecting process 3-4 times. Each time it seems the app was able to go further and pull more and more data. At first it was only able to connect, then it was able to collect what information was supported, and finally the information under the sensor tab was gradually populated. The lights on the OBD II connector were blinking and data was transferred in real time (or near real time as there was some lag).

I didn't have any codes to clear but when I issued the command to collect that information it stopped the active data transfer.

If I get a chance this evening I'll try it on another vehicle that has codes.

By the way this is the OBD II connector that I purchased - BAFX Brand from amazon.

don_falcone 2012-01-10 20:16

Re: [Announce] pyOBD for Maemo/n900
 
Question@package maintainer: Without being able to test myself (car still not available *grrrr*), which codes are contained? (I specifically ask for Mitsubishi Galant 8th generation)

woody14619 2012-01-10 21:41

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by iproute (Post 1148539)
Update:

I was able to successfully connect to the ECU.

One thing to note, some cars do better when the engine is on vs off. My smart car, for example, will only allow limited data through when the engine is off. When on, it connects/pairs and works much better. On a side note, some won't let you do certain things while on. Clearing codes being a key example. Some won't let you do that with the engine on. :)

Estel 2012-01-10 22:48

Re: [Announce] pyOBD for Maemo/n900
 
Does anyone have experience with using pyOBD with USB (not bluetooth) OBD interfaces? Are required modules shipped with kernel-power?

/Estel

rotoflex 2012-01-11 06:30

Re: [Announce] pyOBD for Maemo/n900
 
1 Attachment(s)
Quote:

Originally Posted by iproute (Post 1148539)
By the way this is the OBD II connector that I purchased - BAFX Brand from amazon.

I am using one of the black adapters with orange sticker available from many sellers on eBay, & it works well.

m750 2012-01-11 08:15

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by don_falcone (Post 1148550)
Question@package maintainer: Without being able to test myself (car still not available *grrrr*), which codes are contained? (I specifically ask for Mitsubishi Galant 8th generation)

This version of pyobd contain standard OBD codes and some codes customized by cars maker.
I recommend you to do internet searches to find the meaning of the codes, because aside from the standard ones, those are a lot of codes customized by cars vendor.
One example: link

sixwheeledbeast 2012-01-11 17:35

Re: [Announce] pyOBD for Maemo/n900
 
This is a useful looking app!
When do we think it will be promoted to extras?

m750 2012-01-11 18:36

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by sixwheeledbeast (Post 1148950)
This is a useful looking app!
When do we think it will be promoted to extras?

When at least three other people will give it a positive feedback! :)

don_falcone 2012-01-11 20:15

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by m750 (Post 1148771)
This version of pyobd contain standard OBD codes and some codes customized by cars maker.

Those are what i was asking for, knowing already that OBD-II alone is not "everything" and makers often do not publish their own extensions to the standard - which often are the most interesting / helpful bits.

m750 2012-01-11 20:35

Re: [Announce] pyOBD for Maemo/n900
 
Often same codes have different meanings depending by cars. Then, as I said, you have to use Internet, but for some codes the search is not easy.

iIf you want to customize (add or change) the codes recognized by pyobd, just edit the file:
/home/opt/pyobd/obd2_codes.py

Estel 2012-01-11 22:30

Re: [Announce] pyOBD for Maemo/n900
 
So, basically, everyone can add own codes, if she/he is sure they're correct and won't blow up engine? Cool! Seems like decent totally FOSS replacement for Carman, at last.

/Estel

woody14619 2012-01-11 23:42

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by rotoflex (Post 1148739)
I am using one of the black adapters with orange sticker available from many sellers on eBay, & it works well.

This is the same one I have... works well with this and Carman for the N800/N900. Also works with most linux apps I've tried on my laptop. You can find them for as cheap at $20 new these days, cheaper used.

@Estel:

I think all you would need is the usbserial.ko driver (which comes with the kp-modules package). You may have to setup the system to recognize your particular dongle as using that driver, but assuming it's generic, it should work.

m750 2012-01-12 17:32

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by Estel (Post 1149167)
So, basically, everyone can add own codes, if she/he is sure they're correct and won't blow up engine? Cool! Seems like decent totally FOSS replacement for Carman, at last./Estel

Yes, the engine will not blow up! :)
The meaning of the code is only a text string.
The ECU send three pairs of hex numbers, for example "7F 07 11". The software convert this number in a code (P1809).
pyOBD look into the file mentioned above. If the code is present, pyOBD retrive the text.
Currently

Quote:

...
...
...
"P1808": "Ford: 4-Wheel Drive Low Indicator Circuit Open or Short To Ground",
"P1809": "Nissan: Transmission 4-wheel drive Low indicator Open circuit",
"P1810": "GM: TFP Valve Position Switch Circuit",
...
...
...

sixwheeledbeast 2012-01-14 12:16

Re: [Announce] pyOBD for Maemo/n900
 
Okay so I thought i'd try this, from testing.
Played for an hour or so trying to get it to "Pair".

I finally got it to work by putting in the code '6789' letting it fail.
Then selected offline mode, this left "obd2ecu" device in the BT menu.
Opened pyOBD and searched for devs. It connected effortlessly several times after that, using pyOBD's menu.

As for the app it works as it should.
Quote:

Originally Posted by rotoflex (Post 1143320)
There is no guesswork, confusion, or worry about making the connection. It proceeds practically automatically.
It requires no outside hints to make it work, it is intuitive for the user, it does exactly what it is supposed to

I second this, although I have not tested all parts of the app (mainly fault code section).

Some things I did notice was it's not very finger friendly I did require the stylus a fair bit. (I suppose that's why it's there) :D
Especially for scrolling down the pages, I instantly missed kinetic scrolling that other apps provide.

I also wondered why the menu area wasn't utilised to put options up off the screen?
Finally the "About" section doesn't provide you with app version information. Had to go to HAM to find I was on version (0.9.2-8).

I am not trying to take anything away from this very useful app.
Just pointing out my first impressions (sorry for the essay).
Thank you for bringing this to the N900.

mooninite 2012-01-15 06:29

Re: [Announce] pyOBD for Maemo/n900
 
I wrote a pure C and pure GTK app that works on my N900 and linux PC that talks to my bluetooth ELM adapter. I just need to get it into Extras.

p900 2012-01-20 22:35

Re: [Announce] pyOBD for Maemo/n900
 
works well on my volvo S40
the fact that I didn't like pyOBD is because it reads only a very few sensors and there are no graphs/graphics
Perhaps if you look at an older version of carman you might find lots of sensor readings in there.
it's the last one for OS 2006
http://openbossa.indt.org/carman/ins...ldversion.html

Keep codin' ;)

woody14619 2012-01-21 03:59

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by p900 (Post 1153493)
works well on my volvo S40
the fact that I didn't like pyOBD is because it reads only a very few sensors and there are no graphs

Carman only reads about 8 sensor. pyOBD reads several of them, depending on your car. On my smart, most of the sensor page is enabled and it reads all of them. I'm pretty sure pyOBD auto-detects what sensors it can get from your car, then shows them and updates them. If you're not seeing many (25+) active on your car, it's probably because your car doesn't support reading those in the same place the script is looking for them. :rolleyes:

Volvo are great cars, but they're known for tweaking and customizing everything... including OBDII codes. smart does that too, but still accepts most of the older commands as well. The down-side for me is that lots of the "warning" codes show up as errors in pyOBD, and have no description, since they're manufacturer custom. I have an excel sheet somewhere with those though, and will add them (& upload them?) onceI find that again. It's on one of those thumbdrives... in that box over there... I think. :o

p900 2012-01-21 10:21

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by woody14619 (Post 1153555)
Carman only reads about 8 sensor. pyOBD reads several of them, depending on your car. On my smart, most of the sensor page is enabled and it reads all of them. I'm pretty sure pyOBD auto-detects what sensors it can get from your car, then shows them and updates them. If you're not seeing many (25+) active on your car, it's probably because your car doesn't support reading those in the same place the script is looking for them. :rolleyes:

Volvo are great cars, but they're known for tweaking and customizing everything... including OBDII codes. smart does that too, but still accepts most of the older commands as well. The down-side for me is that lots of the "warning" codes show up as errors in pyOBD, and have no description, since they're manufacturer custom. I have an excel sheet somewhere with those though, and will add them (& upload them?) onceI find that again. It's on one of those thumbdrives... in that box over there... I think. :o

I am talking about the oldest version of carman which was running on nokia 770 and it's for OS 2006 and not the version of carman which was ported for N900 too. That old version was reading maybe more than 100 sensors.
I still have it on my Nokia 770 and I can make a video to show how it works and what sensors it reads and almost all work for my car. ;)

rotoflex 2012-01-21 12:08

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by p900 (Post 1153493)
there are no graphs/graphics

I think this is one of those things where it's hardly fair to dislike something just because it is not something else.

pyOBD is what was adapted to the N900 in this case, (and more successfully than any previous BT OBD package). It is diagnostic-oriented, not dashboard/driving oriented & works well. If Carman had already been ported successfully to the N900, pyOBD would still be a great application because its objective is different.

Just to show that tastes can differ even as far as the packaging of a particular application, I think that Carman becomes less effective by its slant toward heavily stylized graphics - its information would be better conveyed with larger, simpler windowed digital readouts which would make not only for faster perception, but allow more outputs to be displayed simultaneously. At the size of the N900 screen, two pseudo-analog gauges eat up a lot of real estate costing reduced readability that could have been more effectively used with even four or six simplified digital readouts.

There is already a Carman thread, if you would like to attempt to resurrect interest in Carman. But pyOBD is dstinct & not inferior to Carman's objective - which is still unachieved on the N900, also.

p900 2012-01-21 12:18

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by rotoflex (Post 1153632)
I think this is one of those things where it's hardly fair to dislike something just because it is not something else.

pyOBD is what was adapted to the N900 in this case, (and more successfully than any previous BT OBD package). It is diagnostic-oriented, not dashboard/driving oriented & works well. If Carman had already been ported successfully to the N900, pyOBD would still be a great application because its objective is different.

Just to show that tastes can differ even as far as the packaging of a particular application, I think that Carman becomes less effective by its slant toward heavily stylized graphics - its information would be better conveyed with larger, simpler windowed digital readouts which would make not only for faster perception, but allow more outputs to be displayed simultaneously. At the size of the N900 screen, two pseudo-analog gauges eat up a lot of real estate costing reduced readability that could have been more effectively used with even four or six simplified digital readouts.

There is already a Carman thread, if you would like to attempt to resurrect interest in Carman. But pyOBD is dstinct & not inferior to Carman's objective - which is still unachieved on the N900, also.

Another opinion without knowing what carman for OS2006 is.
I repeat more clearly. the oldest version of carman, yes it had graphics AND it could read hundreds of sensors in comparison to pyOBD which reads only a few of them.
What I am trying to do here is to help the author of pyOBD get some more information in order to improve pyOBD if he can look into the source code of the OLD carman. :rolleyes:

Estel 2012-01-21 21:45

Re: [Announce] pyOBD for Maemo/n900
 
Looking at source code of other Open (that version of Carman was open) is always good idea.

On the other hand, I don't quite believe those "100 sensors". It sounds just like different interpretations of same code.

Of course I may be wrong.

/Estel

m750 2012-01-23 18:55

Re: [Announce] pyOBD for Maemo/n900
 
Quote:

Originally Posted by Estel (Post 1153789)
Looking at source code of other Open (that version of Carman was open) is always good idea.

Not as easy as it seems

Estel 2012-01-23 20:12

Re: [Announce] pyOBD for Maemo/n900
 
More details, please? Are the recognized codes obfuscated somehow?

m750 2012-01-23 20:59

Re: [Announce] pyOBD for Maemo/n900
 
It is not so easy looking at source code of other programs and i have only adapted pyOBD to work whit n900. Changing source code much more complex.

Estel 2012-01-23 22:05

Re: [Announce] pyOBD for Maemo/n900
 
Of course I understand, and I'm not demanding anything. Yet, keep in mind, that I've meant only checking supported codes, not reverse-engineering Carman functions (i like pyOBD more).

/Estel


All times are GMT. The time now is 06:38.

vBulletin® Version 3.8.8