<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to news</title><link>https://sourceforge.net/p/pobd-logger/news/</link><description>Recent posts to news</description><atom:link href="https://sourceforge.net/p/pobd-logger/news/feed.rss" rel="self"/><language>en</language><lastBuildDate>Fri, 19 Feb 2016 19:32:37 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/pobd-logger/news/feed.rss" rel="self" type="application/rss+xml"/><item><title>Running Perl OBD-II Logger on the new Raspberry Pi 2 Model B in "headless" mode</title><link>https://sourceforge.net/p/pobd-logger/news/2016/02/running-perl-obd-ii-logger-on-the-new-raspberry-pi-2-model-b-in-headless-mode/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Let me get right to the point of this post; If you are constructing a Raspberry Pi assembly for the purpose of running Perl OBD-II Logger in "headless" mode that is based on the new Raspberry Pi 2 Model B, I &lt;em&gt;strongly&lt;/em&gt; recommend that you install the Raspian Wheezy image, which is dated 2015-05-05 at the time of this writing. Raspian Wheezy works just fine on the newest RPi 2 Model B. I have been running it on mine without &lt;em&gt;any problems&lt;/em&gt; for a few weeks now, and Wheezy still gets all the regular security related updates. (Raspian Wheezy will fit on 4 GB or larger SD cards).&lt;/p&gt;
&lt;p&gt;The installation of Perl OBD-II Logger in "headless" mode under the newer Raspian Jessie is a bit different. Although the differences are nothing real major, they are tedious at best, (and quite likely very frustrating for users who are new to Linux). I have less free time to devote to the project at the moment, and I would prefer to spend it on something more positive, rather than "treading water" by updating the Raspberry Pi specific notes for Jessie. If you install Raspian Wheezy, the notes that are provided in the most recent release of Perl OBD-II Logger (see the file RPI_NOTES.pdf) are accurate and up to date.&lt;/p&gt;
&lt;p&gt;Given the rapidly changing nature of the Raspberry Pi world, I have come to realize that placing RPi related information in a single document that is part of the distribution has some drawbacks. As time permits, I plan to migrate some of the more dynamic aspects of the Raspberry Pi notes to the project user forums as "HOWTOs". Then I can more easily update them without pushing out a completely new release of the software. Now for a few words on how I have been spending my time and where the project is headed in the near future.&lt;/p&gt;
&lt;p&gt;I have been running Perl OBD-II Logger in "headless" mode on a Raspberry Pi for well over two years now. My older Raspberry Pi 1 model B has served me well, and there were no compelling reasons to upgrade to the newer models &lt;em&gt;until recently&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The Raspberry Pi 2 model B, (released about this time in 2015), features a quad core Broadcom BCM2836 CPU that is &lt;em&gt;much more&lt;/em&gt; powerful than the older models.  My first RPi assembly for Perl OBD-II Logger also had a few short-comings that I came to recognize over time. I have been spending my available free time for this project re-imagining and assembling a new one based on the Raspberry Pi 2 Model B.&lt;/p&gt;
&lt;p&gt;The major short-coming of my first RPi was that it didn't have a battery backed real-time clock (RTC). To keep costs down, the basic RPi does &lt;em&gt;not&lt;/em&gt; come with one.  If you boot it up without a network connection, it doesn't know the correct time.  This makes it tricky to keep track of the OBD-II log file(s) associated with a given trip.  This can be mitigated somewhat by the fake-hwclock package, but it's far from perfect.&lt;/p&gt;
&lt;p&gt;My re-imagined unit uses a 3-rd party DS3231 based RTC module that plugs onto the GPIO header, and communicates over the I2C bus. While a bit of a pain to setup, it has proven well worth the effort. (I will post a "HOWTO" to the user forum on this topic when I get a chance).&lt;/p&gt;
&lt;p&gt;I also wanted my new unit to be more rugged and compact than my first attempt. The selection of the case for my first unit was driven by the need for extra space for an aftermarket power switch (more on that in a moment). I selected the iGuerburn Transparent Case, which is &lt;a class="" href="https://www.amazon.com/gp/product/B00YBS1010" rel="nofollow"&gt;available on Amazon&lt;/a&gt;. No doubt there are &lt;em&gt;many&lt;/em&gt; other perfectly suitable cases, but there are a few "gotchas" to be aware of before you buy. If it's &lt;em&gt;not&lt;/em&gt; a transparent case, be certain it has "light pipes" so that the LEDs are visible to the user. Also, If you are planning on installing a battery backed RTC clock, make sure there is enough room for it, as they rise up a little bit above the GPIO header pins. Most of the cases appear to have enough room, but &lt;em&gt;some do not&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;One of the other problems associated with running Perl OBD-II logger in "headless" mode on a "stock" RPi, is that there is no way to signal it to shutdown in a clean fashion. Just removing power works, but is not ideal as the file system can get corrupted, and repair can be challenging for users who are new to Linux. I also wanted to keep total costs and complexity at a minimum with my new unit. I haven't made it happen just yet, but it appears that others have formulated a solution to this using a simple momentary contact switch connected to GPIO pins, and some code that starts at boot time. The code installs an interrupt handler, and when triggered will perform a clean shutdown of the OS which leaves the file system in a consistent state. This is my current priority at the moment.&lt;/p&gt;
&lt;p&gt;As always, please feel free to post to the user forums if you have questions.&lt;/p&gt;
&lt;p&gt;Johnny&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johnny</dc:creator><pubDate>Fri, 19 Feb 2016 19:32:37 -0000</pubDate><guid>https://sourceforge.net04dda07d9fd10f05f83459ce0d2f2319b9471dd7</guid></item><item><title>Release 0.03 of Perl OBD-II Logger is now available for download</title><link>https://sourceforge.net/p/pobd-logger/news/2015/12/release-003-of-perl-obd-ii-logger-is-now-available-for-download/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Release 0.03 of Perl OBD-II Logger is now available for download.&lt;/p&gt;
&lt;p&gt;Here is a brief summary of the major changes in this release, see the file "Changes" in the software distribution for a more detailed list;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;When running &lt;strong&gt;pobd_logger&lt;/strong&gt; on the Raspberry Pi (using the provided SYSV init scripts), the fake hwclock data was &lt;em&gt;not&lt;/em&gt; getting updated if the system was shutdown by simply removing power.  On the next boot, the clock started at the &lt;em&gt;exact same&lt;/em&gt; time as the previous boot, and the PID log files could easily get corrupted (as the log filename, derived from the date/time,  usually was the same). To address this problem, I added some code to the &lt;strong&gt;run_pobd_logger&lt;/strong&gt; script to periodically update the fake hwclock data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;fuel_economy&lt;/strong&gt; application has been removed from this release, and the capabilities it provided were merged into the &lt;strong&gt;pobd_converter&lt;/strong&gt; application (see the '-f economy' command line option).  The underlying algorithm for estimating fuel economy was improved, and the data written to the output file was slightly modified. If data for PID 0x44 (fuel/air commanded equivalence ratio, or lambda) was collected, it is used to provide more accurate estimates of the fuel consumed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The most significant change in this release is that the &lt;strong&gt;pobd_converter&lt;/strong&gt; application now provides most of the capability I had envisioned for it (in previous releases, it was a do nothing placeholder).  It can be used to convert the log files written by &lt;strong&gt;pobd_logger&lt;/strong&gt; into formats compatible with popular data analysis and plotting programs. It also provides some rudimentary, built-in data analysis capabilities. An example of the "statistics" output format is shown here;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;Sampling statistics for collected PIDs

                      Sample    Sample
         Number of    Period     Rate 
  PID     Samples      (sec)     (Hz) 
 ====  ===========  ========  ========
 0x04         2482    2.0029    0.4993
 0x05          249   20.0056    0.0500
 0x0b         4963    1.0014    0.9986
 0x0c         4963    1.0015    0.9985
 0x0d        19844    0.2504    3.9932
 0x0e         9923    0.5008    1.9968
 0x0f          249   20.0053    0.0500
 0x10        19842    0.2504    3.9932
 0x11         4961    1.0015    0.9985
 0x33           42  120.0045    0.0083
 0x3c          332   15.0062    0.0666
 0x43         4961    1.0015    0.9985
 0x44         9920    0.5008    1.9968
 0x45         4961    1.0014    0.9986
 0x46          166   30.0082    0.0333
 0x49         2481    2.0027    0.4993

