LPWAを個人で使うならLoRaが最適！LoRaとLoRaWANの違い＆自宅での運用例も紹介

## IoTで注目される「LPWA」とは？

LPWA（Low Power Wide Area）とは、
省電力で広範囲に通信できる無線技術の総称です。

* 電池1本で長時間動作
* 数km以上の通信が可能
* 少量のデータをやりとりするのに最適

こういった特性から、センサーやモニタリング用途のIoTに最適とされ、さまざまな方式が登場しています。

## 主要なLPWA方式の比較

| 特性      | LoRa             | Sigfox       | NB-IoT       |
| ------- | ---------------- | ------------ | ------------ |
| 通信距離    | 数km〜20km超（※見通し時） | 数km〜40km（郊外） | LTE圏内（〜10km） |
| 通信速度    | 数kbps            | 数十〜百bps      | 最大250kbps    |
| 消費電力    | μA〜mA（非常に低）      | 極めて低い        | 高め（mA〜）      |
| 通信コスト   | **不要（自営可）**      | 契約必要         | SIM契約・月額あり   |
| インフラ依存性 | 自営OK             | Sigfox基地局必須  | 携帯キャリア必須     |
| 自由度     | **非常に高い**        | 極めて低い        | 中〜低          |

LoRaだけが**自営可能で、コストも不要**という特性を持っており、個人や小規模開発において圧倒的に導入しやすい方式です。

> 📌 通信距離は「見通し距離」の場合であり、都市部や屋内では障害物・電波干渉の影響を大きく受けます。実運用では距離は環境により大きく変動します。

📊 各方式のスループット（実効データ速度）は以下の通りです：

LoRa：おおよそ 100〜1000bps（Spreading Factorや帯域幅により変動／実効値）
Sigfox：最大 100bps（上り12バイト/メッセージ制限）
NB-IoT：最大 60〜150kbps（実効値、LTE網依存）

これらは「理論値」ではなく、実際の運用におけるおおよその実効スループットを示しています。
>📌 特にLoRaは、無線の通信速度（PHY速度）は条件次第で数kbpsに達しますが、実際に送れるデータ量（スループット）は数百bps程度にとどまります。連続送信にも制限があり、法令上の送信時間制限（例：4秒/回以内、1時間あたり360秒以内）や待機時間の制御が必要です。

## LoRaとLoRaWANの違い

名前が似ていますが、この2つは明確に異なります：

* **LoRa**：物理層の無線方式（Chirp Spread Spectrum）
* **LoRaWAN**：LoRaを利用したネットワークプロトコル

LoRaは単なる電波の飛ばし方。
LoRaWANはその電波を使って、セキュリティ・通信制御・ネットワーク管理を行う仕組みです。

> LoRa = "道路"
> LoRaWAN = "交通ルール"

という例えがよく使われます。

LoRaWAN方式を使えば、異なるメーカーの端末とゲートウェイでも相互運用が可能になります（相互接続性）。そのため、オープンな環境で複数のデバイスを扱う場合には非常に便利です。
ただし、ネットワークサーバーなどの準備が必要なため、構成はやや複雑です。特にTTNなどのオープンプラットフォームを使う場合も、ネットワーク設定・サーバ連携など、Web系の知識が必要になります。

## プライベート（独自）方式が使える

LoRaはLoRaWANを使わなくても、無線方式単体で端末同士の直接通信が可能です。  
いわゆる「プライベート方式（独自プロトコル）」と呼ばれる構成で、ゲートウェイやサーバを使わずにシンプルな通信が実現できます。
技適の範囲内であれば、LoRaWANの仕組みにとらわれずに、独自プロトコルを使って通信することも問題ありません。
このため、小規模なシステムや実験、限定的な用途にも柔軟に対応できます。

📌 LPWAの中で「端末間通信（デバイスtoデバイス）」が可能なのはLoRaのみです。SigfoxやNB-IoTは基地局（インフラ）を介したサーバー通信型の構造であり、端末同士が直接通信することはできません。

