Skip to main content

LoRaWAN® ゲートウェイモジュール WM1302

pir

pir

LoRaWAN® は LoRa Alliance® からライセンスを受けて使用されているマークです。 LoRa® マークは Semtech Corporation またはその子会社の商標です。

note

私たちは最近、Wio-E5 モジュールをベースとした Wio-E5 シリーズをリリースしました。

こちらをクリックして、Wio-E5 Module Grove modulemini Dev boards から Development Kit まで、LoRa-E5 ファミリーの新しいメンバーをご覧ください。

STM32WL シリーズ用 STM32Cube MCU パッケージ(SDK)を使用して LoRaWAN® エンドノードを作成し、LoRaWAN® ネットワークに参加してデータを送信する方法について詳しく学ぶには、mini Dev boardsDevelopment Kit の wiki ページをご覧ください。

WM1302 モジュールは、mini-PCIe フォームファクターを採用した新世代の LoRaWAN® ゲートウェイモジュールです。Semtech® SX1302 ベースバンド LoRaWAN® チップをベースとした WM1302 は、ゲートウェイ製品の長距離無線伝送のより大きな潜在能力を解き放ちます。従来の SX1301 および SX1308 LoRa® チップと比較して、より高い感度、より少ない消費電力、より低い動作温度を特徴としています。

WM1302 LoRaWAN® ゲートウェイモジュールは、US915 と EU868 の両方の周波数帯域で SPI と USB バージョンを提供し、EU868、US915、AS923、AS920、AU915、KR920、IN865 を含む幅広い LoRaWAN® 周波数プランオプションから選択できます。

WM1302 モジュールは CE、FCC、Telec 認証を取得しており、LoRaWAN® ゲートウェイデバイスの開発と認証プロセスを簡素化するのに役立ちます。

WM1302 は M2M および IoT アプリケーション向けに設計されており、LPWAN ゲートウェイ対応シナリオで広く適用できます。LoRaWAN® ゲートウェイ、ホットスポットなどの LoRa® ゲートウェイデバイスを開発する際の技術的困難と時間消費を大幅に削減するための完璧な選択肢となるでしょう。

特徴

  • Semtech® SX1302 ベースバンド LoRa® チップを搭載、極めて低い消費電力と高性能。
  • 標準 52 ピンゴールドフィンガーを備えた Mini-PCIe フォームファクター、様々なゲートウェイデバイスとの統合が容易。
  • 超低動作温度、追加の放熱が不要で、LoRaWAN® ゲートウェイのサイズを削減。
  • 高感度 SX1250 TX/RX フロントエンドで SF12 時 -139 dBm まで対応;TX 出力は 3.3V で最大 26 dBm。
  • CE、FCC、TELEC 認証取得済み。最終製品の認証プロセスを簡素化。

ハードウェア概要

pir

ピン配置

pir

pir


Raspberry Pi ピン配置マッピング