Logging start time .............. Wed 25 Nov 2015 09:52:57.78 PST
Logging stop time ............... Wed 25 Nov 2015 11:15:47.90 PST
Elapsed logging time ............ 4970.12 (sec) [ 1 hrs 22 min 50.12 sec ]

Total distance traveled .........   129.84 (km)
Average vehicle speed ...........    94.07 (km/hour)
Maximum vehicle speed ...........   131.00 (km/hour)

Vehicle speed histogram (km/hour)
At rest .........................    63.05 (sec) [ 0 hrs 01 min 03.05 sec ]
(  0,   5] ......................    27.28 (sec) [ 0 hrs 00 min 27.28 sec ]
(  5,  10] ......................    18.50 (sec) [ 0 hrs 00 min 18.50 sec ]
( 10,  15] ......................    16.53 (sec) [ 0 hrs 00 min 16.53 sec ]
( 15,  20] ......................    28.29 (sec) [ 0 hrs 00 min 28.29 sec ]
( 20,  25] ......................    44.81 (sec) [ 0 hrs 00 min 44.81 sec ]
( 25,  30] ......................    55.60 (sec) [ 0 hrs 00 min 55.60 sec ]
( 30,  35] ......................    67.69 (sec) [ 0 hrs 01 min 07.69 sec ]
( 35,  40] ......................    90.10 (sec) [ 0 hrs 01 min 30.10 sec ]
( 40,  45] ......................   121.74 (sec) [ 0 hrs 02 min 01.74 sec ]
( 45,  50] ......................   114.86 (sec) [ 0 hrs 01 min 54.86 sec ]
( 50,  60] ......................   183.42 (sec) [ 0 hrs 03 min 03.42 sec ]
( 60,  70] ......................   202.96 (sec) [ 0 hrs 03 min 22.96 sec ]
( 70,  80] ......................   164.73 (sec) [ 0 hrs 02 min 44.73 sec ]
( 80,  90] ......................   259.21 (sec) [ 0 hrs 04 min 19.21 sec ]
( 90, 100] ......................   480.50 (sec) [ 0 hrs 08 min 00.50 sec ]
(100, 110] ......................   972.82 (sec) [ 0 hrs 16 min 12.82 sec ]
(110, 120] ......................  1596.60 (sec) [ 0 hrs 26 min 36.60 sec ]
(120, 130] ......................   455.96 (sec) [ 0 hrs 07 min 35.96 sec ]
(130, 140] ......................     4.51 (sec) [ 0 hrs 00 min 04.51 sec ]
(140, 150] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(150, 160] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(160, 170] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(170, 180] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(180, 190] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(190, 200] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(200, 220] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(220, 240] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(240, 260] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(260, 280] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(280, 300] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]
(300, 320] ......................     0.00 (sec) [ 0 hrs 00 min 00.00 sec ]

