Howto

3G/LTEを使用する際に通信料金を見積もる方法

このHowtoでは、Armadillo-IoT G3/G3L(以下Armadilloと記載)で3G/LTEを使用する際に通信料金を見積もる方法についてご紹介します。
本Howtoは、SIM契約の「従量課金」を「選択している」または「検討している」お客様向けの内容となっています。

概要

3G/LTE通信を使用するアプリケーションを設計する際、SIMを選定して契約するかと思われます。
SIMを契約する上で、主に以下のようなコストが発生します。

  • 初期費用
  • 基本料金
  • 従量課金 または パケット定額

「初期費用」「基本料金」はSIMごとの契約内容によって決まっています。
上記に加え、「従量課金」または「パケット定額」を選定することになります。
「従量課金」は1MBあたりのデータ通信量ごとに課金額が決まっているため、お客様のアプリケーションを一定時間動作させた通信量から「1月あたりの通信料金」を計算することが可能です。
これにより「従量課金」「パケット定額」どちらのコストが安いかなどの「見積もり」を立てることができます。

今回は以下のような測定箇所別の「1月あたりの通信料金」見積もり方法をご紹介します。

  • 通信事業者提供のwebサービスなどで測定
  • Armadillo側で測定

通信事業者提供のwebサービスなどで測定

IIJやSORACOMなどの電気通信事業者は、通信量や利用料金を確認できるwebサービスを提供しています。
サービスによっては日ごとの通信量を閲覧できるため、そこから「1月当たりの利用料金」を測定することができます。

詳細はご利用SIMの電気通信事業者webを確認してください。

Armadillo側で測定

Armadilloではコマンドで「起動後からの通信量」と「動作時間」を取得することができます。
実際にアプリケーションを動作させ、コマンドで取得した上記データから通信料金を見積もることが可能です。

この方法にて測定した通信料金は、「通信事業者提供のwebサービス」と多少の誤差が発生する可能性があるため「目安」としてご活用ください。

起動後からの通信量

通信量は「/proc/net/dev」にcatコマンドを実行することで取得できます。
以下にコマンド実行結果の例を記載します。

[armadillo ~]# cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
  sit0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  gre0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
 tunl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
ip6gre0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
    lo:   65982     818    0    0    0     0          0         0    65982     818    0    0    0     0       0          0
  ppp0: 21961181   16165    0    0    0     0          0         0   622127   10712    0    0    0     0       0          0
  eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
ip6_vti0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
gretap0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
ip6tnl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

コマンド実行結果から、対象となるインターフェース名の「Receive」と「Transmit」の「bytes」を確認します。
インターフェース名は、各Armadillo製品によって変化します。

使用Armadillo機 インターフェース名
Armadillo-IoT G3 ppp0
Armadillo-IoT G3 M1 ppp0
Armadillo-IoT G3L usb1

起動時間

起動時間はコマンド「uptime」で確認可能です。

[armadillo ~]# uptime
 06:52:10 up  1 days,  6:30,  1 user,  load average: 0.00, 0.00, 0.00

上記結果から、起動時間は「1 days, 6:30」(30時間30分)です。
コマンド結果の詳細は「manページ」を参照してください。

測定

前項目「起動後からの通信量」「起動時間」で取得した値から「1月あたりの通信量」を測定します。
今回は1月を30日として計算します。

Receive
(21961181 / 30.5) * 24 * 30 = 51842786 byte/月
Transmit
(622127 / 30.5) * 24 * 30 = 14686277 byte/月

SIMの契約内容を確認の上、通信料金を見積もります。
例:契約内容「データ通信料 0.2円/MB~」の場合

Receive
(51842786 / 1000000) * 0.2 = 10.3685572 円/月
Transmit
(14686277 / 1000000) * 0.2 = 2.9372554 円/月

通信料金見積もり時の注意点

通信料金を見積もる際、1月あたりの通信料金の他に「ソフトウェアアップデート時の通信料金」を見積もることをお勧めします。
3G/LTEを使用したソフトウェアアップデート時に通信量が増大するため、「一回にかかる通信料金」を算出することで事前にかかる費用を把握することができます。