GD6 ハードウェア設計: ESP32-S3、SX1302 とバックホール — ManThink
ManThink技術記事のカバー画像

この記事の内容

最初の記事では、GD6 オープンソース LoRaWAN ゲートウェイを製品として紹介しました。本記事ではハードウェアを開いて、各主要コンポーネントの選択の背景にある理由と、それに伴うエンジニアリング上のトレードオフを解説します。

GD6 のハードウェアは特殊なものではありません。メインコントローラとして ESP32-S3、LoRa コンセントレータとして Semtech SX1301 または SX1302、さらに Ethernet、Wi-Fi、オプションの 4G バックホールを備えています。しかし、これらすべてを屋内ゲートウェイの筐体内で確実に連携動作させつつ、システムをオープンソースかつカスタマイズ可能に保つには、いくつもの意図的なエンジニアリング判断が必要であり、それらは議論する価値があります。


メインコントローラ: なぜ ESP32-S3 の N8R8 なのか

GD6 は ESP32-S3-WROOM-1 を採用しており、具体的には N8R8 バリアントです。8 MB QIO Flash + 8 MB Octal PSRAM を搭載し、いずれも 80 MHz で動作します。

この選択は恣意的なものではありません。GD6 は単なる LoRa データフォワーダではなく、Web コンソールの実行、TLS 暗号化通信の処理、二つの MQTT 接続(データ転送用とリモート設定用)の維持、SPIFFS ファイルシステムの管理、A/B パーティション OTA 検証の実行を同時に行います。これらすべてを並行して実行することは、メモリに対して軽視できない要求を課します。

8 MB PSRAM が重要な理由

ESP32-S3 のオンチップ SRAM はわずか 512 KB であり、TLS 対応 Web サーバをマルチチャネル LoRa データバッファリングと並行して実行するにはまったく不足しています。Octal PSRAM は 80 MHz の帯域幅で 8 MB の追加メモリを提供し、高チャネル負荷時のデータバッファリングや同時 Web コンソールリクエストを処理するのに十分です。十分な PSRAM がなければ、高負荷動作時にパケットロスや Web 応答の遅延が生じる可能性があります。

8 MB Flash の割り当て

8 MB Flash は、アプリケーションファームウェア(A/B パーティションごとに一つずつ、計二つのコピー)、SPIFFS 設定ファイルシステム、Web 静的リソースファイルを収容する必要があります。A/B デュアルパーティション設計では、二つの完全なファームウェアイメージが同時に Flash に収まる必要があり、これが Flash 容量をあまり小さくできない主要な理由です。

なぜ ESP32 や STM32 ではないのか

従来の ESP32 は PSRAM サポートが限られており、ESP32-S3 の Octal PSRAM 帯域幅を持たないため、Web コンソール + TLS の性能が明らかに劣ります。STM32 シリーズの MCU は高性能ですが Wi-Fi を内蔵しておらず、外部 Wi-Fi モジュールの追加はコストと複雑さを増し、開発エコシステムも Web アプリケーションにとって ESP-IDF ほど親しみやすいものではありません。ESP32-S3 は性能、メモリ帯域幅、Wi-Fi 統合、オープンソースエコシステムのバランスを取っています。

上記の分析は、GD6 の公開仕様と ESP32-S3 の既知の機能に基づいています。ManThink の公式ドキュメントは選定理由を詳述していません。本節は仕様に基づくエンジニアリング分析です。


コンセントレータ: SX1301 と SX1302 の並行提供

GD6 は SX1301(型番サフィックス 1)と SX1302(型番サフィックス 2)の両方のコンセントレータオプションを提供しており、どちらか一方だけを選ぶわけではありません。

二つの世代の違い

SX1301 は Semtech の第一世代 LoRaWAN ベースバンドチップで、2015 年にリリースされました。実績が豊富で、コミュニティのドキュメントも充実しています。SX1302 は後継製品で、消費電力と感度の面で改善を提供し、ダイ面積も小さくなっています。

