<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">You might try 50.23.124.68 instead of
      "things.ubidots.com" and see what difference it makes.<br>
      -Pete<br>
      On 11/24/2014 1:51 PM, Charles McClelland wrote:<br>
    </div>
    <blockquote
      cite="mid:FD6C3AF7-C248-4DE0-AFFF-EBE6ADEF96C0@mcclellands.org"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      Shane and Bill, 
      <div class=""><br class="">
      </div>
      <div class="">Bill, Thanks for your notes - would love to have a
        discussion on this topic.  I am using the DNS names as you will
        see in the example below.</div>
      <div class=""><br class="">
      </div>
      <div class="">Shane, </div>
      <div class=""><br class="">
      </div>
      <div class="">Yes, I think you could reduce the overhead by
        sending multiple data points.  Using Ubidots as the example -
        but most services use a similar structure.  One way to see what
        this looks like is to example the commands using CURL - the
        Arduino sketch will simply break this up into bite sized pieces.
         Happy to share the sketch but the CURL command does a better
        job illustrating the point.</div>
      <div class=""><br class="">
      </div>
      <div class="">For a single data point (<a moz-do-not-send="true"
          href="http://ubidots.com/docs/get_started/quickstart/tutorial.html"
          class="">documentation</a>) - the command and response looks
        like this:</div>
      <div class="">
        <pre style="overflow-x: auto; overflow-y: hidden; padding: 9.5px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 13px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; margin-top: 0px; margin-bottom: 10px; line-height: 20px; word-break: break-all; word-wrap: break-word; white-space: pre-wrap; background-color: rgb(245, 245, 245); border: 1px solid rgba(0, 0, 0, 0.14902);" class=""># Request.
$ curl -XPOST -H 'Content-Type: application/json;' -H 'X-Auth-Token: XEcxqx3GTAWGTr4UJiWKk2RiiWEl04kZMSspFeW2BDBgdIe4Dj9CqCXvKLEA' -d '{"value": 23}' <a moz-do-not-send="true" href="http://things.ubidots.com/api/v1.6/variables/5423a49e76254239d3c55718/values" class="">http://things.ubidots.com/api/v1.6/variables/5423a49e76254239d3c55718/values</a>

# Response.
{
    "url": "<a moz-do-not-send="true" href="http:///things.ubidots.com/api/v1.6/values/5423a49e76254239d3c55718" class="">http:///things.ubidots.com/api/v1.6/values/5423a49e76254239d3c55718</a>",
    "value": 23.0,
    "timestamp": 1369847742302,
    "created_at": "2013-08-29T17:15:42.302"
}</pre>
        <div class=""><br class="">
        </div>
      </div>
      <div class="">For multiple data points (<a moz-do-not-send="true"
href="http://ubidots.com/docs/get_started/quickstart/tutorial-collections.html"
          class="">documentation</a>) - it would look like this:</div>
      <div class="">
        <pre style="overflow-x: auto; overflow-y: hidden; padding: 9.5px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 13px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; margin-top: 0px; margin-bottom: 10px; line-height: 20px; word-break: break-all; word-wrap: break-word; white-space: pre-wrap; background-color: rgb(245, 245, 245); border: 1px solid rgba(0, 0, 0, 0.14902);" class=""># Request.
$ curl -XPOST -H 'Content-Type: application/json;' -H 'X-Auth-Token: f6j9QGZqzsobNHZMFZ8UNWpPXOadv8LCtu3UuZyS32KbUwJyA2RRBhEsJpci' -d '[{"variable": "52656099f91b2878f1d81f1e", "value": 23}, {"variable": "5265608ef91b2878f05d75ba", "value": 22}]' <a moz-do-not-send="true" href="http://things.ubidots.com/api/v1.6/collections/values" class="">http://things.ubidots.com/api/v1.6/collections/values</a>

