広域・低電力無線

LTE-M(Cat-M1)

低速・低消費なセルラーIoT。移動体にも対応。

概要

LTE-M(LTE for Machine-Type Communications)は、3GPPが2016年のRelease 13で標準化した、IoT向けの低消費電力セルラー通信規格です。「Cat-M1(Category M1)」とも呼ばれます。既存のLTEネットワーク上で動作するため、携帯電話インフラをそのまま活用できることが最大のメリットです。

LTE-MはLPWA技術の一つとして位置づけられ、最大1Mbpsの通信速度・全国カバレッジ・移動体対応・VoLTE音声通話対応などの特徴を持ちます。NB-IoTより高速で移動中も通信できるため、スマートメーター・ウェアラブル・車載・物流追跡など幅広いIoT用途に適しています。

日本ではNTTドコモ・KDDI・ソフトバンクがLTE-Mサービスを提供しており、既存のSIMもしくはeSIMで利用可能です。

歴史・背景

スマートフォン向けに最適化されたLTEは、IoT機器に使うには過剰スペック・高コスト・高消費電力という課題がありました。2012年頃から3GPPでMTC(Machine-Type Communications)向けの簡略化仕様の検討が始まり、2016年のRelease 13でLTE-M(Cat-M1)とNB-IoTが正式に標準化されました。

2017年にはVerizon(米国)がLTE-Mの商用サービスを世界初開始。日本では2019年にNTTドコモが「LTE-M」サービスを開始し、その後KDDIとソフトバンクも追随しました。現在では世界100カ国以上でLTE-Mサービスが提供されており、グローバルでのローミング対応も進んでいます。

技術仕様

通信速度

方向Release 13 (Cat-M1)Release 14 (Cat-M2)
下り最大1Mbps(eMTC)最大4Mbps
上り最大1Mbps最大4Mbps

Half-Duplex(HD-FDD)モードでは下り最大375kbps・上り最大375kbpsに制限されます。実際のIoT用途ではHD-FDDモードで十分な場合がほとんどです。

帯域幅

LTE-Mは通常のLTEの1.4MHz帯域幅(PRBで6つ)を使用します。これはLTE標準の最小単位であり、既存LTE基地局のソフトウェアアップデートでLTE-M対応できます。

省電力機能

LTE-Mには2つの重要な省電力機能があります:

PSM(Power Saving Mode):

デバイスがネットワークに登録したまま実質的にオフ状態になる機能。
T3412タイマーでスリープ時間(最大310時間)を設定。
この間は着信・下りデータを受信不可。
スリープ中の消費電流: 数µA〜数十µA

eDRX(Extended Discontinuous Reception):

定期的に受信窓を開けて待ち受ける機能。
PSMより短い周期(最大2621秒)での受信窓を設定。
PSMより下りレイテンシを短くしたい場合に使用。
スリープ中の消費電流: 数十µA〜数百µA

カバレッジ向上(MCL)

LTE-Mは通常のLTEより15.5dBのカバレッジ向上(MCL: Maximum Coupling Loss)を実現:

  • 通常LTE: MCL = 140dBm
  • LTE-M: MCL = 155.7dBm(地下・建物内でも通信可能)

これはLoRaWANの157dBmには及ばないものの、屋内設置のメーター類には十分です。

VoLTE(音声通話)対応

LTE-MはVoLTE規格に基づく音声通話にも対応しています。これはNB-IoTにない特徴で、医療・警備・緊急通報が必要なIoT機器への応用が可能です。

動作原理

LTE-Mのネットワーク接続フロー

1. SIM初期化
   └─ SIMカードのATコマンド初期化
   
2. ネットワークアタッチ(EMM: EPS Mobility Management)
   └─ デバイス → eNB(基地局)→ MME(モビリティ管理エンティティ)
   └─ APN設定・PDNコネクション確立
   
3. データ通信(IP通信)
   └─ TCP/UDP/TLS over LTE-M
   
4. PSM移行(省電力)
   └─ TAU(Tracking Area Update)送信
   └─ T3324(アクティブタイマー)満了後にPSMへ
   └─ T3412(周期登録タイマー)満了後にネットワーク再登録

u-blox SARA-R410Mを使った実装例

#include <stdio.h>
#include <string.h>
#include "uart.h"

// LTE-Mモジュール(SARA-R410M)制御
// UART経由のATコマンドインターフェース

int ltem_initialize(void) {
    // 1. モジュール起動確認
    if (at_cmd("AT\r\n", "OK", 1000) != 0) return -1;

    // 2. LTE-Mのみに限定(NB-IoT無効)
    if (at_cmd("AT+URAT=7\r\n", "OK", 1000) != 0) return -1;

    // 3. APN設定(キャリアのAPN名)
    if (at_cmd("AT+CGDCONT=1,\"IP\",\"soracom.io\"\r\n", "OK", 1000) != 0) return -1;

    // 4. PSM有効化(T3412=1時間, T3324=4秒)
    // T3412: 001 00001 = 1時間 × 1 = 1時間
    // T3324: 000 00001 = 2秒 × 1 = 2秒(アクティブウィンドウ)
    if (at_cmd("AT+CPSMS=1,,,\"00100001\",\"00000001\"\r\n", "OK", 1000) != 0) return -1;

    // 5. ネットワーク接続
    if (at_cmd("AT+CGATT=1\r\n", "OK", 10000) != 0) return -1;

    return 0;
}