どちらも GD6 において同じ Type-A LoRa アーキテクチャを使用しています。すなわち、単一 LoRa アンテナ、8 周波数ポイント、65 チャネル、半二重です。つまり、RF チャネル能力はチップの選択にかかわらず同一であり、違いはチップ固有の性能特性にあります。

両方のオプションを維持する理由

プロジェクトごとに要件は異なります。コストと実績のある信頼性を優先する顧客には、SX1301 が妥当な選択です。より低い消費電力やより良い感度を必要とする顧客には、SX1302 がより適しています。型番サフィックスで区別することで選択が簡単になり、追加の設定に関する議論も不要です。

Type-A アーキテクチャの意味とその限界

Type-A は Semtech コンセントレータ向けの LoRa 構造設定です。単一 LoRa アンテナ、8 周波数ポイント、65 チャネル、半二重動作です。半二重とは、ゲートウェイが送信と受信を同時に行えないことを意味し、アップリンク受信スロット中にダウンリンクデータを送信できず、その逆も同様です。

これはほとんどの屋内シナリオには十分です。建物内のセンサ(温湿度、人員追跡、電力メータ)は通常、アップリンク頻度が低くダウンリンクコマンドも最小限であるため、半二重の切り替え遅延はボトルネックになりません。しかし、密なダウンリンクスケジューリングを必要とするシナリオ(例えば、多数の Class B/C デバイスへのマルチキャスト)では、半二重がダウンリンク容量を制限します。そのような場合には全二重ソリューションが必要になるかもしれません。

Type-A アーキテクチャの定義は GD61x の公式仕様に由来します。SX1301/SX1302 間の性能差は Semtech の公開資料と一般的な業界知識に基づいています。GD6 のマニュアルは一律の送信電力や感度の値を宣言していません。これらは特定の RF バージョン、フロントエンド、アンテナ構成に依存します。


この記事の知識をプロジェクトに活かす

ManThink(門思科技)は、デバイス接続、ネットワーク、データ活用に向けたIoT製品を提供しています。この記事の技術情報とあわせて、以下の製品情報をご覧ください。

PMC51x Mini-PCIe LoRa ゲートウェイモジュール · GD61 屋内用 LoRaWAN ゲートウェイ

ManThinkの製品を確認し、プロジェクトを相談する →

RF バージョン: なぜ GD614 と GD618 なのか

GD6 には二つの RF バージョンがあります。GD614(400 MHz クラス、CN470 と EU433 をサポート)と GD618(800 MHz クラス以上、EU868、AS923、AU915、US902 をサポート)です。

ソフトウェアでバンドを切り替えられない理由

これはよくある質問です。LoRa RF周波数はハードウェアによって決まります。RFフロントエンド(PA、LNA、フィルタ)とアンテナは特定の周波数帯向けに設計されています。400 MHzのアンテナは868 MHzでは極めて非効率であり、その逆も同様です。フロントエンドフィルタの通過帯域は周波数に固有です。

したがって、GD614ファームウェアはEU868オプションを提示せず、GD618はCN470を提示しません。これはソフトウェア上の制限ではなく、物理的な制限です。

広帯域版1つではなく2つのバージョンがある理由

理論上、広帯域RFフロントエンドは400~960 MHzをカバーできます。しかしこれはすべての帯域で性能を妥協することを意味します。フィルタの通過帯域が広いほど帯域外干渉が増え、PA効率は広い周波数範囲で一貫しません。2つのバージョンに分割することで、各バージョンのRFフロントエンドとアンテナを対象帯域に最適化でき、より良い性能と規制遵守が得られます。

グローバルカバレッジ戦略

2つのバージョンを合わせて世界の主要なLoRaWAN帯域をカバーします:

バージョン 周波数範囲 対応地域
GD614 400 MHzクラス CN470(中国)、EU433(欧州433)
GD618 800 MHzクラス以上 EU868(欧州868)、AS923-1~4(アジア太平洋)、AU915(オーストラリア)、US902(北米)

地域コードはRFハードウェアおよび現地の規制と一致している必要があります。型番内の US902 コードはLoRaWAN US915(902~928 MHz)地域パラメータに対応します。