Minimum ambient air temp ........  14.0 (degrees C)  57.2 (degrees F)
Average ambient air temp ........  18.1 (degrees C)  64.5 (degrees F)
Maximum ambient air temp ........  22.0 (degrees C)  71.6 (degrees F)

Minimum intake air temp .........  19.0 (degrees C)  66.2 (degrees F)
Average intake air temp .........  22.4 (degrees C)  72.4 (degrees F)
Maximum intake air temp .........  38.0 (degrees C) 100.4 (degrees F)

Minimum mass air flow rate ......    0.04 (grams/sec)
Average mass air flow rate ......   17.02 (grams/sec)
Maximum mass air flow rate ......   99.91 (grams/sec)
Total mass of air ingested ......   84.54 (kilograms)

Minimum intake MAP ..............  21.0 (kiloPascals) 0.207 (atmospheres)
Average intake MAP ..............  57.2 (kiloPascals) 0.565 (atmospheres)
Maximum intake MAP .............. 101.0 (kiloPascals) 0.997 (atmospheres)

Minimum engine speed ............     0.0 (rev/min)
Average engine speed ............  2199.9 (rev/min)
Maximum engine speed ............  5801.0 (rev/min)

Minimum absolute engine load ....   0.0 (percent)
Average absolute engine load ....  36.5 (percent)
Maximum absolute engine load ....  87.3 (percent)

