GPSマルチユニットSORACOM Edition消費電力の研究

稼働時間計測中！

| 設定 | バッテリ持続時間 |
|:--|:--|
| センサ全て1分ごと | 4日8時間7分(実測1回目)<br>3日1時間35分(実測2回目) |
| センサ全て10分ごと | 6.5日 〜 7日(ソラコム情報) |
| GPS無し1分ごと | 6日13時間52分(実測1回目) |
| GPS無し10分ごと | 19日18時間50分(実測1回目) |

ソラコム情報は以下の記事からの引用です。
https://sorazine.soracom.jp/entry/2020/03/13/march-webinar-report

# はじめに

[ラズパイの消費電力](https://qiita.com/1stship/items/c8c6283940c1505ec918)、[Wio LTEの消費電力](https://qiita.com/1stship/items/7b99973b65934696bc91)に続いて、[GPSマルチユニットSORACOM Edition](https://soracom.jp/products/kit/gps_multiunit/)の消費電力をまとめました。
使用した電力計は[いつものやつ](https://www.hioki.co.jp/jp/products/detail/?product_key=660)です。ただ電力が測定できるだけじゃなく、アプリを使って電力波形が見れるから、内部動作を推測できて面白い。

# 使用機器

測定対象

- [GPSマルチユニットSORACOM Edition バッテリー内蔵タイプ](https://soracom.jp/products/kit/gps_multiunit/)
- [SORACOM Air SIM plan-D](https://soracom.jp/products/sim/plan-d/)

測定器

- [HIOKI PW3335-04 パワーメータ](https://www.hioki.co.jp/jp/products/detail/?product_key=660)

# GPSマルチユニットSORACOM Editionとは

公式の紹介文はこちら
https://soracom.jp/products/kit/gps_multiunit/

> 「位置情報（GPS）」「温度」「湿度」「加速度」の4つのセンサーと充電式バッテリーを内蔵し、 セルラーLPWAであるLTE-M通信がご利用可能なデバイスです。
京セラ社のGPSマルチユニットをベースに、ソラコムを利用するための設定が行われているソラコム独自モデルとなり、お客様はブラウザ操作のみでセンサー値や取得タイミング等の設定変更が可能で、簡単にIoTの仕組みを構築いただけます。

GPSを中心とした４つのセンサーがあり、SIMを内蔵することができて、SORACOMに接続するための設定も最初からできているため、電源をONするだけですぐに測定を開始することができます。またバッテリーで１〜２日程度駆動するため、移動中などでも手軽に使用することができます。

データはUnified Endpointという様々な用途で使用できるエンドポイントに送信されています。例えば一番簡単に使おうと思った場合、SORACOM Harvestにデータを送ると、送信されたデータをSORACOMで保存し、生データおよびシンプルなグラフで可視化できます。さらに高度な可視化をしたい場合は、SORACOM Lagoonにてカスタマイズされたグラフで表示できるほか、GPSの位置情報を地図上に表示させることもできます。

また、自社のサーバーと連携させたい場合はSORACOM Beam、AWSなどのクラウドサービスと連携させたい場合はSORACOM Funnel、クラウドで指定した処理をさせたい場合はSORACOM Funkと連携させることで、様々な形で連携することができます。まずHarvestで試してみてから、必要に応じて他のサービスを使って発展させる、というのがデバイスの設定を変えなくてもできるところがSORACOMの強みですね。

位置や加速度を簡単にリアルタイム閲覧し、クラウドで保存されたデータをまとめて閲覧したり解析したりできるところから、

> 社用車や物流コンテナの位置トラッキングや、オフィスや店舗、倉庫内の温度湿度の管理、建設現場の熱中症対策、工場の装置の温度湿度の管理および経年による機器の傾きの検知、農業や林業など農業や林業でのひとり作業の安全把握（位置トラッキングおよび転倒検知）

のような用途が考えられており、他にも色々な用途が考えられそうですね。

# 消費電力面の特長

GPSマルチユニットで採用されているセルラーLPWAであるLTE-M(LTE Cat.M1)では、従来のLTEと比較して省電力を実現する仕様があります。eDRX(extended Discontinuous Reception)とPSM（Power Saving Mode）の2つです。

LTEに限らず電波を扱うデバイスの場合、送信は電力消費は大きいものの自身のタイミングで決められるため、その瞬間のみの消費で良いのですが、受信はいつ受信があるかわからないため、いつでも受信できるようにするには、消費電力が大きめの受信状態を保つ必要があります。

従来のLTEでは1.28秒ごとに基地局から受信するモードになるDRX(Discontinuous Reception：間欠受信)を採用することで受信時の消費電力を削減していますが、LTE-MはDRXを拡張したeDRX(extended Discontinuous Reception)により、間欠受信の間隔を最大で43分まで延ばすことができます。人間が使うスマートフォンなどではある程度リアルタイム(これが1.28秒?)に受信に気付く必要がありますが、IoTの場合は多少反応が遅くとも許されるケースが多いので、思い切った省電力設定ができる、ということでしょう。

PSM（Power Saving Mode）はLTE接続を維持したまま、通信モジュールをパワーオフと同等の強力な省電力状態に最大13日間入れることができる、という機能です。

以下は、[GPSマルチユニットのハードウェア取扱説明書](https://www.kyocera.co.jp/prdct/telecom/office/iot/development/download/LU1CM012_LU1CM013_manual_201909.pdf)からの引用です。

![スクリーンショット 2020-02-23 7.01.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/f4a1fec3-56a5-d8c6-3a3f-70893fd7be40.png)

![スクリーンショット 2020-02-23 7.04.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/167d6e68-5fe9-7c97-15b9-d3b0290a06cb.png)

より強力な省電力モードであるPSMはデフォルトでは無効のようですね。さらに以下の記載もありました。

> PSMは、2019年4月現在、NTTドコモ回線をご使用のお客様は使用できません。

今後の対応は分かりませんが、現状ではドコモ回線(plan-D)ではPSMは使えないみたいですね。セルラー回線の機能はキャリアとの連携が必須であるため、キャリアによって対応状況が違うため、実際に導入を検討する際は、このあたりの調査も必要そうです。

# 消費電力の測定

以下の状況で１時間測定しました。

記録間隔:1分ごと / 10分ごと
対象センサー:なし / GPSのみ / 加速度のみ / 温度のみ / 湿度のみ / 全て

結果はこちら

| センサー | 1分ごと | 10分ごと |
|:--|:--|:--|
| なし | 154.909 mW | 134.046 mW |
| GPS | 197.379 mW | 152.960 mW |
| 加速度 | 153.651 mW | 133.896 mW |
| 温度 | 153.415 mW | 133.362 mW |
| 湿度 | 154.806 mW | 133.704 mW |
| 全て（窓際） | 201.162 mW | 155.382 mW |
| 全て（室内） | 263.099 mW | 161.148 mW |

あくまでも特定条件の測定結果であるため、参考情報程度としてください。特にセルラー回線とGPSは場所によって接続や測位にかかる時間がかなり変わるため、電波やGPSが入りにくいところだと消費電力がより高くなると想定されます。実際部屋の中でGPSの入りやすい窓際と入りにくい奥の方で測定したら、結果がかなり変わりました。

また、測定の都合上外部から電源を供給しているUSBの電源線で電力を測定しています。この場合、外部電源から内部電源に変換する際の電源効率や、いったんバッテリーに充電してからバッテリーに放電させるために発生する損失などがあり、実際の消費電力より高めに出ていると考えられます。

この結果から以下のことが読み取れます。

- 何も測定していなくても130mW程度の消費電力がある
- アップロードの間隔を広くすることで消費電力はそれなりに下がる
- 消費電力が上がる一番大きな要因はGPS
- GPSは電波状況により消費電力が大きく変動する
- GPS以外のセンサーの影響は誤差程度の影響しかない

次に消費電力の波形から考察してみましょう。

# 消費電力の波形からの考察

フルセンサーで1分ごとに測定した場合と、10分ごとに測定した場合の比較です。

![full-1-all.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/95068cbc-f882-44cc-dcf1-7a2aa25ccaa1.png)

![full-10-all.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/fb6675a5-f2b1-87b9-ca79-c678bd9975c6.png)

ここからは以下が読み取れます。

- 消費電力の下限が130mW程度である
- 700mW程度まであがるピークがある
- 細かいピークが出ている
- 細かいピークはしばらく経つと間隔が広がる
- ベースラインが260mW程度まで上がる期間がある
- ベースラインが上がる期間の長さは一定ではない

### 下限について

下限が130mWなのは、内部のCPUやLTE-Mモデム等を活かすのに最低限必要な電力と思われます。Wio LTEで測った時は下限が300mW程度だったのでそれよりは低いですが、それでも携帯して長時間動作させるものとしては大きめな感じがしますね。これを落とせないことには、長時間駆動は難しそうです。オートパワーオフして、タイマーで起動して次の測定、送信する、という機能がないとここは落とせない。

### 大きなピークについて

700mW程度のピークはセンサーデータの送受信だと思われます。ちなみにセンサーが無い状態であっても電波強度と電池残量はアップロードされますし、使っていないセンサー値はnullで送られます。以下はHarvestの受信データで、上はセンサー無し、下はGPS使用中のデータですが、使っていないtempやhumiなどのデータもnullで送られてきているため、データ量はあまり変わらないのですね。

<img width="1205" alt="harvest.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/15582312-3ad8-4092-d9c3-525818f1b65d.png">

ただ、過去の消費電力関連の記事の[ラズパイの回](https://qiita.com/1stship/items/c8c6283940c1505ec918)、[Wio LTEの回](https://qiita.com/1stship/items/7b99973b65934696bc91)でも見たように、パケット数が増えれば消費電力は上がりますが、１パケットの中のデータが増える分にはさほど上がらないことが分かっているので、さほど問題ないでしょう。

### 細かいピークについて

1分ごとで細かいピークが出ているのは、DRXの動作だと考えられます。拡大してみると以下のようになっています。

![full-1-start.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/922241f6-920e-e193-93f7-91b090de447a.png)

この細かいピークの間隔は約1.28秒であり、この間隔で基地局からの受信があるかを確認しています。この状態で一定時間通信がないと、eDRXの動作に切り替わります。

![full-10-start.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/be0a5d50-3411-62a1-4b15-b2b3f11caa0a.png)

ピークが出る間隔は20.48秒で、ピークは4回発生するので1.28秒×4回 = 5.12秒です。これは上の方で見たeDRXの初期設定と同じですね。ちゃんとeDRXの動作になっていることがわかります。これ以上低くはならないので、PSMなどそれ以上の省電力モードにはならないようですね。

### ベースラインが上がる箇所について

最後にベースラインがおおよそ倍になる箇所ですが、これはGPSを入れた時にしか出てこないので、GPSの測位によるものと考えられます。

![gps_10min_all.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/314e5fc2-123e-afcc-daef-b07f1455699d.png)

たとえば加速度センサだけの時には出てこないです。

![accelonly_10_all.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/b333bf33-7957-e3e6-3fea-270aa970af83.png)

GPS測位の厄介なところは、測位にかかる時間がまちまちなところですね。短い時間で終わることもあれば、1分以上かかってしまいアップロードデータにも影響が出ることもあります。[GPS マルチユニット SORACOM Edition制限と注意事項](https://dev.soracom.io/jp/gps_multiunit/limits/)にも以下の注意事項があります。

> GPSの値が取得しづらい場所では定期送信の間隔よりも長い間隔でデータを送信する場合があります。

これは仕方のないものなのでしょう。これはダイレクトに消費電力に効いてきてしまうので、屋外の利用なら問題ないと思いますが、屋内の利用であればGPSは切っておいた方が良いかも知れません。(何のためのGPSマルチユニットか、となりますが)

### 他のセンサーについて

他のセンサーで消費電力が変わらないのは、センサーの消費電力が小さいか、測定をOFFにしていてもセンサーへの電源供給が止まってない、などが考えられますね。Wio LTEなどではセンサーごとに電源供給ON / OFFができましたが、そのような回路構成になっていない場合状況によらず電源供給されていることはあり得ます。（あくまでも推測です）

# バッテリー駆動での消費電力、持続時間

ここまではUSB電源駆動での消費電力を見てきました。色々参考にはなりますが、本当のところ知りたいのはバッテリー駆動での性能ですよね。もっと言えば、バッテリーで何日持つかを知りたいところです。

バッテリー駆動では外部電源を内部の電源に変換したり、充放電する損失が小さくなるため、消費電力は上で測定したものより小さくなる可能性が高いです。また外部電源とつながっていると電源が強制的にONになり、電源をOFFした際の消費電力が確認できないため、GPSマルチユニットが内部で何らかのオートパワーオフ/オンによって省電力を実現していたとしても、それがわからなくなってしまいます。

ですがバッテリからの消費電力を直接測定するのは難しいです。交換できるタイプならまだ簡単なのですが、内部バッテリだとそもそも外に出ていないし、合ったとしても線が出ていなくて端子に直接接続の場合が多く、電力計への線を引き出すのが難しい。

で色々やっていたのですが、残念ですが色々やっている途中に微妙に壊してしまいました。動作はするけど消費電力がややおかしい。多分内部の何かの部品がすごく微妙に壊れた。その際の消費電力は信頼できないデータなので乗せられない。残念。参考までにこんな感じになりました。

![スクリーンショット 2020-02-24 8.21.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/c2d72f6b-4d47-a241-cca0-bfbc12543881.png)

波形は外部USB供給からのパターンと同じですが、ベースがかなり高くなってしまっている。バッテリー駆動の消費電力であれば、外部電源駆動での130mWより下がってもいいはずなのに上がってしまっています。また、外部電源状態に戻しても100mW程度上がってしまったので、何らかの異常が起こってしまったのでしょう。

ただこの波形を見る限り、おそらく**GPSマルチユニットにはオートパワーオフのような機能はない**、と考えられそうです。LTE送受信後の待機状態において消費電力が下がる、という挙動は見られませんでした。（ボタンでパワーオフすることはでき、そちらは下がりました）バッテリー駆動で間隔を長時間にしていてもLTEセッションが切れないことからも裏付けられます。ただし、この部分は測定自体がうまくできなかったので、間違っている可能性はあります。いつか再チャレンジしますかね。でもまた壊しそう。。

ということでひとまず「ベースの消費電力は下げられない」という認識で進めます。

バッテリ駆動の持続時間は[FAQ](https://dev.soracom.io/jp/gps_multiunit/faqs/)には

>「温度・湿度・加速度・位置情報 4 つのセンサーデータを 1 分に 1 回送信」した場合、平均で 1.5 日～ 2.0 日となりました。ただし、稼働時間は送信間隔に依存するため、例えば 10 分に 1 回の送信であれば稼働時間は大きく異なります。

とあります。これは消費電力が約200mWになるケースですね。GPSマルチユニットの電池の容量は取説を読むと、`リチウムイオン電池 (定格電圧: 3.7V、公称容量:1500mAh)`とされています。ギリギリで仕様に載せるということはおそらくないだろうから、1割マージンあるとして容量1650mAh、電力量でいえば6105mWhと考えます。（なお、バッテリは残量によってかなり出力電圧も変わりますが、それはマージンの範囲に入れました）外部電源駆動による損失は単純に、電流そのままで5Vが3.7Vに変換される（損失26%）と考えてみます。実際はこれよりは高いと思いますが。

ということで計算すると、

```math
(3.7[V] \times 1500[mAh] \times 1.1) \div (200[mW] \times 0.74) = 41.25h
```

おお、雑な推定の割にはそこそこあってますね。実際はこれにGPSやLTEの状況によって消費電力が変動するので、1日半 〜 2日となるのでしょう。

例えばGPS使わない、10分ごとのアップロードだと約133mWなので、

```math
(3.7[V] \times 1500[mAh] \times 1.1) \div (133[mW] \times 0.74) = 62.03h
```

2日半 〜 3日というところでしょうか。これは実測してみなければならないですね。とりあえず仮で置いておき、結果出ましたら追記します。

| 設定 | バッテリ持続時間 |
|:--|:--|
| センサ全て1分ごと | 4日8時間7分(実測1回目) |
| センサ全て10分ごと |  |
| GPS無し1分ごと | 6日13時間52分(実測1回目) |
| GPS無し10分ごと | 19日18時間50分(実測1回目) |

推定に反して5日くらいバッテリが持続したら、何らかの省電力機能が働いているということになりますね。

**2020/2/29 追記**

GPS無し10分ごとで確認中ですが、3日経った段階でバッテリ残量は3のままで、まだまだ持続しそうです。
良い条件でも3日しか電池保たない、ということはなさそうです。結果が出たら記載します。

**2020/3/13 追記**

GPS無し10分ごとで確認中ですが、16日経った段階でバッテリ残量は3のままです。

**2020/3/17 追記**

GPS無し10分ごとでの確認終了。結果は19日18時間50分でした。
1回測定しただけですが、想定をはるかに上回る結果でした。
バッテリ駆動時の消費電力は電源供給時の消費電力とは別に、ちゃんと測る必要がありそうですね。

# おわりに

GPSマルチユニットは個人でも買えてセンサ値のアップロード&可視化を簡単に試すことができ、さらに他サービスとの連携によりクラウドへ発展させていける、IoTの導入や学習の入り口として非常に分かりやすいデバイスだと思います。Lagoonで位置情報を地図にプロットすると面白いですよ。ここからIoTに興味ある人が増えると良いですね。

消費電力の面では、セルラーLPWAのLTE-Mの動作を見ることができました。今後のセルラー回線は人間・高機能デバイス向けの高速な回線と、センサーデバイス向けの省電力の回線に分かれていく、という見込みがあります。省電力回線はなかなか個人では試せないですが、SORACOMには個人でも使えるLTE-M回線があるので、ここでキャッチアップしていこうと思います。