バックホール: 自動フェイルオーバーを備えたトリプルリンク設計

GD6のバックホール設計は、同価格帯の多くのゲートウェイと一線を画す特長の一つです。すべてのゲートウェイがイーサネット、Wi-Fi、4Gを同時に提供しているわけではありません。

イーサネット: W5500

GD6はW5500イーサネットコントローラを採用しています。10/100 Mbps、RJ45インターフェースです。W5500はハードワイヤードTCP/IPスタックチップであり、イーサネットプロトコル処理はメインコントローラのCPUではなくチップ内部で行われます。これはESP32-S3にとって重要です。メインコントローラのサイクルはソフトウェアネットワークスタックの実行ではなく、LoRaデータ処理とWeb配信に必要だからです。

イーサネットはDHCPまたは静的IPをサポートし、ゲートウェイおよびプライマリ/セカンダリDNSを設定可能です。Webコンソールには「Ethernet Power」オプションがあり、ゲートウェイ内部のイーサネットコントローラの実行時電源を制御します。これは外部へのPoE出力ではありません。

Wi-Fi: AP + STAの同時動作

ESP32-S3内蔵の2.4 GHz Wi-Fiは、AP(ホットスポット)とSTA(クライアント)の同時動作をサポートします。つまり、ゲートウェイはバックホールリンクとして現地のWi-Fiに(STAとして)接続しながら、同時にローカル管理用の LGW-Config ホットスポット(AP)を提供できます。

AP + STA同時動作の設計上の考慮点:

  • STAモード はバックホールリンクとして機能し、現地のWi-Fiに接続します。有線ネットワークのない展開に適しています。
  • APモード はバックホールリンクとは独立して動作し、常にローカル設定のエントリポイントを提供します。すべてのバックホールリンクが失敗しても、管理者はホットスポットに接続し、次のアドレスでWebコンソールにアクセスして 192.168.4.1 トラブルシューティングを行えます。
  • デフォルトのホットスポットSSID: LGW-Config、パスワード: lgw12345678、管理アドレス: 192.168.4.1。

4G: LTE Cat 1 + miniPCIe

4Gはオプション構成です(型番 G は4GとPoEを含み、 N は含みません)。4GモジュールはminiPCIeインターフェースを使用し、異なるキャリア周波数帯に合わせて交換できます。

デフォルトの4GモジュールはLTE Cat 1で、以下の帯域をサポートします:

種類 帯域
LTE-FDD B1 / B3 / B5 / B8
LTE-TDD B34 / B38 / B39 / B40 / B41

LTE Cat 1の位置づけ: 上り/下り速度はLoRaWANゲートウェイのバックホール(通常毎秒数十KB)に十分すぎるほどであり、消費電力とコストはCat 4/6モジュールよりはるかに低いです。有線ネットワークのない産業現場や一時的な展開には、Cat 1はコスト効率の良い選択です。

miniPCIeインターフェースによりモジュール交換が可能です。プロジェクトが海外に展開される場合、ゲートウェイ全体を交換せずに現地の帯域をサポートする4Gモジュールを取り付けられます。SIMカードは外部スロットを使用します。SIMにPINが設定されている場合は、Webコンソールで入力する必要があります(4~8桁)。

リンク優先度と自動フェイルオーバー

デフォルトのリンク優先度: イーサネット > Wi-Fi STA > 4G。

  • イーサネットとWi-Fi STAは自動のプライマリ/バックアップフェイルオーバーを提供します。イーサネットが正常なときはイーサネットを使用し、障害時にはトラフィックがWi-Fi STAに切り替わります。
  • 4G搭載モデルではこれが第3のリンクとして追加されます。イーサネットとWi-Fi STAの両方が利用できない場合、トラフィックは4Gに切り替わります。

この設計の意義: ほとんどの屋内シナリオでは、イーサネットがプライマリリンク、Wi-Fiがバックアップ、4Gが最後の手段です。3つのリンクすべてが同時に失敗する確率は極めて低く、バックホールの信頼性を大幅に向上させます。


電源供給: 3つのオプションと1つの制約