Minimum coolant temperature .....  79.0 (degrees C) 174.2 (degrees F)
Average coolant temperature .....  83.9 (degrees C) 183.0 (degrees F)
Maximum coolant temperature .....  89.0 (degrees C) 192.2 (degrees F)

Minimum catalyst temperature ....  308.9 (degrees C)  588.0 (degrees F)
Average catalyst temperature ....  723.3 (degrees C) 1334.0 (degrees F)
Maximum catalyst temperature ....  908.0 (degrees C) 1666.4 (degrees F)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johnny</dc:creator><pubDate>Fri, 04 Dec 2015 05:38:35 -0000</pubDate><guid>https://sourceforge.netd5a81fbb17887f53f5be9ca79cace1778e7f694d</guid></item><item><title>Release 0.02 of Perl OBD-II Logger is now available for download</title><link>https://sourceforge.net/p/pobd-logger/news/2015/07/release-002-of-perl-obd-ii-logger-is-now-available-for-download/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Release 0.02 of Perl OBD-II Logger is now available for download.&lt;/p&gt;
&lt;p&gt;This release corrects a mistake in the pobd_logger logic for the handling of low level I/O. The problem did not seem to be an issue with USB scantools, but for bluetooth scantools, it sometimes caused pobd_logger to crash when it really should not have. &lt;/p&gt;
&lt;p&gt;Collecting OBD-II Mode 0x01 PID data is not very interesting in itself, it's what you can learn from the data that makes the endeavor worth the effort. This release takes a small step in that direction and includes a new Perl program named fuel_economy for post-processing log files written by pobd_logger. It extracts the data for PIDs 0x0d, 0x10 (vehicle speed and mass air flow rate respectively), and outputs estimates of the instantaneous and average fuel economy statistics in formats that can be plotted with a spreadsheet or dedicated plotting programs such as Gnuplot.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johnny</dc:creator><pubDate>Thu, 09 Jul 2015 07:09:51 -0000</pubDate><guid>https://sourceforge.netf3ff56d44827e0ee99b713394368aedab49132c9</guid></item><item><title>Release 0.01 of Perl OBD-II Logger is available for download</title><link>https://sourceforge.net/p/pobd-logger/news/2014/02/release-001-of-perl-obd-ii-logger-is-available-for-download/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;a class="" href="https://sourceforge.net/projects/pobd-logger/files/Release_0.01/"&gt;Release 0.01 of Perl OBD-II Logger&lt;/a&gt; is now available for download.&lt;/p&gt;
&lt;p&gt;Since this is the first public release of the software, a little background information is in order. Like most open source projects, this one came about because the author had an "itch" and decided that it needed "scratching".&lt;/p&gt;
&lt;p&gt;In late 2010, I did a survey of open source software for logging OBD-II Mode 0x01 PID data, and also evaluated a few commercial offerings. I was more than a little disappointed with what I found.&lt;/p&gt;
&lt;p&gt;All of them would accept a list of PIDs and then log all of them as fast as possible. &lt;em&gt;Say What????&lt;/em&gt; This makes sense for certain PIDs like ignition timing or mass air flow. But for many PIDs, coolant temperature for example, it didn't make any sense to me at all (and still doesn't). Sampling the later every 30 seconds would be just fine in most situations, and would not waste precious bandwidth that could be much better used for PIDs that I really do want to sample as frequently as possible.&lt;/p&gt;
&lt;p&gt;This feature vacuum is what motivated me to write Perl OBD-II Logger.  I decided to use Perl for its established legacy as a "glue" language for rapid prototyping, good portability, and its powerful but relatively easy to use string handling features. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johnny</dc:creator><pubDate>Sun, 02 Feb 2014 20:28:34 -0000</pubDate><guid>https://sourceforge.nete4610979739ab6964e7adcdf1c99df61bf55fdd3</guid></item></channel></rss>