40 ピン番号(BOARD#)Raspberry Pi GPIO(BCM#)WM1302 Pi HAT ピン配置
13.3VNC
25V5V
3GPIO 2I2C_SDA
45V5V
5GPIO 3I2C_SCL
6GNDGND
7GPIO 4NC
8GPIO 14GPS_RXD
9GNDGND
10GPIO 15GPS_TXD
11GPIO 17SX1302_RESET
SPI バージョン:アクティブ HIGH
USB バージョン:アクティブ LOW
12GPIO 18SX1262_BUSY
13GPIO 27NC
14GNDGND
15GPIO 22NC
16GPIO 23SX1262_DIO1
173.3VNC
18GPIO 24SX1262_DIO2
19GPIO 10SPI_MOSI
20GNDGND
21GPIO 9SPI_MISO
22GPIO 25GPS_RST
23GPIO 11SPI_SCK
24GPIO 8SX1302_CS
25GNDGND
26GPIO 7NC
27GPIO 0I2C_SDA(EEPROM)
28GPIO 1I2C_SCL(EEPROM)
29GPIO 5SX1262_RST
30GNDGND
31GPIO 6SX1262_CS
32GPIO 12GPS_WAKE_UP
33GPIO 13NC
34GNDGND
35GPIO 19NC
36GPIO 16NC
37GPIO 26NC
38GPIO 20NC
39GNDGND
40GPIO 21NC

仕様

地域EU868US915
周波数863-870MHz902-928MHz
感度-125dBm @125K/SF7
-139dBm @125K/SF12
-125dBm @125K/SF7
-139dBm @125K/SF12
TX 出力26 dBm(3.3V 電源供給時)25 dBm(3.3V 電源供給時)
LED電源:緑 設定:赤 TX:緑 RX:青
フォームファクターMini PCIe、52 ピンゴールドフィンガー
消費電力(SPI バージョン)スタンバイ:7.5 mA
TX 最大出力:415 mA
RX:40 mA
消費電力(USB バージョン)スタンバイ:20 mA
TX 最大出力:425 mA
RX:53 mA
LBT(Listen Before Talk)サポート
アンテナコネクタU.FL
動作温度-40°C to 85°C
寸法30 mm (幅) × 50.95 mm (長さ)
認証CE

アプリケーション

  • LPWANゲートウェイデバイス開発

  • あらゆる長距離無線通信アプリケーション開発

  • LoRa®およびLoRaWAN®アプリケーションの学習と研究

寸法

pir

入門ガイド

SPIバージョンとUSBバージョンの違い

WM1302 LoRaWAN®ゲートウェイモジュールSPIバージョンでは、Semtech SX1302とSX126xチップは、異なるチップセレクト(CS)ピンを使用して同じSPIバス経由でRaspberry Piに接続されます。

WM1302 LoRaWAN®ゲートウェイモジュールUSBバージョンでは、Semtech SX1302とSX126xチップはSTM32L4 MCUに接続され、この工場でプログラムされたMCUはUSBデバイスとして動作し、Raspberry PiとSX1302/SX126x間のブリッジとなります。

WM1302のクイックスタート

必要なハードウェア

  • WM1302 LoRaWAN®ゲートウェイモジュール

  • 40ピンGPIOヘッダー付きRaspberry Piボード(例:Raspberry Pi 4BまたはRaspberry 3B+)

  • Raspberry Pi用WM1302 Pi Hat

  • Raspberry Pi用電源アダプタ

  • LoRa®アンテナ

  • 8GB以上のSDカードとカードリーダー

  • WM1302 LoRaWAN®ゲートウェイモジュールUSBバージョンを使用する場合はType C USBケーブル

必要なソフトウェア


ステップ1. WM1302 Raspberry Pi Hatの取り付けとWM1302モジュールのインストール

まずRaspberry Piの電源を切り、以下の写真のようにWM1302モジュールをPi Hatに挿入してネジで固定します。

pir

ステップ2. Raspbian I2CおよびSPIインターフェースの有効化

WM1302モジュールはSPIおよびI2Cインターフェース経由でRaspberry Piと通信します。しかし、これら2つのインターフェースはRaspbianではデフォルトで有効になっていないため、開発者はWM1302を使用する前にそれらを有効にする必要があります。ここでは、SPIおよびI2Cインターフェースを有効にするコマンドライン方法を紹介します。

まず、SSH経由またはモニターを使用してRaspberry Piにログインし(Pi HatのGPSモジュールがPiのハードウェアUARTピンを占有するため、シリアルコンソールは使用しないでください)、コマンドラインでsudo raspi-configと入力してRaspberry Piソフトウェア設定ツールを開きます:

sudo raspi-config

pir

  1. Interface Optionsを選択

  2. SPIを選択し、Yesを選択して有効にする

  3. I2Cを選択し、Yesを選択して有効にする

  4. Serial Portを選択し、"Would you like a login shell..."に対してNoを選択し、"Would you like the serial port hardware..."に対してYesを選択

  5. この後、これらの設定が動作することを確認するためにRaspberry Piを再起動してください。

ステップ3. SX1302ソースコードの取得とコンパイル

それではgitをインストールし、githubからsx1302_hal(SX1302 LoRaゲートウェイ用ライブラリとプログラム)をダウンロードしましょう:

sudo apt update
sudo apt install -y git
cd ~
git clone https://github.com/Lora-net/sx1302_hal

sx1302_halフォルダに移動してすべてをコンパイルします:

cd ~/sx1302_hal
make

ステップ4. Semtech SX1302パケットフォワーダーの実行

reset_lgw.shpacket_forwarderフォルダにコピーし、テキストエディタnanoを使用してreset_lgw.shスクリプト内のSX1302およびSX1261のreset pinを変更します:

cp tools/reset_lgw.sh packet_forwarder/
cd packet_forwarder
nano tools/reset_lgw.sh

以下のようなデフォルトのreset pinが表示されます:

# GPIO mapping has to be adapted with HW
#

SX1302_RESET_PIN=23 # SX1302 reset
SX1302_POWER_EN_PIN=18 # SX1302 power enable
SX1261_RESET_PIN=22 # SX1261 reset (LBT / Spectral Scan)
AD5338R_RESET_PIN=13 # AD5338R reset (full-duplex CN490 reference design)

SX1302_RESET_PINSX1302_POWER_EN_PINSX1261_RESET_PINを以下のように変更します:

# GPIO mapping has to be adapted with HW
#

SX1302_RESET_PIN=588 # SX1302 reset
SX1302_POWER_EN_PIN=589 # SX1302 power enable
SX1261_RESET_PIN=576 # SX1261 reset (LBT / Spectral Scan)
AD5338R_RESET_PIN=13 # AD5338R reset (full-duplex CN490 reference design)

CTRL + xを押し、続いてyEnterを押してテキストエディタを閉じ、これらの変更を保存します。


以下の完全なスクリプトも参照できます:

reset_lgw.sh
#!/bin/sh

# This script is intended to be used on SX1302 CoreCell platform, it performs
# the following actions:
# - export/unpexort GPIO23 and GPIO18 used to reset the SX1302 chip and to enable the LDOs
# - export/unexport GPIO22 used to reset the optional SX1261 radio used for LBT/Spectral Scan
#
# Usage examples:
# ./reset_lgw.sh stop
# ./reset_lgw.sh start

# GPIO mapping has to be adapted with HW
#

SX1302_RESET_PIN=588 # SX1302 reset
SX1302_POWER_EN_PIN=589 # SX1302 power enable
SX1261_RESET_PIN=576 # SX1261 reset (LBT / Spectral Scan)
AD5338R_RESET_PIN=13 # AD5338R reset (full-duplex CN490 reference design)

WAIT_GPIO() {
sleep 0.1
}

init() {
# setup GPIOs
echo "$SX1302_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO
echo "$SX1261_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO
echo "$SX1302_POWER_EN_PIN" > /sys/class/gpio/export; WAIT_GPIO
echo "$AD5338R_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO

# set GPIOs as output
echo "out" > /sys/class/gpio/gpio$SX1302_RESET_PIN/direction; WAIT_GPIO
echo "out" > /sys/class/gpio/gpio$SX1261_RESET_PIN/direction; WAIT_GPIO
echo "out" > /sys/class/gpio/gpio$SX1302_POWER_EN_PIN/direction; WAIT_GPIO
echo "out" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/direction; WAIT_GPIO
}

reset() {
echo "CoreCell reset through GPIO$SX1302_RESET_PIN..."
echo "SX1261 reset through GPIO$SX1302_RESET_PIN..."
echo "CoreCell power enable through GPIO$SX1302_POWER_EN_PIN..."
echo "CoreCell ADC reset through GPIO$AD5338R_RESET_PIN..."

# write output for SX1302 CoreCell power_enable and reset
echo "1" > /sys/class/gpio/gpio$SX1302_POWER_EN_PIN/value; WAIT_GPIO

echo "1" > /sys/class/gpio/gpio$SX1302_RESET_PIN/value; WAIT_GPIO
echo "0" > /sys/class/gpio/gpio$SX1302_RESET_PIN/value; WAIT_GPIO

echo "0" > /sys/class/gpio/gpio$SX1261_RESET_PIN/value; WAIT_GPIO
echo "1" > /sys/class/gpio/gpio$SX1261_RESET_PIN/value; WAIT_GPIO

echo "0" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/value; WAIT_GPIO
echo "1" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/value; WAIT_GPIO
}

term() {
# cleanup all GPIOs
if [ -d /sys/class/gpio/gpio$SX1302_RESET_PIN ]
then
echo "$SX1302_RESET_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
if [ -d /sys/class/gpio/gpio$SX1261_RESET_PIN ]
then
echo "$SX1261_RESET_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
if [ -d /sys/class/gpio/gpio$SX1302_POWER_EN_PIN ]
then
echo "$SX1302_POWER_EN_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
if [ -d /sys/class/gpio/gpio$AD5338R_RESET_PIN ]
then
echo "$AD5338R_RESET_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
}

case "$1" in
start)
term # just in case
init
reset
;;
stop)
reset
term
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac

exit 0


使用しているモジュールに基づいて、対応するglobal_conf.json.sx1250.xxxxxで希望するLoRaWANネットワークサーバーserver_addressとゲートウェイEUI gateway_IDを選択し、up/down port1700に変更します。その後、以下のコードを実行してコンセントレータを開始します:

cd ~/sx1302_hal/packet_forwarder

# Please select one of the following comands based on your module
# for WM1302 LoRaWAN Gateway Module (SPI) - EU868
./lora_pkt_fwd -c global_conf.json.sx1250.EU868

# for WM1302 LoRaWAN Gateway Module (SPI) - US915
./lora_pkt_fwd -c global_conf.json.sx1250.US915

これで、パケットフォワーダーが正常に動作できるようになりました。LoRaWAN ネットワークサーバー(TTN や ChripStack など)にデータを正常に転送するには、サーバー側でいくつかの設定を行う必要があります。

そのためには、まず構築した Raspberry Pi ゲートウェイを LoRa ネットワークサーバーに登録する必要があります。TTN を例に取ると、TTN コンソール にログインし、左側のパネルの Gateways ボタンをクリックして Register gateway をクリックします。Gateway EUIGateway Server addressFrequency plan を入力し、他のオプションはデフォルト設定のままにします。

  • Gateway EUI: ゲートウェイの 64 ビット一意識別子。

  • Gateway Server address: ネットワークサーバーがデプロイされているクラスターの URL(例:eu1.cloud.thethings.network)。

  • Frequency plan: 地域に基づいて対応する周波数プランを設定します。ヨーロッパの場合は Europe 863-870 MHz (SF9 for RX2-recommended)、米国の場合は United States 902-928 MHz, FSB 2