GD6は3つの電源供給方法をサポートします:

方法 電圧 用途
Type-C 5V DC デスクトップでのデバッグ、開発
DC端子 5~24V DC 産業用広電圧電源
PoE RJ45経由 AG構成のみ — 1本のケーブルで電力とデータを供給

PoEが4Gとバンドルされる理由

PoEは G 構成(4GとPoEの両方を含む)でのみ利用可能です。このバンドル化の論理は妥当です。PoEは主に配線を簡素化する必要がある展開(例: 電源ケーブルの配線が現実的でない天井設置)に用いられ、こうしたシナリオでは4Gバックホールも必要となることがよくあります(有線ネットワークのない場所は通常電源コンセントもありません)。この2つをまとめることで、「ネットワークなし、電源なし」の遠隔屋内展開のケースをカバーします。

一方、 N 構成(4Gなし)は、イーサネットと電源が利用可能な標準的な屋内シナリオを対象としており、PoEは不要です。

複数の電源を同時に使用することが推奨されない理由

マニュアルには、複数の電源を同時に接続することは推奨されないと明記されています。電源経路間に理想的なORing回路がない場合、同時接続は電流の逆流や電圧の競合を引き起こす可能性があります。GD6は、ユーザーが1つの電源方式を選択するように設計されており、電源の冗長化を目的としたものではありません。プロジェクトで電源の冗長性が必要な場合は、外部UPSで解決すべきであり、Type-CとDCを同時に接続して解決するものではありません。

A+ / B- 端子

DC端子台には4つの位置があります: 5–24V、 G、 A+、 B-。 A+ および B- は予約されたRS-485インターフェースであり、現行バージョンではユーザー機能はありません。マニュアルは、これらの端子に電源を接続しないよう警告しています。


A/BデュアルパーティションOTA:設計からリカバリまで

GD6のファームウェアアップグレードはA/Bデュアルパーティション設計を採用しており、バックアップ付きシングルパーティションよりも堅牢な方式です。

仕組み

  1. ゲートウェイのFlashには2つのファームウェアパーティション(AとB)が含まれています。一方がアクティブで、もう一方は非アクティブです。
  2. アップグレード中、新しいファームウェアは非アクティブパーティションに書き込まれます。
  3. 書き込み完了後、ファームウェアが検証されます。
  4. 検証に合格すると、起動パーティションが新しく書き込まれた方に切り替わります。
  5. 次回の起動時には新しいパーティションから読み込まれます。

中断からのリカバリ

アップグレード中に停電、ネットワーク切断、または検証失敗が発生した場合:

  • 新しいファームウェアが完全に書き込まれていない、または検証に失敗した → 起動パーティションは切り替わらず → デバイスは元のアクティブパーティションから正常に起動します。
  • 新しいファームウェアは書き込まれたが起動に失敗した → マニュアルは自動再起動を待つことを推奨しています。それでもアクセスできない場合は、Wi-Fi APまたは制御されたシリアルリカバリを使用してください。電源の再投入を繰り返さないでください。

シングルパーティション+バックアップではなくA/Bを採用する理由

シングルパーティション+バックアップ方式では、バックアップパーティションには通常、限られた機能しか持たない最小限のリカバリイメージのみが格納されます。A/B方式では、両方のパーティションに完全なファームウェアが含まれるため、常に完全に使用可能なシステムが利用できます。アップグレード後に問題が見つかった場合、再書き込みなしで以前のバージョンに戻すことができます。

トレードオフはFlash容量です。2つの完全なファームウェアパーティションはシングルパーティションの2倍の容量を消費します。これがGD6が8 MBのFlashを必要とする理由の1つです。

ファームウェアの入手元

ファームウェア .bin ファイルは自作可能です。GD6のファームウェアとWeb設定システムはGitHubでオープンソース化されています(github.com/ManThink/gd6-open)。Webコンソールの「Firmware Upgrade」ページからアップロードして書き込んでください。

