[Ovmsdev] server documentation discrepancies
lee.howard at mainpine.com
Thu Jul 3 02:00:57 HKT 2014
On 07/01/2014 10:19 PM, Mark Webb-Johnson wrote:
> I've updated the README to be more up-to-date. The UDP comments (and protocol description) were several years out of date.
> Documentation on the server is, as you say, very limited.
The docs/HOWTO.server.txt file is adequate. The README file was just
outdated, and even though I had read HOWTO.server.txt previously I had
forgotten the specifics. The README pointer to the docs directory is good.
> The protocol document (in 'docs' directory) is up-to-date and describes the protocol well. I know of a few people who have worked off that (and the app/script examples) to build their own clients.
Thanks. My primary interest is in seeing OCM updates implemented.
However, it sounds like you're doing that already. Correct me if I'm
wrong. After that, I'm interested in improving feature support for the
Volt/Ampera. I may be interested in making some enhancements to the
Android/iOS apps. At the moment I'm not trying to build my own client.
I suspect that I will need to learn the protocol, anyway.
> The perl scripts other than ovms_server.pl are really just one-offs used for development and testing - you do not need them at all.
Thanks. I quickly figured out what they did when I ran them and watched
what happened on the server.
> If you want to deploy an OVMS server, you will need the ovms_server.pl script, the ovms_server.conf configuration file suitably configured, the ovms_server.sql database tables in a mysql database, and optionally the *.vece files (to convert error code to messages for different vehicle types). It is simplest to run the server either on a mac or linux box (Windows might be possible, but would most likely be a nightmare). There are a large number of perl requirements (see the 'use' statements at the top of ovms_server.pl) - these can be installed as packages or directly via cpan. If anything is missing, when you run ovms_server.pl, perl will complain and abort until you get it right.
I got that worked out, thanks. I'm on Linux (Fedora).
> From a database point of view, you just need to insert a record into ovms_cars for each vehicle. The record references an owner, which is in the ovms_owners table. The important, and non-obvious, fields have a comment in the SQL schema provided. The other tables are populated by the ovms_server.pl code, based on vehicle/app interactions, so you can ignore them.
Thanks. The HOWTO.server.txt does a fair job of explaining that, and I
appreciate your comments. I was also able to figure that out by reading
through the perl code.
*Mainpine, Inc. Chief Technology Officer*
Tel: +1 866 363 6680 | Fax: +1 360 462 8160
lee.howard at mainpine.com | www.mainpine.com
More information about the OvmsDev