Restricting cellular data


#1

Hi everyone,

I would like to use the hologram nova on a rasperry pi 3. Specifically I have a tkinter gui running a python script to send an email a few times per day (no attachments, just text), as well as SMS messages.

I am concerned that either A: the raspberry pi will be using the network somehow in the background and use lots of data. Or B: I will send too many text messages and end up having a large bill.

Can anyone point me in the right direction for how to prevent these situations?

For example, is it possible to do something like (with proper syntax of course):
start nova modem
send email
send text
once both successful, disconnect nova modem

Thanks!


#2

I agree it can be a big worry. I have spent hours searching for answers.

One area that you might need to look at is cron.daily The RaspberryPi, at least my Jessie install does not have entries in the other /etc/cron.xyz

If you think you will have the Pi online at the time the cron.daily happens around 6AM then I would suggest re-naming that folder something like old_cron.daily well at least that is what I am going to do.

Data charges … even getting connected to your cellular provider seems to cost somewhere between 10K and 100K each time, that is what I see using directIP or PPP and sending a txt msg to Gmail. Haven’t got a Nova so can’t help with that.

Good luck!


#3

Is there anything particular about the email that the device is sending? It sounds like you only need messaging which actually does not require a PPP connection with our python sdk. If you send a message it encodes the message and sends it via AT commands so the PI will not see the connection as a data connection and you won’t use excess data.

You can send a message with a topic to the dashboard and use routing to create and send emails so the device itself doesn’t have to do it itself. Look here for more info: https://hologram.io/docs/guide/cloud/data-router/

As for the SMS issue. I know that it has come up before and we are working on a way of limiting the number of SMS’s so that our customers don’t accidentally rack up a lot of charges that way. Its in the pipeline and we are hoping to have that available soon.


#4

Alright, thanks for the info!


#5

I’m also having a data usage problem. My data period just started yet I hit the 1MB limit. I counted 85 short (20 byte) messages (750+ bytes as JSON) over the two days since the start of the period that should total less than 80KB of data but the usage exceeded 1MB. Luckily I had the limit in place to stop the activity. I’m using the python sdk to send these short messages to the dashboard which then get routed to emails as you have suggested. I’m using a NOVA on a RPi. What should I do differently? Thanks


#6

jimcam,

How are you sending the data? I too have been struggling with this, but trying the Python example in this tutorial example seems to have reduced my data usage for a similar 10 byte text message down to 1-2K.

Also make sure that the RaspberryPi is not doing updates or downloading anything while on-line.


#7

That example is actually out of date as you no longer have to tell the device to connect just to send messages.


Note that where there is the empty dict you will need to give a device key if you are using the CSRPSK authentication method.

inspect

Also, if you go on the dashboard and select the device, where you see usage data this period click inspect. That will show you information about each session your device had and the amount of data used during that session.

data record

See here for more info as well: https://hologram.io/docs/guide/account/billing/


#8

davef,

I am using the Hologram Python SDK command line interface (CLI)

hologram send “message text”


#9

jimcam,

When I was using

hologram send “message text”

from the command line I am quite sure I was getting larger variation in data usage.

Using the example I linked to seems to have reduced the variation and the size significantly.

However, I wonder if you lose out on security and/or QoS, ie message delivery reliability. Looking at the example one can always re-send if you don’t get a ‘Message sent successfully’.

I will look at /var/logs/syslog | grep chat to see just how that example sends the message. Also, this .pdf might be useful:

https://www.sparkfun.com/datasheets/Cellular%20Modules/AT_Commands_Reference_Guide_r0.pdf

especially page 134 on wards. Link doesn’t seem to work.


#10

davef,
Thanks, I will give it a try for data usage reduction. Improving QoS is a bonus.


#11

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.