マニュアルは警告しています:完全なFlash製造イメージをWeb OTAファームウェアとしてアップロードしないでください。ゲートウェイのモデル、ハードウェアバージョン、および対象地域に一致する .bin ファームウェアを使用してください。


ストレージと設定:SPIFFSとweb/ディレクトリの保護

SPIFFSファイルシステム

GD6は設定保存にSPIFFS(SPI Flash File System)を使用しています。 /spiffs 配下の設定JSONファイルが、ネットワーク、LoRaWAN、MQTTなどすべての設定を保存します。設定は再起動後に有効になり、停電後も保持されます。

Webコンソールの「File System」ページでは /spiffs ファイルを直接管理でき、設定JSONの表示と編集をサポートします。これにより深いカスタマイズへの道が開かれます。上級ユーザーはWebインターフェースで公開されているオプションを超えて、設定ファイルを直接変更できます。

web/ディレクトリの保護

/spiffs/web/ ディレクトリにはWebコンソールの静的リソース(HTML、CSS、JS)が格納されています。マニュアルには明確な警告があります:

  • 上書きすると web/ ファイルによってコンソールにアクセスできなくなる可能性があります。
  • 工場出荷時リセットでは ません 損傷したWebファイルは復元され
  • 制御されたメンテナンスを行う場合を除き、このディレクトリを変更しないでください。

この設計はやや逆説的です。ファイルシステムはオープンですが、Webリソースファイルは立入禁止です。実際には、これは合理的な階層化です。設定ファイルはユーザーのカスタマイズ用にオープンであり、Webリソースは変更リスクが高く通常の使用範囲外のシステムコンポーネントです。Webインターフェースのカスタマイズが本当に必要な場合、正しい方法はソースからビルドすることであり、オンラインでファイルを上書きすることではありません。

停電に安全な設定

SPIFFSがFlashに書き込むと、データは永続化されRAMに依存しません。つまり、書き込み直後に停電しても設定は保持されます。ただし、設定変更は有効になるために再起動が必要です。設定JSONを変更した後、新しい設定を適用するにはゲートウェイを再起動する必要があります。

工場出荷時リセットの範囲

RECボタンを2秒間押し続けると、工場出荷時リセットが実行されます。範囲は次のとおりです:

  • リセット:ネットワーク、LoRaWAN、MQTT、リモート設定、4G設定、ログインパスワード( wifi!0804に戻ります)。
  • 保持:書き込まれたGateway EUI。
  • 復元されない:Web静的ファイル(web/ ディレクトリ)。

Gateway EUIはゲートウェイの一意の識別子であり、通常は工場出荷時または初回設定時に書き込まれます。工場出荷時リセット後も保持されるため、ネットワークサーバー上のゲートウェイの登録がリセットによって無効になることはありません。


その他のハードウェア設計の詳細

アンテナ設計

GD6ではLoRaアンテナのみが外付け(SMAコネクタ)です。Wi-Fiおよび4Gアンテナは内蔵です。この設計により外部配線が削減され、設置が簡素化されます。ユーザーは1本のアンテナを接続するだけで済みます。

マニュアルは強調しています: 電源投入前にLoRaアンテナを接続してください。アンテナを接続せずにLoRaコンセントレータから送信すると、フロントエンドPAが損傷します。

LEDインジケータ

状態 パターン 意味
通常動作 低速点滅(1s点灯 / 1s消灯) システムは正常に動作中
工場出荷時リセット 2sで点灯 → 3回の高速点滅 → 再起動 工場出荷時リセットを実行中

LEDパターンは最小限であり、主に動作状態と工場出荷時リセットの進行状況を示します。詳細なリンク状態(Ethernet/Wi-Fi/4G接続状態、LoRaサービス状態)については、Webコンソールの概要ページを参照する必要があります。

RS-485予約インターフェース

A+ と B- DCブロック上の端子は予約されたRS-485インターフェースであり、現行バージョンではユーザー機能はありません。これらは将来またはカスタムバージョン向けに予約された拡張インターフェースである可能性があります。

物理的な設置