## なぜLoRaが個人開発に向いているのか？

LPWAの中で、LoRaが個人開発に向いている理由は次のとおりです：

* 自分でネットワークを構築できる（ゲートウェイ含む）
* 端末同士での通信が可能（プライベート方式）
* ランニングコストがかからない
* 法令を守れば免許不要で使える
* 構成が柔軟で、アプリケーションの自由度が高い

> 📌 技適認証済みのLoRa端末同士であれば、日本国内では免許や無線局の登録なしで自由に利用できます。
> 一方で、LoRaWAN用のゲートウェイは「基地局クラス」の機器として技適認証されているため、たとえ技適を取得していても、**原則として総務省への無線局登録が必要**になります（例：Dragino LPS8、RAK7244などの小型ゲートウェイも含まれます）。詳細は、[以前の記事](https://qiita.com/shachi-lab/items/835b73c8129daa0a39d6)を参考にしてください

商用利用も見据えたLoRaWAN運用も可能ですが、まずは小さく始めるという点ではLoRaが最も手軽です。
個人用途では、この自由度の高さが特に役立ちます。

## LPWAを始めるならLoRaから

| 比較軸      | LoRaが向いている理由          |
| -------- | --------------------- |
| コスト      | 通信契約が不要、自営可能          |
| スタートの簡単さ | 必要最小限の構成でテスト・実験が可能    |
| スケーラビリティ | 個人用途から商用LoRaWANまで対応可能 |
| 自由度      | 構成・通信内容・周波数設計まで柔軟に選べる |

まずはプライベート方式で構成を試してみて、必要に応じてLoRaWANへと発展させるのが現実的です。

## 自宅でのLoRaWAN運用例

私は現在、自宅でLoRaWANを実際に運用しています。  

センサーデバイスに使用しているのは、LRA1モジュールを搭載した評価ボード（LRA1-EB）です。
このボードにはBOSCH BME280 が搭載されているので、気温、湿度、気圧の計測が可能です。
地下室と3Fテラスの2箇所に設置していて、単三乾電池x２本で数カ月間動作しています。
![LoRaWAN_LRA1-EB_w400.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4079959/a167b353-c52a-428e-b5c3-9061ccd1266c.jpeg)

このデバイスが定期的に温度や湿度のデータをLoRa通信で送信し、
自宅屋上のアンテナポールに設置したゲートウェイ（Dragino LPS-8S）で受信しています。
このゲートウエイは無線局登録も済ませ、合法的なLoRaWAN運用を行っています。
標準添付のアンテナを塩ビパイプで延長して、収納ボックス内に本体を収めています。  

![LoRaWAN_Gateway_w400.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4079959/10701742-bd3d-452d-9b1a-8a5da42c81ae.jpeg)

ゲートウェイは、インターネットを通じて The Things Network（TTN）のLoRaWANサーバーと接続されています。  
TTNに届いたデータは、以下の2系統に送信して活用しています：

- Webhook経由でlolipopサーバー（PHP＋MySQL）に送信し、Webビューアで可視化
- MQTT経由でM5Stackに転送し、表示や音声フィードバック用の端末として活用

![LoRaWAN_M5Stack_w400.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4079959/2fc81034-dcfb-4ea6-85fc-e3f6375803c6.jpeg)

以下は、実際にTTNからMQTTでM5Stackに送信されたデータの一例です。

<details>
<summary>📦 MQTTのJSON（クリックで全体を展開表示）</summary>
<pre><code>{
  "name": "as.up.data.forward",
  "time": "2025-06-06T09:59:39.713488470Z",
  "identifiers": [
    {
      "device_ids": {
        "device_id": "eui-70b3d559e01d27a8",
        "application_ids": {
          "application_id": "app-lra1-test"
        },
        "dev_eui": "70B3D559E01D27A8",
        "join_eui": "0000000000000000",
        "dev_addr": "260C85A7"
      }
    }
  ],
  "data": {
    "@type": "type.googleapis.com/ttn.lorawan.v3.ApplicationUp",
    "end_device_ids": {
      "device_id": "eui-70b3d559e01d27a8",
      "application_ids": {
        "application_id": "app-lra1-test"
      },
      "dev_eui": "70B3D559E01D27A8",
      "join_eui": "0000000000000000",
      "dev_addr": "260C85A7"
    },
    "correlation_ids": [
      "gs:uplink:01JX2AX37H2E6NYNEVDQH70N1N"
    ],
    "received_at": "2025-06-06T09:59:39.710603250Z",
    "uplink_message": {
      "session_key_id": "AZbIp959g4CNNL98Bt7jLA==",
      "f_port": 1,
      "f_cnt": 3447,
      "frm_payload": "yABOAn4nfAs=",
      "decoded_payload": {
        "absolute_humidity": 10.21,
        "barometric_pressure": 1011,
        "batt_voltage": 2.94,
        "relative_humidity": 59,
        "temperature": 20,
        "time_jst": "2025-06-06 18:59:39"
      },
      "rx_metadata": [
        {
          "gateway_ids": {
            "gateway_id": "dragino-a840411fa550",
            "eui": "A840411FA5504150"
          },
          "time": "2025-06-06T09:59:39.448890Z",
          "timestamp": 2725990428,
          "rssi": -112,
          "channel_rssi": -112,
          "snr": 2.5,
          "location": {
            "latitude": 35.7105000,
            "longitude": 139.7073000,
            "altitude": 30,
            "source": "SOURCE_REGISTRY"
          },
          "uplink_token": "CiIKIAoUZHJhZ2luby1hODQwNDExZmE1NTASCKhAQR+lUEFQEJyg7ZMKGgwIi/iKwgYQ9uHS8AEg4NrDjauihgM=",
          "channel_index": 2,
          "received_at": "2025-06-06T09:59:39.447381822Z"
        }
      ],
      "settings": {
        "data_rate": {
          "lora": {
            "bandwidth": 125000,
            "spreading_factor": 10,
            "coding_rate": "4/5"
          }
        },
        "frequency": "923600000",
        "timestamp": 2725990428,
        "time": "2025-06-06T09:59:39.448890Z"
      },
      "received_at": "2025-06-06T09:59:39.506063116Z",
      "confirmed": true,
      "consumed_airtime": "0.370688s",
      "network_ids": {
        "net_id": "000013",
        "ns_id": "EC656E0000000182",
        "tenant_id": "ttn",
        "cluster_id": "nam1",
        "cluster_address": "nam1.cloud.thethings.network"
      }
    }
  },
  "correlation_ids": [
    "gs:uplink:01JX2AX37H2E6NYNEVDQH70N1N"
  ],
  "origin": "ip-10-101-15-220.us-west-1.compute.internal",
  "context": {
    "tenant-id": "CgN0dG4="
  },
  "visibility": {
    "rights": [
      "RIGHT_APPLICATION_TRAFFIC_READ"
    ]
  },
  "unique_id": "01JX2AX3E15Z63BFANT5ACYMR4"
}</code></pre>
</details>  

このようなデーターがwebhookやMQTTで送られてきます。

個人レベルでもLPWA（特にLoRa）は十分に実運用が可能であり、構築や運用もそこまで難しくありません。
機器の費用はかかりますが、ランニングコストはほとんどかかっていません。
構成の詳細や、実際のデータ処理フロー、Webhookやビューアについては、今後の記事で紹介していく予定です。

> 🎀「わぁ〜っ✨ センサーデータが雲の上を通って、M5StackやWebに届くっていう流れ！  
> これ全部、個人が本当に組んだ構成なんだから、参考にしてほしいよねっ📡📦」

---

ちなみに──
こちらのブログで実際の活用事例を紹介しているので、よかったらのぞいてみてください📡✨

👉 [https://blog.shachi-lab.com](https://blog.shachi-lab.com)