# Response.
[{"status_code": 201}, {"status_code": 201}]</pre>
        <div class=""><br class="">
        </div>
      </div>
      <div class="">Seems like this will be more efficient if only
        because you will exchange less API keys.</div>
      <div class=""><br class="">
      </div>
      <div class="">Other thoughts?</div>
      <div class=""><br class="">
      </div>
      <div class="">Chip</div>
      <div class=""><br class="">
      </div>
      <div class=""><br class="">
        <div>
          <blockquote type="cite" class="">
            <div class="">On Nov 24, 2014, at 1:00 PM, <a
                moz-do-not-send="true"
                href="mailto:triembed-request@triembed.org" class="">triembed-request@triembed.org</a>
              wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">Send TriEmbed mailing list submissions to<br
                class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span><a
                moz-do-not-send="true"
                href="mailto:triembed@triembed.org" class="">triembed@triembed.org</a><br
                class="">
              <br class="">
              To subscribe or unsubscribe via the World Wide Web, visit<br
                class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span><a class="moz-txt-link-freetext" href="http://mail.triembed.org/mailman/listinfo/triembed_triembed.org">http://mail.triembed.org/mailman/listinfo/triembed_triembed.org</a><br
                class="">
              or, via email, send a message with subject or body 'help'
              to<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span><a class="moz-txt-link-abbreviated" href="mailto:triembed-request@triembed.org">triembed-request@triembed.org</a><br
                class="">
              <br class="">
              You can reach the person managing the list at<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span><a class="moz-txt-link-abbreviated" href="mailto:triembed-owner@triembed.org">triembed-owner@triembed.org</a><br
                class="">
              <br class="">
              When replying, please edit your Subject line so it is more
              specific<br class="">
              than "Re: Contents of TriEmbed digest..."<br class="">
              <br class="">
              <br class="">
              Today's Topics:<br class="">
              <br class="">
                1. Re: Did anyone discuss M2M data plans? (Charles
              McClelland)<br class="">
                2. Re: Did anyone discuss M2M data plans? (Shane Trent)<br
                class="">
                3. Re: Did anyone discuss M2M data plans? (Bill Farrow)<br
                class="">
              <br class="">
              <br class="">
----------------------------------------------------------------------<br
                class="">
              <br class="">
              Message: 1<br class="">
              Date: Sun, 23 Nov 2014 23:47:16 -0500<br class="">
              From: Charles McClelland <a class="moz-txt-link-rfc2396E" href="mailto:chip@mcclellands.org"><chip@mcclellands.org></a><br
                class="">
              To: <a class="moz-txt-link-abbreviated" href="mailto:triembed@triembed.org">triembed@triembed.org</a><br class="">
              Subject: Re: [TriEmbed] Did anyone discuss M2M data plans?<br
                class="">
              Message-ID:
              <a class="moz-txt-link-rfc2396E" href="mailto:E56F49E4-F936-4277-A0EF-75B5E2A05D15@mcclellands.org"><E56F49E4-F936-4277-A0EF-75B5E2A05D15@mcclellands.org></a><br
                class="">
              Content-Type: text/plain; charset="utf-8"<br class="">
              <br class="">
              Shane, <br class="">
              <br class="">
              I fired up my IOT device and did a test to see how much
              data is used on the GPRS network when a data packet is
              sent.  <br class="">
              <br class="">
              I sent data 51 times and used 215kb of data traffic
              according to my T-Mobile portal.   Here is the payload
              from one of those transmissions:<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span>-
              Traffic count - ?10"<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span>-
              Location - "lat:35.89, lng:-78.81"<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span>-
              Battery - ?4083"<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span>-
              Retries - ?0?<br class="">
              <br class="">
              Seems like a lot of overhead -  ~4kb to send about 28
              bytes.  Here is what I can see in looking at the code:<br
                class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span>-
              There is a 64 bit API key<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span>-
              Then a 16 bit identifier for each data stream<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span>-
              There is also limited back and forth exchanging commands
              and result codes<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span>-
              Looking at T-Mobile?s numbers, it may be that they count
              their data in chunks and round up.  Kind of like billing a
              30 second call as 1 minute.<br class="">
              <br class="">
              I hope this helps with your planning.<br class="">
              <br class="">
              Chip<br class="">
              <br class="">
              <br class="">
              <br class="">
              <blockquote type="cite" class="">On Nov 21, 2014, at 8:26
                PM, <a class="moz-txt-link-abbreviated" href="mailto:triembed-request@triembed.org">triembed-request@triembed.org</a> wrote:<br class="">
                <br class="">
                Re: Did anyone discuss M2M data plans?<br class="">
              </blockquote>
              <br class="">
              -------------- next part --------------<br class="">
              An HTML attachment was scrubbed...<br class="">
              URL:
<a class="moz-txt-link-rfc2396E" href="http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20141123/4e6b8763/attachment-0001.html"><http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20141123/4e6b8763/attachment-0001.html></a><br
                class="">
              <br class="">
              ------------------------------<br class="">
              <br class="">
              Message: 2<br class="">
              Date: Mon, 24 Nov 2014 08:25:50 -0500<br class="">
              From: Shane Trent <a class="moz-txt-link-rfc2396E" href="mailto:shanedtrent@gmail.com"><shanedtrent@gmail.com></a><br
                class="">
              Cc: TriEmbed Discussion <a class="moz-txt-link-rfc2396E" href="mailto:triembed@triembed.org"><triembed@triembed.org></a><br
                class="">
              Subject: Re: [TriEmbed] Did anyone discuss M2M data plans?<br
                class="">
              Message-ID:<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span><a class="moz-txt-link-rfc2396E" href="mailto:CAAFjd3qawUOnEVkz+FGw3W=6fLdwmvJe=siRJ-P8Ut=UrujTiA@mail.gmail.com"><CAAFjd3qawUOnEVkz+FGw3W=6fLdwmvJe=siRJ-P8Ut=UrujTiA@mail.gmail.com></a><br
                class="">
              Content-Type: text/plain; charset="utf-8"<br class="">
              <br class="">
              Chip,<br class="">
              <br class="">
              Thanks for the great information. That does seem like a
              lot of overhead. It<br class="">
              sounds like collecting the data and sending up a group of
              data points at<br class="">
              one time might be required to make the most of a modest
              data plan. Any idea<br class="">
              how much data it would take to send the 51 data points at
              one time?<br class="">
              Guessing from the numbers it might be only 6-7k.<br
                class="">
              <br class="">
              Shane<br class="">
              <br class="">
              <br class="">
              <br class="">
              On Sun, Nov 23, 2014 at 11:47 PM, Charles McClelland
              <a class="moz-txt-link-rfc2396E" href="mailto:chip@mcclellands.org"><chip@mcclellands.org></a><br class="">
              wrote:<br class="">
              <br class="">
              <blockquote type="cite" class="">Shane,<br class="">
                <br class="">
                I fired up my IOT device and did a test to see how much
                data is used on<br class="">
                the GPRS network when a data packet is sent.<br class="">
                <br class="">
                I sent data 51 times and used 215kb of data traffic
                according to my<br class="">
                T-Mobile portal.   Here is the payload from one of those
                transmissions:<br class="">
                - Traffic count - ?10"<br class="">
                - Location - "lat:35.89, lng:-78.81"<br class="">
                - Battery - ?4083"<br class="">
                - Retries - ?0?<br class="">
                <br class="">
                Seems like a lot of overhead -  ~4kb to send about 28
                bytes.  Here is<br class="">
                what I can see in looking at the code:<br class="">
                - There is a 64 bit API key<br class="">
                - Then a 16 bit identifier for each data stream<br
                  class="">
                - There is also limited back and forth exchanging
                commands and result codes<br class="">
                - Looking at T-Mobile?s numbers, it may be that they
                count their data in<br class="">
                chunks and round up.  Kind of like billing a 30 second
                call as 1 minute.<br class="">
                <br class="">
                I hope this helps with your planning.<br class="">
                <br class="">
                Chip<br class="">
                <br class="">
                <br class="">
                <br class="">
                On Nov 21, 2014, at 8:26 PM,
                <a class="moz-txt-link-abbreviated" href="mailto:triembed-request@triembed.org">triembed-request@triembed.org</a> wrote:<br class="">
                <br class="">
                Re: Did anyone discuss M2M data plans?<br class="">
                <br class="">
                <br class="">
                <br class="">
                _______________________________________________<br
                  class="">
                Triangle, NC Embedded Computing mailing list<br class="">
                <a class="moz-txt-link-abbreviated" href="mailto:TriEmbed@triembed.org">TriEmbed@triembed.org</a><br class="">
<a class="moz-txt-link-freetext" href="http://mail.triembed.org/mailman/listinfo/triembed_triembed.org">http://mail.triembed.org/mailman/listinfo/triembed_triembed.org</a><br
                  class="">
                TriEmbed web site: <a class="moz-txt-link-freetext" href="http://TriEmbed.org">http://TriEmbed.org</a><br class="">
                <br class="">
                <br class="">
              </blockquote>
              -------------- next part --------------<br class="">
              An HTML attachment was scrubbed...<br class="">
              URL:
<a class="moz-txt-link-rfc2396E" href="http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20141124/62ef06de/attachment-0001.html"><http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20141124/62ef06de/attachment-0001.html></a><br
                class="">
              <br class="">
              ------------------------------<br class="">
              <br class="">
              Message: 3<br class="">
              Date: Mon, 24 Nov 2014 09:19:49 -0500<br class="">
              From: Bill Farrow <a class="moz-txt-link-rfc2396E" href="mailto:bill@arrowsreach.com"><bill@arrowsreach.com></a><br class="">
              To: Charles McClelland <a class="moz-txt-link-rfc2396E" href="mailto:chip@mcclellands.org"><chip@mcclellands.org></a><br
                class="">
              Cc: TriEmbed Discussion <a class="moz-txt-link-rfc2396E" href="mailto:triembed@triembed.org"><triembed@triembed.org></a><br
                class="">
              Subject: Re: [TriEmbed] Did anyone discuss M2M data plans?<br
                class="">
              Message-ID:<br class="">
              <span class="Apple-tab-span" style="white-space:pre"> </span><a class="moz-txt-link-rfc2396E" href="mailto:CAPm8Nr0CcapohaA+qc_yOcz+8nxVHcrygGjz9VxTVTFrHPor0w@mail.gmail.com"><CAPm8Nr0CcapohaA+qc_yOcz+8nxVHcrygGjz9VxTVTFrHPor0w@mail.gmail.com></a><br
                class="">
              Content-Type: text/plain; charset=UTF-8<br class="">
              <br class="">
              On Sun, Nov 23, 2014 at 11:47 PM, Charles McClelland<br
                class="">
              <a class="moz-txt-link-rfc2396E" href="mailto:chip@mcclellands.org"><chip@mcclellands.org></a> wrote:<br class="">
              <blockquote type="cite" class="">Seems like a lot of
                overhead -  ~4kb to send about 28 bytes.  Here is what I<br
                  class="">
              </blockquote>
              <br class="">
              Is your device doing a DNS lookup as well ? Are you
              sending this<br class="">
              directly to an IP address ?<br class="">
              <br class="">
              A single datagram on the physical layer requires a header,
              ie ethernet header.<br class="">
              A single IP Packet has a 20 byte header.<br class="">
              A single TCP/IP packet has a 20 byte IP header plus a 20+
              byte TCP header.<br class="">
              <br class="">
              TCP is a connection based protocol, so to establish a
              connection and<br class="">
              send a small number of bytes and then close the connection
              would<br class="">
              require several packets in both directions.<br class="">
              <br class="">
              Example:<br class="">
              ========<br class="">
              Using Wireshark and netcat, I got the following data for
              single 1 byte<br class="">
              TCP transfer:<br class="">
               SYN  Device --> Host = 74 bytes<br class="">
               SYN-ACK  Host --> Device = 74 bytes<br class="">
               ACK Device --> Host = 66 bytes<br class="">
               PSH-ACK Device-->Host = 67 bytes<br class="">
               ACK Host-->Device = 66 bytes<br class="">
              <br class="">
              The Ethernet header is 14 bytes, IP is 20 bytes, TCP in my
              case is 32<br class="">
              bytes. Therefore the minimum packet size is 66 bytes. The
              above TCP<br class="">
              transaction to send 1 byte of data took 347 bytes.<br
                class="">
              <br class="">
              The smallest IPv6 header is 40 bytes, and there are
              various extensions<br class="">
              to the header to add routing and security, which would
              make it even<br class="">
              larger.<br class="">
              <br class="">
              M2M:<br class="">
              ========<br class="">
              The Machine to Machine protocol is then going to add more
              overhead to<br class="">
              the data transfer, plus SSL or TLS encryption headers,
              which also need<br class="">
              an accurate UTC time, typically fetched via NTP (Chip
              could probably<br class="">
              use the GPS time).<br class="">
              <br class="">
              <br class="">
              This would make a great mini talk !<br class="">
              <br class="">
              Bill<br class="">
              <br class="">
              <br class="">
              <br class="">
              ------------------------------<br class="">
              <br class="">
              Subject: Digest Footer<br class="">
              <br class="">
              _______________________________________________<br
                class="">
              TriEmbed mailing list<br class="">
              <a class="moz-txt-link-abbreviated" href="mailto:TriEmbed@triembed.org">TriEmbed@triembed.org</a><br class="">
<a class="moz-txt-link-freetext" href="http://mail.triembed.org/mailman/listinfo/triembed_triembed.org">http://mail.triembed.org/mailman/listinfo/triembed_triembed.org</a><br
                class="">
              <br class="">
              <br class="">
              ------------------------------<br class="">
              <br class="">
              End of TriEmbed Digest, Vol 18, Issue 20<br class="">
              ****************************************<br class="">
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Triangle, NC Embedded Computing mailing list
<a class="moz-txt-link-abbreviated" href="mailto:TriEmbed@triembed.org">TriEmbed@triembed.org</a>
<a class="moz-txt-link-freetext" href="http://mail.triembed.org/mailman/listinfo/triembed_triembed.org">http://mail.triembed.org/mailman/listinfo/triembed_triembed.org</a>
TriEmbed web site: <a class="moz-txt-link-freetext" href="http://TriEmbed.org">http://TriEmbed.org</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>