底面の回転ブラケットを使用したデスクトップ設置または壁面取り付け。マニュアルでは底面の通気孔を塞がないよう警告しています。ESP32-S3 + SX1302 + 4Gモジュールは全負荷時にある程度の発熱があり、底面の通気はパッシブ冷却設計の一部です。


ハードウェア仕様の概要

カテゴリ 仕様
メインコントローラ ESP32-S3-WROOM-1 N8R8
フラッシュ 8 MB QIO、80 MHz
PSRAM 8 MB Octal、80 MHz
LoRaコンセントレータ Semtech SX1301(サフィックス1)またはSX1302(サフィックス2)
LoRaアーキテクチャ Type-A: 単一アンテナ、8周波数ポイント、65チャネル、半二重
チャネル帯域幅 マルチチャネルデフォルト125 kHz、LoRa Stdは設定可能
RFバージョン GD614(400 MHzクラス)/ GD618(800 MHzクラス以上)
地域サポート CN470、EU433、EU868、AS923(1~4)、AU915、US902
Ethernet W5500、10/100 Mbps、RJ45
Wi-Fi 2.4 GHz、AP + STA同時動作
4G(オプション) LTE Cat 1、miniPCIe、交換可能モジュール
4Gバンド(デフォルトモジュール) FDD: B1/B3/B5/B8、TDD: B34/B38/B39/B40/B41
リンクフェイルオーバー Ethernet > Wi-Fi STA > 4G、自動
電源供給 Type-C 5V / DC 5–24V / PoE(AG構成のみ)
OTA A/Bデュアルパーティション
設定ストレージ SPIFFS、停電安全
管理 Webコンソール(CN/EN)、REST API、リモートMQTT
セキュリティ TLS証明書、Token認証、パスワードログイン
アンテナ LoRa外部、Wi-Fi / 4G内蔵
設置 回転ブラケットによるデスクトップまたは壁面取り付け

まとめ

GD6のハードウェア設計思想は次のように要約できます。 実績のあるチップソリューションを採用して信頼性の高いエンジニアリング実装を行い、ソフトウェアとオープンソース層に柔軟性を残す。

ESP32-S3 N8R8の選択は性能限界を追求することではなく、メモリ、Wi-Fi統合、開発エコシステム、コストの間のバランスポイントを見つけることです。SX1301とSX1302の両方を提供することは技術的な優柔不断ではなく、異なるプロジェクトニーズをカバーするものです。トリプルリンクバックホール + A/BデュアルパーティションOTA + SPIFFS設定管理の組み合わせにより、このゲートウェイは「プラグアンドプレイ」と「深いカスタマイズ性」の間に合理的な位置づけを得ています。

次の記事ではハードウェアからソフトウェアへ移り、GD6オープンソースリポジトリの使用方法を説明します。コードのクローン、ファームウェアのビルド、Web設定システムのカスタマイズ、REST APIの呼び出しです。


関連リンク


ManThink — IoT開発をより効率的に。

ManThink:デバイス接続からデータ活用まで

新規導入や既存システムの更新をご検討中ですか。導入地域、デバイス数、現場のインターフェース、通信・電源環境をManThinkにお知らせください。製品選定やシステム連携の要件についてご相談いただけます。

PMC51x Mini-PCIe LoRa ゲートウェイモジュール

PMC51x — PMC51x は GD6 シリーズの LoRa 無線モジュールで、Mini-PCIe 形状と SPI ホストインターフェースを採用しています。SX1302 を搭載し、8 系統の並列受信と 1 系統の送信に対応する、ゲートウェイ組み込み用モジュールです。

公式製品情報を見る →

GD61 屋内用 LoRaWAN ゲートウェイ

GD61 — Ethernet、Wi-Fi、オプションの 4G に対応する導入しやすい屋内ゲートウェイ。Web コンソールでネットワークと機器を管理できます。ESP32-S3 ベース。ThinkLink は内蔵せず、クラウドまたは独立導入したプラットフォームに接続します。

公式製品情報を見る →

ManThinkにプロジェクトを相談する →

具体的な機種、構成、適用条件は、公式製品情報とプロジェクト要件に基づいてご確認ください。

関連記事