[Ovmsdev] module GPRS connection frequency
mark at webb-johnson.net
Tue Oct 28 09:59:31 HKT 2014
The GPRS connection is different from the server connection.
Think of GPRS like a VPN. The OVMS firmware tries to keep GPRS open at all times. If a GPRS connection fails to be established, it backs-off for 15 seconds and tries again, then 30 seconds, then 45 seconds, etc, etc, up to 150 seconds. Normally, cellular providers charge for data transferred within the GPRS session, and often they round it up to the nearest 1KB, 100KB or 1MB. If you establish a GPRS session, then it is lost, you get charged the minimum.
What pisses me off is that in 99.999% of the cases, the cause of the loss of GPRS session is the cellular provider's crappy cellular network. OVMS only purposely disconnects a GPRS session when (a) the GPRS parameters are changed, or (b) the box is turned off. All the other disconnections are because of the cellular provider's network.
Once a GPRS connection is established, OVMS will try to establish a TCP/IP connection over GPRS, to the server. Once that is established, OVMS will attempt to keep the server updated with the vehicle status (once every ten minutes while idle, once every minute while an App is connected). Checksums are used to only send changed data (which further reduces data charges).
This constant connection is necessary so that the OVMS module is always-on ready for an App to connect to it. Again, due to the cellular provider's arrangements of using private IP address spaces and NAT, the OVMS module cannot normally be contacted by the server. Instead, the module has to establish and maintain a TCP/IP connection to the server, and the server talk back to the module over that connection.
On 28 Oct, 2014, at 5:17 am, Lee Howard <lee.howard at mainpine.com> wrote:
> For those of you using unlimited data plans this may not matter, but for those of us using per-use/per-minute/per-MB plans the frequency at which the OVMS module connects via GPRS to the OVMS server is quite relevant for the long-term cost of using OVMS.
> For example, I'm using AT&T "GoPhone" per-minute plans which basically result in a $0.01 charge every time the OVMS module connects via GPRS to the OVMS server. The OVMS module does this a bit more-frequently than I had anticipated... about 3X more frequently. Consequently, I was a bit surprised to find what I had hoped to be a $100-per-year account get used faster than that... requiring me to add $100 to the account every four months or so. So the per-minute/per-use/per-MB plan I'm on ends up not really being less-expensive than their $25 per-month plan.
> I see that the OVMS module is connecting with the OVMS server roughly every 7 minutes... even if the car is stationary and there have been no changes to SOC or other vehicle information. I see this behaviour both with module type "VA" and "XX".
> I would prefer to see the OVMS module connect with the server with *greater* regularity (like, every 2 minutes) when GPS position is changing (more than the expected 60-meter or so "jitter" that I usually see) or when SOC is changing or some other information changes. However, if the vehicle is stationary and there are no SOC changes or other information changes, then I would prefer to see the OVMS module connect to the OVMS server very infrequently... like only every 30-90 minutes.
> Is this, by chance, something configurable? Or is this something that I'm going to need to build-into the firmware, myself?
> *Lee Howard*
> *Mainpine, Inc. Chief Technology Officer*
> Tel: +1 866 363 6680 | Fax: +1 360 462 8160
> lee.howard at mainpine.com | www.mainpine.com
> OvmsDev mailing list
> OvmsDev at lists.teslaclub.hk
More information about the OvmsDev