int ltem_send_http_post(const char *server, int port, 
                        const char *path, const uint8_t *data, int len) {
    char cmd[256];

    // TCPソケットオープン
    snprintf(cmd, sizeof(cmd),
        "AT+USOCR=6\r\n");  // プロトコル6=TCP
    at_cmd(cmd, "OK", 1000);

    // サーバーに接続
    snprintf(cmd, sizeof(cmd),
        "AT+USOCO=0,\"%s\",%d\r\n", server, port);
    at_cmd(cmd, "OK", 30000);

    // TLSオプション設定後、HTTPSで通信...
    // (省略: TLS証明書設定、HTTPS GETリクエスト等)

    return 0;
}

MQTT over LTE-Mの実装

IoTではMQTTプロトコルを使ってクラウドと通信するケースが多い:

// LTE-M + MQTT + TLS実装例(疑似コード)
void iot_main_task(void) {
    // 1. LTE-M接続
    ltem_initialize();
    
    // 2. MQTT接続(TLS 1.2使用)
    mqtt_config_t cfg = {
        .broker_host = "your-iot-platform.example.com",
        .broker_port = 8883,  // MQTTs(TLS)ポート
        .client_id   = device_id,
        .username    = mqtt_user,
        .password    = mqtt_pass,
        .tls_cert    = root_ca_cert,
    };
    mqtt_connect(&cfg);
    
    // 3. センサーデータ収集・送信ループ
    while (1) {
        sensor_data_t data = read_all_sensors();
        
        char json[256];
        snprintf(json, sizeof(json),
            "{\"temp\":%.1f,\"hum\":%.1f,\"bat\":%.2f}",
            data.temperature, data.humidity, data.battery_v);
        
        mqtt_publish("devices/" DEVICE_ID "/telemetry", json, strlen(json), 1);
        
        // PSMでスリープ(次の計測まで1時間)
        ltem_enter_psm(3600);
    }
}

用途・ユースケース

スマートメーター・公共インフラ

  • 電力・ガス・水道の遠隔検針
  • 既存LTE網を活用して全国展開が容易
  • PSM活用で年単位の電池寿命を実現

ウェアラブル・医療機器

  • スマートウォッチの通話機能(VoLTE活用)
  • 独居高齢者の見守りデバイス
  • 患者モニタリング機器(移動中でも通信継続)

物流・資産追跡

  • 輸送中のコンテナ・パッケージ追跡
  • GNSSと組み合わせたリアルタイム位置管理
  • LTE-Mの移動体対応(ハンドオーバー)が活きる

産業IoT

  • 工事現場の重機・工具の位置管理
  • 農業機械の作業ログ取得
  • 移動する作業員の安全管理

実装・開発のポイント

モジュール選定

主要なLTE-Mモジュール:

モジュールメーカー特徴
SARA-R410Mu-bloxグローバル対応、AT+USO* APIが豊富
BG77QuectelLTE-M + NB-IoT + GNSS統合
SLM320Sierra Wireless産業グレード
nRF9160Nordic SemiconductorLTE-M + NB-IoT + GNSS、低消費
EG25-GQuectelLTE Cat4 + LTE-M兼用

SIM・eSIM選定

LTE-MではSIMまたはeSIMが必要です:

  • 国内専用なら国内キャリアのIoT向けSIM(KDDI IoTコネクト等)
  • グローバル展開なら多国対応eSIM(Kore、Eseye等のMVNO)

OTA対応

LTE-Mの最大1Mbpsの通信速度は、OTAファームウェア更新に十分な帯域です。フォールバックなしにOTAできる点はLoRaWANより大きな優位点です:

OTA更新時間の目安(100kBファームウェアの場合):
LTE-M(上り375kbps = 47kBps): 約2.1秒
NB-IoT(上り63kbps = 7.9kBps): 約12.7秒
LoRaWAN SF7(5.5kbps = 687B/s): 約145秒

他技術との比較

LTE-M vs NB-IoT

比較項目LTE-M (Cat-M1)NB-IoT
最大下り速度1Mbps250kbps
最大上り速度1Mbps63kbps(Single Tone)
移動体(ハンドオーバー)対応非対応(固定設置向き)
VoLTE対応非対応
消費電力やや高め最低
OTA更新容易困難(低速)
カバレッジ(MCL)155.7dBm164dBm

移動する機器・音声が必要な機器・OTA更新が頻繁な用途はLTE-M、固定設置で超長寿命電池が必要な用途はNB-IoTという使い分けが基本です。

LTE-M vs LoRaWAN

比較項目LTE-MLoRaWAN
インフラ既存LTE網使用ゲートウェイ要設置
月額費用SIM費用発生ゲートウェイコストのみ
カバレッジ全国均一ゲートウェイ設置箇所に依存
データ容量大(最大1Mbps)小(50kbps以下)
移動体対応良好限定的

大量展開でコスト重視、かつカバレッジ自前構築ならLoRaWAN、全国カバレッジ・移動対応・OTA重視ならLTE-Mが有利です。

関連用語

参考リンク