pir


ゲートウェイの登録が正常に完了したら、CTRL + c を押して lora_pkt_fwd を停止し、global_conf.json.sx1250.xxxx 設定ファイルを編集・確認して、"gateway_ID""server_address" エントリが LNS の設定と正確に一致することを確認します。

    ...
"gateway_conf": {
"gateway_ID": "AA555A0000000000",
/* change with default server address/ports */
"server_address": "eu1.cloud.thethings.network",
"serv_port_up": 1700,
"serv_port_down": 1700,
...

./lora_pkt_fwd -c global_conf.json.sx1250.xxxxx コマンドを使用して lora_pkt_fwd を再起動すると、Raspberry Pi ゲートウェイが TTN に接続されていることを確認できるはずです。

FAQ

すべての設定が正しくても、デバイスがネットワークサーバーに参加できないのはなぜですか?

ハードウェアの違いにより、特定のモジュール(WM1302-US915 USB バージョン)がダウンリンクデータパケットを適切に送信できない場合があることが確認されています。この問題を修正するには、マクロ TX_JIT_DELAY(このマクロは /sx1302_hal/packet_forwarder/src/jitqueue.c にあります)の値を 40000 から 120000 に変更し、sx1302_hal を再作成してください。

ソース

認証

技術サポート & 製品ディスカッション

技術的な問題については、フォーラム に投稿してください。

弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。さまざまな好みやニーズに対応するため、複数のコミュニケーションチャンネルを提供しています。

Loading Comments...