Hello All, I'm finding some apparent discrepancies in the limited documentation (one README file) for the server. If I'm missing something please feel free to clue me in. 1) "The car protocol is built on UDP using encrypted communication packets." I do not see ovms_server.pl opening or listening on a UDP socket. I see it operating on TCP ports 6867 and 6868. 2) "The server also includes a web interface for basic functions such as setting the password, registering the car and checking status." I do not see this web interface anywhere. The documentation is severely lacking in explaining what the various perl scripts do... although in most cases this can be deduced with some examination. The perl scripts, themselves, contain little-to-no internal comments. As I presently don't really need to have the web interface mentioned in #2 I would be happy to configure the user and car accounts manually from a MySQL command-line. However, since the SQL database structure is undocumented, it appears that I'll need to just do my best at guessing how that's done. Thanks, Lee. -- *Lee Howard* *Mainpine, Inc. Chief Technology Officer* Tel: +1 866 363 6680 | Fax: +1 360 462 8160 lee.howard@mainpine.com | www.mainpine.com
Lee, 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 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. 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. 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. 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. Hope the above helps, and if you have any questions please ask. Regards, Mark. On 2 Jul, 2014, at 6:35 am, Lee Howard <lee.howard@mainpine.com> wrote:
Hello All,
I'm finding some apparent discrepancies in the limited documentation (one README file) for the server. If I'm missing something please feel free to clue me in.
1) "The car protocol is built on UDP using encrypted communication packets."
I do not see ovms_server.pl opening or listening on a UDP socket. I see it operating on TCP ports 6867 and 6868.
2) "The server also includes a web interface for basic functions such as setting the password, registering the car and checking status."
I do not see this web interface anywhere.
The documentation is severely lacking in explaining what the various perl scripts do... although in most cases this can be deduced with some examination. The perl scripts, themselves, contain little-to-no internal comments.
As I presently don't really need to have the web interface mentioned in #2 I would be happy to configure the user and car accounts manually from a MySQL command-line. However, since the SQL database structure is undocumented, it appears that I'll need to just do my best at guessing how that's done.
Thanks,
Lee.
-- *Lee Howard* *Mainpine, Inc. Chief Technology Officer* Tel: +1 866 363 6680 | Fax: +1 360 462 8160 lee.howard@mainpine.com | www.mainpine.com _______________________________________________ OvmsDev mailing list OvmsDev@lists.teslaclub.hk http://lists.teslaclub.hk/mailman/listinfo/ovmsdev
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.
Thank you.
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. Lee. -- *Lee Howard* *Mainpine, Inc. Chief Technology Officer* Tel: +1 866 363 6680 | Fax: +1 360 462 8160 lee.howard@mainpine.com | www.mainpine.com
participants (2)
-
Lee Howard -
Mark Webb-Johnson